Skip to content

Add a workflow to regularly run make linkcheck #917

Open

Description

@ezio-melotti

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 #727 (comment):

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: python/typeshed#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 #727 (comment)

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.

Activity

  1. CAM-Gerlach commented on Jul 30, 2022

    @CAM-Gerlach
    Member

    Since make linkcheck is somewhat unreliable and can't be required for regular PR

    FWIW, for spyder-ide/spyder-docs which is of the same OOM as this repo, we do run it for every PR, and periodically (every couple months) update any redirects. However, I certainly wouldn't run it for a repo much bigger than this, like the PEPs or docs, and I could certainly see why that wouldn't be desirable even at this scale, depending on the number and fickleness of the links involved, as well as the obvious workflow considerations.

    @hugovk also raised a concern in #727 (comment)

    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:

    I believe you could make the action itself not mark itself as failed if the linkcheck fails, but just open the issue, so the whole repo doesn't go red?

  2. added
    infraAutomation and tooling for devguide
    type-featureAdditions; New content or section needed
    and removed
    type-featureAdditions; New content or section needed
    on Oct 11, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    infraAutomation and tooling for devguidetype-featureAdditions; New content or section needed

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions