linkcheck icon indicating copy to clipboard operation
linkcheck copied to clipboard

`--connection-failures-as-warnings` flag does not work with GitHub Action

Open pepopowitz opened this issue 2 years ago • 1 comments

I have a GitHub workflow that is running linkcheck to crawl a public site, and it fails pretty regularly with connection failures.

I configured the workflow to use the --connection-failures-as-warnings, hoping that would suppress errors.

It appears to suppress the errors in terms of the statistics, but the workflow still fails when linkcheck runs into connection failures.

Useful details (hopefully?)

The workflow I've configured to call linkcheck with connection-failures-as-warnings

An example of the failing workflow

The output from the failing workflow:

Crawling...

Provided URLs failing:
https://stage.docs.camunda.io/docs/1.3/components/zeebe/open-source/community-contributions/ (connection failed)

https://stage.docs.camunda.io/docs/0.2[6](https://github.com/camunda/camunda-platform-docs/actions/runs/4088441799/jobs/7084401079#step:6:7)/components/zeebe/open-source/community-contributions/
- (20:2195) '1.3' => https://stage.docs.camunda.io/docs/1.3/components/zeebe/open-source/community-contributions/ (connection failed)

https://stage.docs.camunda.io/docs/1.0/components/zeebe/open-source/community-contributions/
- (20:2193) '1.3' => https://stage.docs.camunda.io/docs/1.3/components/zeebe/open-source/community-contributions/ (connection failed)

https://stage.docs.camunda.io/docs/1.1/components/zeebe/open-source/community-contributions/
- (20:2193) '1.3' => https://stage.docs.camunda.io/docs/1.3/components/zeebe/open-source/community-contributions/ (connection failed)

https://stage.docs.camunda.io/docs/1.2/components/zeebe/open-source/community-contributions/
- (20:2193) '1.3' => https://stage.docs.camunda.io/docs/1.3/components/zeebe/open-source/community-contributions/ (connection failed)

https://stage.docs.camunda.io/docs/1.3/components/zeebe/open-source/get-help-get-involved/
- (20:6889) 'Open Sou..' => https://stage.docs.camunda.io/docs/1.3/components/zeebe/open-source/community-contributions/ (connection failed)
- (20:[7](https://github.com/camunda/camunda-platform-docs/actions/runs/4088441799/jobs/7084401079#step:6:8)27[8](https://github.com/camunda/camunda-platform-docs/actions/runs/4088441799/jobs/7084401079#step:6:9)) 'Communit..' => https://stage.docs.camunda.io/docs/1.3/components/zeebe/open-source/community-contributions/ (connection failed)
- (20:13336) 'Previous..' => https://stage.docs.camunda.io/docs/1.3/components/zeebe/open-source/community-contributions/ (connection failed)

https://stage.docs.camunda.io/docs/1.3/components/zeebe/technical-concepts/
- (20:8527) 'Open Sou..' => https://stage.docs.camunda.io/docs/1.3/components/zeebe/open-source/community-contributions/ (connection failed)

https://stage.docs.camunda.io/docs/1.3/components/zeebe/technical-concepts/architecture/
- (20:8718) 'Open Sou..' => https://stage.docs.camunda.io/docs/1.3/components/zeebe/open-source/community-contributions/ (connection failed)

https://stage.docs.camunda.io/docs/1.3/components/zeebe/technical-concepts/clustering/
- (20:8702) 'Open Sou..' => https://stage.docs.camunda.io/docs/1.3/components/zeebe/open-source/community-contributions/ (connection failed)

https://stage.docs.camunda.io/docs/1.3/components/zeebe/technical-concepts/exporters/
- (20:8577) 'Open Sou..' => https://stage.docs.camunda.io/docs/1.3/components/zeebe/open-source/community-contributions/ (connection failed)
- (54:1085) 'NextComm..' => https://stage.docs.camunda.io/docs/1.3/components/zeebe/open-source/community-contributions/ (connection failed)

https://stage.docs.camunda.io/docs/1.3/components/zeebe/technical-concepts/internal-processing/
- (20:8774) 'Open Sou..' => https://stage.docs.camunda.io/docs/1.3/components/zeebe/open-source/community-contributions/ (connection failed)

https://stage.docs.camunda.io/docs/1.3/components/zeebe/technical-concepts/partitions/
- (20:8702) 'Open Sou..' => https://stage.docs.camunda.io/docs/1.3/components/zeebe/open-source/community-contributions/ (connection failed)

https://stage.docs.camunda.io/docs/1.3/components/zeebe/technical-concepts/process-lifecycles/
- (20:8718) 'Open Sou..' => https://stage.docs.camunda.io/docs/1.3/components/zeebe/open-source/community-contributions/ (connection failed)

https://stage.docs.camunda.io/docs/1.3/components/zeebe/technical-concepts/protocols/
- (20:86[9](https://github.com/camunda/camunda-platform-docs/actions/runs/4088441799/jobs/7084401079#step:6:10)4) 'Open Sou..' => https://stage.docs.camunda.io/docs/1.3/components/zeebe/open-source/community-contributions/ (connection failed)

https://stage.docs.camunda.io/docs/1.3/components/zeebe/zeebe-overview/
- (20:6828) 'Open Sou..' => https://stage.docs.camunda.io/docs/1.3/components/zeebe/open-source/community-contributions/ (connection failed)
- (20:12529) 'communit..' => https://stage.docs.camunda.io/docs/1.3/components/zeebe/open-source/community-contributions/ (connection failed)

https://stage.docs.camunda.io/docs/8.0/components/zeebe/open-source/community-contributions/
- (20:2236) '1.3' => https://stage.docs.camunda.io/docs/1.3/components/zeebe/open-source/community-contributions/ (connection failed)

https://stage.docs.camunda.io/docs/components/zeebe/open-source/community-contributions/
- (20:2232) '1.3' => https://stage.docs.camunda.io/docs/1.3/components/zeebe/open-source/community-contributions/ (connection failed)

https://stage.docs.camunda.io/docs/next/components/zeebe/open-source/community-contributions/
- (20:2238) '1.3' => https://stage.docs.camunda.io/docs/1.3/components/zeebe/open-source/community-contributions/ (connection failed)


Stats:
  310397 links
    4285 destination URLs
    5403 URLs ignored
      21 warnings
       0 errors

And a screenshot of that because it looks like I can't see details of that workflow in an incognito window, so you probably can't either:

image

pepopowitz avatar Feb 06 '23 19:02 pepopowitz

ran into this as well. looks like linkcheck exiting 1 when there are warnings is the issue. only looked at this for a couple minutes but i dont think you can currently reconcile the GitHub action and ignoring warnings.

pretty sure the move is to use the binary or docker image directly and handle the exit code 1 scenario with some shell.

i think what's needed here is an option to exit 0 when there warnings but no errors.

edit: in my case, all the connection failures were for auto-generated static assets that i didnt need to check so i was able to use a skip-file pattern to work around the issue.

notnmeyer avatar Oct 30 '23 17:10 notnmeyer