From 5d8ca271f022bcb155ce6ac5e68cecda561ddf23 Mon Sep 17 00:00:00 2001 From: lifehackerhansol Date: Tue, 23 Apr 2024 22:41:08 -0700 Subject: [PATCH] Publish site via GitHub Actions GitHub is shutting down the legacy build system towards the end of June. Migrate to using GitHub Actions. Add a test workflow for pull requests alongside it. This also gives us access to: - Updated Jekyll - Updated Ruby - Updated literally everything because GitHub's built-in thing was so old everything was crying in pain This also *probably* makes it build faster, but untested on GitHub... --- .github/workflows/publish.yml | 36 +++++++++++++++++++++++++++++++++++ .github/workflows/test.yml | 24 +++++++++++++++++++++++ 2 files changed, 60 insertions(+) create mode 100644 .github/workflows/publish.yml create mode 100644 .github/workflows/test.yml diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 00000000..f592fe21 --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,36 @@ +name: Deploy site + +on: + push: + branches: [ master ] + workflow_dispatch: + +jobs: + doc-deploy: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + with: + persist-credentials: false + + - uses: ruby/setup-ruby@v1 + with: + ruby-version: '3.2' + bundler-cache: true + + - name: Run Jekyll + # Build the site using Jekyll + run: JEKYLL_ENV=production bundle exec jekyll build + + # Copy (or touch) other needed files + # .nojekyll: to tell GH Pages to not rebuild (lol) + - name: Post-Jekyll build copy files + run: touch _site/.nojekyll + + - name: Deploy 🚀 + uses: JamesIves/github-pages-deploy-action@v4 + with: + branch: gh-pages # The branch the action should deploy to. + folder: _site # The folder the action should deploy. + clean: true # Automatically remove deleted files from the deploy branch diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 00000000..b86b35e6 --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,24 @@ +name: Test site build + +on: + pull_request: + +jobs: + doc-test: + if: github.ref_name != 'l10n' + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + with: + persist-credentials: false + submodules: recursive + + - uses: ruby/setup-ruby@v1 + with: + ruby-version: '3.2' + bundler-cache: true + + - name: Run Jekyll + # Build the site using Jekyll + run: JEKYLL_ENV=production bundle exec jekyll build