···11+# This workflow uses actions that are not certified by GitHub.
22+# They are provided by a third-party and are governed by
33+# separate terms of service, privacy policy, and support
44+# documentation.
55+66+# Sample workflow for building and deploying a Jekyll site to GitHub Pages
77+name: Deploy Jekyll site to Pages
88+99+on:
1010+ # Runs on pushes targeting the default branch
1111+ push:
1212+ branches: ["main"]
1313+1414+ # Allows you to run this workflow manually from the Actions tab
1515+ workflow_dispatch:
1616+1717+# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
1818+permissions:
1919+ contents: read
2020+ pages: write
2121+ id-token: write
2222+2323+# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
2424+# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
2525+concurrency:
2626+ group: "pages"
2727+ cancel-in-progress: false
2828+2929+jobs:
3030+ # Build job
3131+ build:
3232+ runs-on: ubuntu-latest
3333+ steps:
3434+ - name: Checkout
3535+ uses: actions/checkout@v4
3636+ - name: Setup Ruby
3737+ # https://github.com/ruby/setup-ruby/releases/tag/v1.207.0
3838+ uses: ruby/setup-ruby@4a9ddd6f338a97768b8006bf671dfbad383215f4
3939+ with:
4040+ ruby-version: '3.1' # Not needed with a .ruby-version file
4141+ bundler-cache: true # runs 'bundle install' and caches installed gems automatically
4242+ cache-version: 0 # Increment this number if you need to re-download cached gems
4343+ - name: Setup Pages
4444+ id: pages
4545+ uses: actions/configure-pages@v5
4646+ - name: Build with Jekyll
4747+ # Outputs to the './_site' directory by default
4848+ run: bundle exec jekyll build --baseurl "${{ steps.pages.outputs.base_path }}"
4949+ env:
5050+ JEKYLL_ENV: production
5151+ - name: Upload artifact
5252+ # Automatically uploads an artifact from the './_site' directory by default
5353+ uses: actions/upload-pages-artifact@v3
5454+5555+ # Deployment job
5656+ deploy:
5757+ environment:
5858+ name: github-pages
5959+ url: ${{ steps.deployment.outputs.page_url }}
6060+ runs-on: ubuntu-latest
6161+ needs: build
6262+ steps:
6363+ - name: Deploy to GitHub Pages
6464+ id: deployment
6565+ uses: actions/deploy-pages@v4