run-htmltest-external #8517
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
# .github/workflows/run-htmltest.yml | |
# (c) 2021 Robb Romans | |
# | |
# Run htmltest link checker on generated HTML output in dist/ | |
# https://github.com/wjdp/htmltest | |
# | |
name: run-htmltest-external | |
on: | |
schedule: | |
# 10am UTC on weekdays | |
- cron: '0 10 * * 1,2,3,4,5' | |
jobs: | |
htmltest-external: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check out repository | |
uses: actions/checkout@v3 | |
with: | |
submodules: true # Fetch Hugo themes | |
fetch-depth: 1 # Fetch all history for .GitInfo and .Lastmod | |
- uses: actions/setup-go@v5 | |
with: | |
go-version: '>=1.17.0' | |
- name: Set up Hugo | |
uses: peaceiris/actions-hugo@v2 | |
with: | |
hugo-version: "latest" | |
extended: true | |
- name: Get Date | |
id: get-date | |
run: | | |
echo "date=$(/bin/date -u "+%Y%m%d")" >> $GITHUB_OUTPUT | |
shell: bash | |
- uses: actions/cache@v4 | |
with: | |
path: resources | |
key: ${{ steps.get-date.outputs.date }}-hugo-resources-htmltest | |
- uses: actions/cache@v4 | |
with: | |
path: node_modules | |
key: ${{ steps.get-date.outputs.date }}-hugo-node_modules | |
- name: Build | |
run: make build-dist-pr | |
- name: Test HTML | |
# https://github.com/wjdp/htmltest-action/ | |
# Don't fail the build on broken links | |
id: test-html | |
continue-on-error: false | |
uses: wjdp/htmltest-action@master | |
with: | |
# For consistency, use the same config file as for local builds | |
config: .htmltest.yml | |
- name: Archive htmltest results | |
uses: actions/upload-artifact@v4 | |
# Note: Set ACTIONS_RUNTIME_TOKEN env variable to test with nektos/act | |
with: | |
name: htmltest-report | |
path: tmp/.htmltest/htmltest.log | |
retention-days: 7 # Default is 90 days | |
- name: Login to Jira | |
if: failure() | |
uses: atlassian/gajira-login@v3 | |
env: | |
JIRA_BASE_URL: ${{ secrets.JIRA_BASE_URL }} | |
JIRA_USER_EMAIL: ${{ secrets.JIRA_USER_EMAIL }} | |
JIRA_API_TOKEN: ${{ secrets.JIRA_API_TOKEN }} | |
- name: Create Jira ticket | |
if: failure() | |
id: create | |
uses: atlassian/gajira-create@v3 | |
env: | |
GITHUB_RUN_ID: ${{ github.run_id }} | |
with: | |
project: DOCS | |
issuetype: Bug | |
summary: Broken link detected | |
description: "For more info see https://github.com/viamrobotics/docs/actions/runs/${{ env.GITHUB_RUN_ID }}." | |
- name: Log created Jira issue | |
if: failure() | |
run: echo "Issue ${{ steps.create.outputs.issue }} was created" |