The GitHub Pages deployment workflow is defined in .github/workflows/pages.yml
. Its purpose is to build and deploy the repository’s content as a GitHub Pages website.
This workflow is triggered by:
push
to the main
branch.workflow_dispatch
event, allowing it to be run from the Actions tab in GitHub.The workflow is granted the following permissions:
contents: read
to read the repository’s content.pages: write
to deploy to GitHub Pages.id-token: write
to authenticate with GitHub Pages.The workflow uses a concurrency group named "pages"
to ensure that only one deployment runs at a time. If a new workflow run is triggered while another is in progress, the new run will be queued. However, in-progress runs are not cancelled.
build
This job runs on ubuntu-latest
and performs the following steps to build the site:
actions/jekyll-build-pages
action to build the site with Jekyll. The source is the root of the repository (./
), and the destination for the built site is ./_site
.deploy
This job also runs on ubuntu-latest
and depends on the successful completion of the build
job. It performs the following steps to deploy the site:
actions/deploy-pages
action to deploy the artifact from the build
job to GitHub Pages. The environment is configured for github-pages
, and the URL of the deployed site is made available as an output.