Last active
October 1, 2022 19:04
-
-
Save elstudio/38bacfe7aab63da082a418fd3a1ddb66 to your computer and use it in GitHub Desktop.
Action to build and deploy a Jekyll website to GitHub Pages - for using whatever plugins you like. See https://www.elstudio.us/code/use-any-jekyll-plugin-with-github-pages for details.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Sample workflow for building and deploying a Jekyll site to GitHub Pages | |
name: Deploy Jekyll site to Pages | |
on: | |
# Runs on pushes targeting the default branch | |
push: | |
branches: ["main"] | |
# Allows you to run this workflow manually from the Actions tab | |
workflow_dispatch: | |
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages | |
permissions: | |
contents: read | |
pages: write | |
id-token: write | |
# Allow one concurrent deployment | |
concurrency: | |
group: "pages" | |
cancel-in-progress: true | |
jobs: | |
# Build job | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
# Jekyll Picture Tag requires libvips libraries for resizing images, which must be installed | |
- name: Install JPT's dependencies | |
run: sudo apt-get install libvips-tools | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Setup Ruby | |
uses: ruby/setup-ruby@v1 | |
with: | |
bundler-cache: true # runs 'bundle install' and caches installed gems automatically | |
cache-version: 0 # Increment this number if you need to re-download cached gems | |
- name: Setup Pages | |
id: pages | |
uses: actions/configure-pages@v1 | |
- run: bundle exec jekyll build --baseurl ${{ steps.pages.outputs.base_path }} # defaults output to '/_site' | |
- name: Upload artifact | |
uses: actions/upload-pages-artifact@v1 # This will automatically upload an artifact from the '/_site' directory | |
# Deployment job | |
deploy: | |
environment: | |
name: github-pages | |
url: ${{ steps.deployment.outputs.page_url }} | |
runs-on: ubuntu-latest | |
needs: build | |
steps: | |
- name: Deploy to GitHub Pages | |
id: deployment | |
uses: actions/deploy-pages@v1 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment