Add a workflow to regularly run `make linkcheck`
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 2.1k
- Forks
- 1k
- Avg merge
- 2d 12h
- Merged PRs (30d)
- 12
Description
This is a follow-up of #727 and related to #681. Since make linkcheck is somewhat unreliable and can't be required for regular PR, the idea is to use a workflow to run it regularly and create (or update) an issue when a link is unreachable. Note that make linkcheck is already run for PRs, but the result is only visible by looking at the logs.
@AlexWaygood shared a similar workflow in https://github.com/python/devguide/pull/727#issuecomment-1100939982:
Over at typeshed, we have a test that runs every night. If it fails, a bot auto-creates an issue for us. It works pretty well!
Here's the .yml file: https://github.com/python/typeshed/blob/master/.github/workflows/daily.yml
And here's an example of an issue that the bot auto-created when the test failed: https://github.com/python/typeshed/issues/7572
This workflow creates a new issue every time, and it might be ok if it's run weekly/monthly however -- if we want to run it more frequently -- updating an existing issue might be a better approach.
@hugovk also raised a concern in https://github.com/python/devguide/pull/727#issuecomment-1100912440
One concern: if the cron is often failing (which it might, and often), we don't want it to show the repo as failed at the top:
If this sounds useful we can agree on the details, fix the currently broken links, and adapt the workflow linked above.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Inspect the existing PR workflow that runs make linkcheck and compare it with the referenced typeshed .github/workflows/daily.yml. Decide whether the scheduled workflow should create new issues or update an existing one, and ensure link failures are reported without making the repository's regular PR checks fail.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github-actions, python
- Domain
- ci-cd, documentation
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 28/100