1+ # This workflow uses actions that are not certified by GitHub.
2+ # They are provided by a third-party and are governed by
3+ # separate terms of service, privacy policy, and support
4+ # documentation.
5+
6+ # Sample workflow for building and deploying a Jekyll site to GitHub Pages
7+ name : Deploy Jekyll site to Pages
8+
9+ on :
10+ # Runs on pushes targeting the default branch
11+ push :
12+ branches : ["main"]
13+
14+ # Allows you to run this workflow manually from the Actions tab
15+ workflow_dispatch :
16+
17+ # Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
18+ permissions :
19+ contents : read
20+ pages : write
21+ id-token : write
22+
23+ # Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
24+ # However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
25+ concurrency :
26+ group : " pages"
27+ cancel-in-progress : false
28+
29+ jobs :
30+ # Build job
31+ build :
32+ runs-on : ubuntu-latest
33+ defaults :
34+ run :
35+ working-directory : docs
36+ steps :
37+ - name : Checkout
38+ uses : actions/checkout@v4
39+ - name : Setup Ruby
40+ uses : ruby/setup-ruby@v1
41+ with :
42+ ruby-version : " 3.3" # Not needed with a .ruby-version file
43+ bundler-cache : true # runs 'bundle install' and caches installed gems automatically
44+ cache-version : 0 # Increment this number if you need to re-download cached gems
45+ working-directory : " .
46+ - name: Setup Pages
47+ id: pages
48+ uses: actions/configure-pages@v5
49+ - name: Build with Jekyll
50+ working-directory: .
51+ # Outputs to the './_site' directory by default
52+ run: bundle exec jekyll build --baseurl " ${{ steps.pages.outputs.base_path }}"
53+ env :
54+ JEKYLL_ENV : production
55+ - name : Upload artifact
56+ # Automatically uploads an artifact from the './_site' directory by default
57+ uses : actions/upload-pages-artifact@v3
58+ with :
59+ path : " ./_site/"
60+
61+ - name : Archive production artifacts
62+ uses : actions/upload-artifact@v4
63+ with :
64+ name : site
65+ path : " ./_site/"
66+
67+
68+ # Deployment job
69+ deploy :
70+ environment :
71+ name : github-pages
72+ url : ${{ steps.deployment.outputs.page_url }}
73+ runs-on : ubuntu-latest
74+ needs : build
75+ steps :
76+ - name : Deploy to GitHub Pages
77+ id : deployment
78+ uses : actions/deploy-pages@v4
0 commit comments