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+ push :
11+ branches : ["main"]
12+
13+ # Allows you to run this workflow manually from the Actions tab
14+ workflow_dispatch :
15+
16+ # Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
17+ permissions :
18+ contents : read
19+ pages : write
20+ id-token : write
21+
22+ # Allow one concurrent deployment
23+ concurrency :
24+ group : " pages"
25+ cancel-in-progress : true
26+
27+ jobs :
28+ # Build job
29+ build :
30+ runs-on : ubuntu-latest
31+ steps :
32+ - name : Checkout
33+ uses : actions/checkout@v4
34+ - name : Setup Ruby
35+ uses : ruby/setup-ruby@v1
36+ with :
37+ ruby-version : ' 3.1' # Not needed with a .ruby-version file
38+ bundler-cache : true # runs 'bundle install' and caches installed gems automatically
39+ cache-version : 0 # Increment this number if you need to re-download cached gems
40+ - name : Setup Pages
41+ id : pages
42+ uses : actions/configure-pages@v5
43+ - name : Build with Jekyll
44+ # Outputs to the './_site' directory by default
45+ run : bundle exec jekyll build --baseurl "${{ steps.pages.outputs.base_path }}"
46+ env :
47+ JEKYLL_ENV : production
48+ - name : Upload artifact
49+ # Automatically uploads an artifact from the './_site' directory by default
50+ uses : actions/upload-pages-artifact@v3
51+
52+ # Deployment job
53+ deploy :
54+ environment :
55+ name : github-pages
56+ url : ${{ steps.deployment.outputs.page_url }}
57+ runs-on : ubuntu-latest
58+ needs : build
59+ steps :
60+ - name : Deploy to GitHub Pages
61+ id : deployment
62+ uses : actions/deploy-pages@v4
0 commit comments