name: weekly-docs # runs every monday at 9 am on: schedule: - cron: "0 9 * * 1" workflow_dispatch: # allows to run manually for testing pull_request: branches: - main paths: - "docs/**" permissions: contents: read jobs: check-docs: # later versions of Ubuntu have disabled unprivileged user namespaces, which are required by the action runs-on: ubuntu-22.04 permissions: pull-requests: write # required to post PR review comments by the action steps: - name: Harden Runner uses: step-security/harden-runner@0080882f6c36860b6ba35c610c98ce87d4e2f26f # v2.10.2 with: egress-policy: audit - name: Checkout uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1 - name: Check Markdown links uses: umbrelladocs/action-linkspector@fc382e19892aca958e189954912fe379a8df270c # v1.2.4 id: markdown-link-check # checks all markdown files from /docs including all subfolders with: reporter: github-pr-review config_file: ".github/.linkspector.yml" fail_on_error: "true" filter_mode: "nofilter" - name: Send Slack notification if: failure() && github.event_name == 'schedule' run: | curl -X POST -H 'Content-type: application/json' -d '{"msg":"Broken links found in the documentation. Please check the logs at ${{ env.LOGS_URL }}"}' ${{ secrets.DOCS_LINK_SLACK_WEBHOOK }} echo "Sent Slack notification" env: LOGS_URL: https://github.com/coder/coder/actions/runs/${{ github.run_id }}