Skip to content

lychee pre-commit run: Catch Broken Links in Seconds #11867

Open

Description

@jbampton

refs #11290

https://lychee.cli.rs/

So we have some broken links, others that should point to the direct links and some that need ignoring in the lychee config lychee.toml

My local config was:

  - repo: https://github.com/lycheeverse/lychee.git
    rev: lychee-v0.20.1
    hooks:
      - id: lychee
        name: run lychee
        description: run lychee a fast, async, stream-based link checker written in Rust
        args: [--config=.github/linters/lychee.toml]
        files: \.md$

pre-commit run output:

run lychee...............................................................Failed
- hook id: lychee
- exit code: 2

  660/660 ━━━━━━━━━━━━━━━━━━━━ Finished extracting links                        Issues found in 6 inputs. Find details below.
                                                                                                                                                                                                                          
[CHANGES.md]:                                                                                                                                                                                                             
     [404] https://cloudstack.apache.org/docs/en-US/Apache_CloudStack/4.2.1/html/Release_Notes/version-4.2.html#issues-fixed-4.2.1 | Network error: Not Found                                                             
     [404] https://cloudstack.apache.org/docs/en-US/Apache_CloudStack/4.2.0/html/Release_Notes/index.html | Network error: Not Found

[tools/devcloud4/README.md]:
     [429] https://www.vagrantup.com/downloads.html | Network error: Too Many Requests                                                                                                                                    
     [404] https://downloads.chef.io/chef-dk/ | Network error: Not Found

[INSTALL.md]:
   [ERROR] http://localhost:5050/ | Network error: error sending request for url (http://localhost:5050/) Maybe a certificate error?                                                                                      

[ui/README.md]:
     [404] https://viserjs.github.io/docs.html#/viser/guide/installation | Network error: Not Found                                                                                                                       
 [TIMEOUT] https://markmail.org/message/vxnskmwhfaagnm4r | Timeout
     [404] https://iconka.com/en/downloads/cat-power/ | Network error: Not Found
 [TIMEOUT] https://markmail.org/message/bgnn4xkjnlzseeuv | Timeout

[CONTRIBUTING.md]:
     [404] https://github.com/YOUR_ACCOUNT/cloudstack | Network error: Not Found                                                                                                                                          

[README.md]:
     [404] https://cloudstack.apache.org/survey.html | Network error: Not Found                                                                                                                                           

🔍 660 Total (in 47s) ✅ 641 OK 🚫 10 Errors 👻 6 Excluded ⏳ 2 Timeouts
   [WARN ] There were issues with GitHub URLs. You could try setting a GitHub token and running lychee again.

Activity

  1. added theissue type on Oct 20, 2025
  2. added this to the unplanned milestone on Oct 23, 2025
  3. self-assigned this
    on Nov 13, 2025
  4. moved this from Todo to Dev In Progress in Apache CloudStack BugFest - Issueson Nov 13, 2025
  5. modified the milestones: unplanned, 4.23 on Nov 13, 2025
  6. github-actions commented on Mar 14, 2026

    @github-actions

    This issue is stale because it has been open for 120 days with no activity. It may be removed by administrators of this project at any time. Remove the stale label or comment to request for removal of it to prevent this.

  7. DaanHoogland commented on Mar 16, 2026

    @DaanHoogland
    Contributor

    @jbampton , I had to install lychee locally and using the default lychee.toml it worked immediatly. What is your idea we should do? (not running ubuntu!)

  8. jbampton commented on Mar 17, 2026

    @jbampton
    MemberAuthor

    That is correct @DaanHoogland I hit that same problem trying to use lychee with pre-commit on another project.

    Normally the hooks should be self contained and they should not need binaries etc to be installed locally.

    When I first tested it worked with pre-commit since I had lychee globally installed previously.

    I only hit the bug when I uninstalled lychee from my PC.

    Seems others are hitting the same problem

    lycheeverse/lychee#1635

    But there is a new solution since the lychee action has been added as an approved ASF action by infra.

    apache/infrastructure-actions#518

    See more discussion here:

    apache/sedona#2727

  9. DaanHoogland commented on Mar 17, 2026

    @DaanHoogland
    Contributor

    ok, seems doable @jbampton , but it does mean it will have to be a separate workflow if I read it correctly. as in not part of the pre-commit flow. Is that correct?

  10. jbampton commented on Mar 17, 2026

    @jbampton
    MemberAuthor

    Yes it is a separate workflow and not part of the pre-commit hooks

  11. weizhouapache commented on Jun 29, 2026

    @weizhouapache
    Member

    moving to 4.24.0 milestone

  12. modified the milestones: 4.23.0, 4.24.0 on Jun 29, 2026
  13. RosiKyu commented on Oct 5, 2026

    @RosiKyu
    Collaborator

    @jbampton do you have any plans to work on this for 24.0?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

Projects

Relationships

None yet

Development

No branches or pull requests

Issue actions