Skip to content

Update build_and_publish.yml (#1) #27

Update build_and_publish.yml (#1)

Update build_and_publish.yml (#1) #27

name: Build And Publish
# Controls when the workflow will run
on:
# Triggers the workflow on push or pull request events for the "main" branch
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
# A workflow is made up of jobs that can run sequentially or in parallel
jobs:
# Job for building the LateX files
build:
# The type of runner that the job will run on
runs-on: ubuntu-latest
# Steps, a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can
# access it
- name: Checkout Source Code
uses: actions/checkout@v4
# Build the LaTeX document to create a PDF file
- name: Build LaTeX Document
uses: xu-cheng/latex-action@v3
with:
root_file: resume.tex
# Prepare the content for the Github Pages
- name: Prepare Github Page
run: mv resume.pdf website/assets/pdf/resume_en.pdf
# Package and upload the website as an artifact (named github-pages by
# default) to be used on the deployment job. An artifact allows you to
# persist data after a job has completed, and share that data with
# another job in the same workflow
- name: Upload Github Pages Artifact
uses: actions/upload-pages-artifact@v3
with:
path: website
# Job for deployment into Github Pages
deploy:
# This job requires the build job to be executed first
needs: build
# Grant GITHUB_TOKEN the permissions required to make a Pages deployment
permissions:
# Add permission to deploy to Pages
pages: write
# Add permission to verify the deployment originates from an appropriate
# source
id-token: write
# Deploy to the github-pages environment
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
# The type of runner that the job will run on
runs-on: ubuntu-latest
# Steps, a sequence of tasks that will be executed as part of the job
steps:
# Deploy artifact (github-pages artifact by default) to Github Pages
- name: Deploy Artifact to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4