Skip to content

link-rot: open the issue when the check times out too - #71

Merged
xaleryb merged 1 commit into
intel:ci/link-rot-weeklyfrom
xaleryb:link-rot-report-on-timeout
Oct 21, 2026
Merged

xaleryb merged 1 commit into
intel:ci/link-rot-weeklyfrom
xaleryb:link-rot-report-on-timeout

Conversation

@xaleryb

@xaleryb xaleryb commented Oct 21, 2026

Copy link
Copy Markdown
Contributor

For #67: report runs on failure(), but a links job that hits timeout-minutes ends cancelled, not failed, so a hung weekly run goes red and opens no issue.

The condition now names the two results that should open one:

if: always() && github.event_name == 'schedule' && (needs.links.result == 'failure' || needs.links.result == 'cancelled')

Testing != 'success' instead, as I first suggested on #67, would be wrong: in a fork the repository guard skips links, and skipped would then open an issue there.

links before after
success no issue no issue
failure issue issue
cancelled (timeout) no issue issue
skipped (fork) no issue no issue

Only scheduled runs report, as before. actionlint is clean. The table follows GitHub's expression semantics; a scheduled run can't be triggered from a pull request.

`report` ran on failure() only, but a job that hits timeout-minutes ends
cancelled, not failed, so a hung weekly run went red with nobody told.
It now runs on a failed or cancelled `links` result. A skipped one, which
is what the repository guard gives a fork, still opens nothing; that is
why the condition names the two results rather than testing != 'success'.
@xaleryb
xaleryb merged commit edfbb66 into intel:ci/link-rot-weekly Oct 21, 2026
9 checks passed
@xaleryb
xaleryb deleted the link-rot-report-on-timeout branch October 21, 2026 08:15
xaleryb added a commit that referenced this pull request Oct 21, 2026
* ci: weekly link-rot check over skills and repo docs

validate_skills.py --docs extends --check-links to markdown outside skills/
(README, CONTRIBUTING, MAINTAINERS, SECURITY, templates/, evaluation/).
link-rot.yml runs it every Monday and opens or comments on one issue on failure.

Also strip trailing emphasis markers from extracted URLs: **[x](url)** produced
'url)**' and a false 404 on README's catalog link.

* validate_skills: move the --docs links out of main() (#70)

The --docs branch added an if/elif and a loop to main(), and CodeFactor
flags main() as a Complex Method on #67. doc_links() now owns the flag
check and the collection, so main() gains one line and its complexity is
back where it is on main.

No change in behaviour: with no flags, with --docs alone and with
--check-links --docs the output is byte-identical to 69836c7, and a dead
link added to README.md fails the same way before and after.

* link-rot: open the issue when the check times out too (#71)

`report` ran on failure() only, but a job that hits timeout-minutes ends
cancelled, not failed, so a hung weekly run went red with nobody told.
It now runs on a failed or cancelled `links` result. A skipped one, which
is what the repository guard gives a fork, still opens nothing; that is
why the condition names the two results rather than testing != 'success'.

---------

Co-authored-by: Alexander Rybkin <alexander.rybkin@intel.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant