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: runs-on: ubuntu-latest steps: - name: Harden Runner uses: step-security/harden-runner@91182cccc01eb5e619899d80e4e971d6181294a7 # v2.10.1 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" - 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 }}