Test site for broken links #5
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
# Notes: | |
# - All software installed below is pinned so they don't get upgraded and break w/o us knowing why. | |
# - If you bump one version up to latest, please bump them all so we stay current! | |
# - Hugo builds the site twice: once for link checking and once minified for pushing live | |
# - Bash script for muffet is intentionally stand alone so devs/content editors can easily run it locally | |
# Scheduled workflows run on the latest commit on | |
# the default or base branch | |
on: | |
schedule: | |
# runs at 3:15am every Sunday | |
- cron: '15 3 * * 0' | |
name: Test site for broken links | |
jobs: | |
BuildLinkCheckPushLive: | |
name: | |
runs-on: ubuntu-22.04 | |
timeout-minutes: 15 | |
steps: | |
- name: Git checkout cht-docs repos | |
uses: actions/checkout@v2 | |
with: | |
fetch-depth: 0 # Fetch all history for .GitInfo and .Lastmod | |
- name: Install asdf & tools in .tool-versions | |
uses: asdf-vm/actions/install@v2 | |
- name: Install npm modules for Hugo | |
run: npm install | |
- name: Install Muffet | |
run: | | |
GO111MODULE=on go install github.com/raviqqe/[email protected] | |
asdf reshim golang | |
# run in background so CI doesn't hang waiting for "ctrl + c". Sleep ensures server is ready in next step | |
- name: Serve Hugo site | |
run: | | |
hugo server& | |
sleep 30 | |
- name: Set DNS to 9.9.9.9 | |
shell: bash | |
run: ./.github/scripts/set_dns.sh | |
- name: Run Muffet link checker | |
shell: bash | |
run: ./.github/scripts/muffet.sh | |
- name: Report errors to Slack, if any | |
if: ${{ github.ref == 'refs/heads/main' && failure() }} | |
uses: rtCamp/[email protected] | |
env: | |
SLACK_WEBHOOK: '${{ secrets.SLACK_WEB_HOOK }}' | |
SLACK_CHANNEL: '#cht-doc-site' | |
SLACK_COLOR: '#3278BD' | |
SLACK_ICON: ":flappingphone:" | |
SLACK_MESSAGE: 'Broken Links Found' | |
SLACK_TITLE: CHT DOCS BAD LINKS | |
SLACK_USERNAME: Medic-Bot |