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'