base > docs > workflows > GitHub Pages Deployment
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.
buildThis 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.deployThis 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.