Skip to content

Bring back link checks #12474

Description

@The-Compiler

We have quite some history when it comes to link checks:

So we're currently not running link checking at all. And it shows:

.../adopt.rst:56: WARNING: broken link: fixture.html ()
.../adopt.rst:55: WARNING: broken link: assert.html ()
.../talks.rst:88: WARNING: broken link: http://bruynooghe.blogspot.com/2010/06/pytest-test-generators-and-cached-setup.html (404 Client Error: Not Found for url: http://bruynooghe.blogspot.com/2010/06/pytest-test-generators-and-cached-setup.html)
.../talks.rst:103: WARNING: broken link: http://bruynooghe.blogspot.com/2009/12/skipping-slow-test-by-default-in-pytest.html (404 Client Error: Not Found for url: http://bruynooghe.blogspot.com/2009/12/skipping-slow-test-by-default-in-pytest.html)
.../announce/release-2.2.0.rst:12: WARNING: broken link: http://pytest.org/en/stable/example/how-to/parametrize.html (404 Client Error: Not Found for url: https://pytest.org/en/stable/example/how-to/parametrize.html)
.../adopt.rst:55: WARNING: broken link: https://bitbucket.org/hpk42/pycmd/overview (404 Client Error: Not Found for url: https://bitbucket.org/hpk42/pycmd/overview)
.../announce/release-2.6.0.rst:21: WARNING: broken link: https://bitbucket.org/pytest-dev/pytest/issues?status=new&status=open&sort=-votes (404 Client Error: Not Found for url: https://bitbucket.org/pytest-dev/pytest/issues?status=new&status=open&sort=-votes)
.../history.rst:120: WARNING: broken link: http://web.archive.org/web/20091012022829/http://codespeak.net/py/dist/test/plugin/how-to/monkeypatch.html (404 Client Error: NOT FOUND for url: http://web.archive.org/web/20091012022829/http://codespeak.net/py/dist/test/plugin/how-to/monkeypatch.html)
.../explanation/goodpractices.rst:113: WARNING: broken link: https://blog.ionelmc.ro/2014/05/25/python-packaging/#the-structure> (Anchor 'the-structure>' not found)
.../announce/release-2.3.0.rst:97: WARNING: broken link: https://docs.pytest.org/en/6.0.1/faq.html (404 Client Error: Not Found for url: https://docs.pytest.org/en/6.0.1/faq.html)
.../announce/release-8.0.0rc2.rst:22: WARNING: broken link: https://docs.pytest.org/en/release-8.0.0rc2/changelog.html (404 Client Error: Not Found for url: https://docs.pytest.org/en/release-8.0.0rc2/changelog.html)
.../reference/reference.rst:153: WARNING: broken link: https://github.com/asottile/re-assert#re_assertmatchespattern-str-args-kwargs (Anchor 're_assertmatchespattern-str-args-kwargs' not found)
.../contact.rst:24: WARNING: broken link: https://matrix.to/#/%23pytest:libera.chat (Anchor '/%23pytest:libera.chat' not found)
.../changelog.rst:5757: WARNING: broken link: https://peps.python.org/pep-0506/#recommended-filter-settings-for-test-runners (Anchor 'recommended-filter-settings-for-test-runners' not found)
.../history.rst:99: WARNING: broken link: https://pypi.org/project/py/0.8.0-alpha2/#history/ (Anchor 'history/' not found)
.../contributing.rst:150: WARNING: broken link: https://tox.readthedocs.io/en/latest/config.html#configuration-discovery (Anchor 'configuration-discovery' not found)
.../contact.rst:24: WARNING: broken link: https://web.libera.chat/#pytest (Anchor 'pytest' not found)
.../adopt.rst:57: WARNING: broken link: mark.html ()
.../talks.rst:83: WARNING: broken link: monkeypatch.html ()
.../talks.rst:87: WARNING: broken link: parametrize.html#test-generators ()
.../talks.rst:105: WARNING: broken link: plugins.html ()
.../adopt.rst:47: WARNING: broken link: unittest.html ()
.../changelog.rst:1157: WARNING: broken link: with-setup-nose ()
.../adopt.rst:59: WARNING: broken link: xdist.html ()
.../adopt.rst:56: WARNING: broken link: xunit_setup.html ()
.../explanation/goodpractices.rst:290: WARNING: broken link: https://github.com/pytest-dev/pytest-runner#deprecation-notice (Anchor 'deprecation-notice' not found)
.../history.rst:108: WARNING: broken link: https://github.com/pytest-dev/pytest/blob/main/doc/en/changelog.rst#091 (Anchor '091' not found)
.../changelog.rst:104: WARNING: broken link: https://github.com/python/cpython/blob/51aefc5bf907ddffaaf083ded0de773adcdf08c8/Lib/unittest/case.py#L419-L426 (Anchor 'L419-L426' not found)
.../changelog.rst:6716: WARNING: broken link: https://github.com/thisch (404 Client Error: Not Found for url: https://github.com/thisch)

