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 to GitHib 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+
30+ jobs :
31+ # Build job
32+ build :
33+ runs-on : ubuntu-latest
34+ steps :
35+ - name : Checkout
36+ uses : actions/checkout@v4
37+
38+ - name : Setup Ruby
39+ # https://github.com/ruby/setup-ruby/releases/tag/v1.207.0
40+ uses : ruby/setup-ruby@4a9ddd6f338a97768b8006bf671dfbad383215f4
41+ with :
42+ bundler-cache : true # runs 'bundle install' and caches installed gems automatically
43+ cache-version : 0 # Increment this number if you need to re-download cached gems
44+
45+ - uses : actions/setup-node@v4
46+ - name : Install Node Dependencies
47+ run : npm install
48+
49+ - name : Setup Pages
50+ id : pages
51+ uses : actions/configure-pages@v5
52+ - name : Build with Jekyll & Gulp
53+ # Outputs to the './_site' directory by default
54+ run : gulp build && bundle exec jekyll build
55+ env :
56+ JEKYLL_ENV : production
57+ - name : Upload artifact
58+ # Automatically uploads an artifact from the './_site' directory by default
59+ uses : actions/upload-pages-artifact@v3
60+
61+ # Deployment job
62+ deploy :
63+ environment :
64+ name : github-pages
65+ url : ${{ steps.deployment.outputs.page_url }}
66+ runs-on : ubuntu-latest
67+ needs : build
68+ steps :
69+ - name : Deploy to GitHub Pages
70+ id : deployment
71+ uses : actions/deploy-pages@v4
72+ with :
73+ clean-exclude : pr-preview/
0 commit comments