name: Docs on: push: branches: - main paths: - docs/** - .github/workflows/docs.yml workflow_dispatch: permissions: contents: read pages: write id-token: write concurrency: group: pages cancel-in-progress: true jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v7 - uses: actions/configure-pages@v6 id: pages - uses: ruby/setup-ruby@v1 with: ruby-version: '4.0' - name: Install site dependencies working-directory: docs run: | bundle config set path vendor/bundle bundle install - name: Build site working-directory: docs env: # Analytics is only included in production builds, so a local # `jekyll serve` does not report visits. JEKYLL_ENV: production PAGES_ORIGIN: ${{ steps.pages.outputs.origin }} PAGES_BASE_PATH: ${{ steps.pages.outputs.base_path }} run: | # Keep canonical URLs and Jekyll redirects on the live hostname # until GitHub Pages has been switched to the new custom domain. ruby -ryaml -e 'File.write(ARGV.fetch(0), {"url" => ENV.fetch("PAGES_ORIGIN"), "baseurl" => ENV.fetch("PAGES_BASE_PATH")}.to_yaml)' "$RUNNER_TEMP/pages.yml" bundle exec jekyll build --config "_config.yml,$RUNNER_TEMP/pages.yml" --destination ./_site - uses: actions/upload-pages-artifact@v5 with: path: ./docs/_site deploy: needs: build runs-on: ubuntu-latest environment: name: github-pages url: ${{ steps.deployment.outputs.page_url }} steps: - id: deployment uses: actions/deploy-pages@v5