47 lines
1.5 KiB
YAML
47 lines
1.5 KiB
YAML
name: Check for broken links on site
|
|
|
|
on:
|
|
workflow_run:
|
|
workflows: [Deploy site]
|
|
types: [completed]
|
|
|
|
jobs:
|
|
check-links-on-site:
|
|
# https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#running-a-workflow-based-on-the-conclusion-of-another-workflow
|
|
if: ${{ github.event.workflow_run.conclusion == 'success' }}
|
|
# available images: https://github.com/actions/runner-images#available-images
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout 🛎️
|
|
uses: actions/checkout@v4
|
|
- name: Setup Ruby
|
|
uses: ruby/setup-ruby@v1
|
|
with:
|
|
ruby-version: "3.2.2"
|
|
bundler-cache: true
|
|
- name: Update _config.yml ⚙️
|
|
uses: fjogeleit/yaml-update-action@main
|
|
with:
|
|
commitChange: false
|
|
valueFile: "_config.yml"
|
|
changes: |
|
|
{
|
|
"giscus.repo": "${{ github.repository }}",
|
|
"baseurl": ""
|
|
}
|
|
- name: Install and Build 🔧
|
|
run: |
|
|
pip3 install --upgrade jupyter
|
|
export JEKYLL_ENV=production
|
|
bundle exec jekyll build
|
|
- name: Purge unused CSS 🧹
|
|
run: |
|
|
npm install -g purgecss
|
|
purgecss -c purgecss.config.js
|
|
- name: Link Checker 🔗
|
|
uses: lycheeverse/lychee-action@v1.9.0
|
|
with:
|
|
fail: true
|
|
# only check local links
|
|
args: --offline --remap '_site(/?.*)/assets/(.*) _site/assets/$2' --verbose --no-progress '_site/**/*.html'
|