Add a workflow to regularly run `make linkcheck`
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 28/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Stale
- Tech stack
- github-actions, python
- Domain
- ci-cd, documentation
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.
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.
- Dominant language
- Python
- Stars
- 2.1k
- Forks
- 1k
- Avg merge
- 2d 12h
- Merged PRs (30d)
- 12
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.
More from python/devguide
-
type-feature
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
type-feature
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
topic-building python type-feature
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
-
needs: decision topic-test type-bug
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
topic-dev process type-feature
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
Similar issues
-
sponsored
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
Diaoul/subliminal#1382 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 92/100
-
triage/confirmed
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
agentscope-ai/agentscope#2775 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100