We should bring it back somehow. According to @webknjaz it got better at doing retries and such, and apparently there's also a distinct status for timeouts:

From @nicoddemus in #6916:

The idea is good, but I'm not sure if the scheduled based job won't just be ignored in the end.

But what we currently have is worse IMHO...

Activity

  1. added
    type: docsdocumentation improvement, missing or needing clarification
    type: infrastructureimprovement to development/releases/CI structure
    on Jun 18, 2024
  2. nicoddemus commented on Jun 21, 2024

    @nicoddemus
    Member

    The idea is good, but I'm not sure if the scheduled based job won't just be ignored in the end.

    I reconsidered this, because now we have some scheduled jobs (like plugin update, pre-commit, etc) and history shows that they are not ignored, often sometimes takes time to fix them if they fail.

    So a scheduled job might do the trick here in the end.

  3. ladislav987 commented on Oct 1, 2024

    @ladislav987

    Hi @The-Compiler, I would like to look at it as my first issue.

  4. webknjaz commented on Oct 1, 2024

    @webknjaz
    Member

    @ladislav987 please feel free to ask questions as you work through the issue or submit a draft PR right away, updating it as you work through stuff.

  5. nikunjmathur08 commented on Oct 10, 2024

    @nikunjmathur08

    Can I work on this? @The-Compiler

  6. The-Compiler commented on Oct 10, 2024

    @The-Compiler
    MemberAuthor

    @nikunjmathur08 See the comments right above yours, @ladislav987 has already offered to work on this a week ago.

  7. ladislav987 commented on Oct 10, 2024

    @ladislav987

    I read all about "link check" history. If I get it right you want use sphinx. Or you want try something else?

  8. webknjaz commented on Oct 11, 2024

    @webknjaz
    Member

    This is about Sphinx.

  9. nikunjmathur08 commented on Oct 11, 2024

    @nikunjmathur08

    @The-Compiler just asked because there was no interaction for the past week. No issues if @ladislav987 is already working on it.

  10. ayush-a-srivastava commented on Aug 2, 2025

    @ayush-a-srivastava

    There is already a fix in the tox.ini file, which checks the links. #12474

    Image

    Is it still not working?

  11. webknjaz commented on Aug 2, 2025

    @webknjaz
    Member

    @ayush-a-srivastava this issue is about invoking that in CI

  12. marcosboger commented on Aug 24, 2025

    @marcosboger
    Contributor

    Could I pick this up as a first issue contribution? I see it has been stalled for some time now.

    From my understanding, it would be setting up a new cron scheduled GitHub Actions workflow to run sphinx link checks, is that correct?

  13. nicoddemus commented on Aug 26, 2025

    @nicoddemus
    Member

    @marcosboger please go ahead, thanks! 👍

    From my understanding, it would be setting up a new cron scheduled GitHub Actions workflow to run sphinx link checks, is that correct?

    Correct.

  14. marcosboger commented on Aug 27, 2025

    @marcosboger
    Contributor

    @nicoddemus sounds good, I'll implement and come back with a PR soon

  15. marcosboger commented on Aug 27, 2025

    @marcosboger
    Contributor

    Initial PR created, glad to get a review when possible :)

    #13682

  16. added a commit that references this issue on Sep 1, 2025
    806a670
  17. added a commit that references this issue on Aug 31, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

good first issueeasy issue that is friendly to new contributortype: docsdocumentation improvement, missing or needing clarificationtype: infrastructureimprovement to development/releases/CI structure

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions