Skip to content

Github Action to check informationalURL periodically - #77

Open
ilkedemir wants to merge 4 commits into
c2pa-org:mainfrom
ilkedemir:main
Open

ilkedemir wants to merge 4 commits into
c2pa-org:mainfrom
ilkedemir:main

Conversation

@ilkedemir

Copy link
Copy Markdown

Summary

Adds a GitHub Actions workflow that checks every informationalUrl link in softbinding-algorithm-list.json once per quarter and opens a tracking issue for broken ones.

How it works

  • .github/workflows/check-links.yml runs on a 0 0 1 */3 * schedule (Jan/Apr/Jul/Oct), plus workflow_dispatch for manual runs.
  • check_links.py extracts the values of "informationalUrl" keys, checks each with retries and backoff, and writes both a JSON report and a step summary.
  • Sites that return 403/429/999 are reported separately as "blocked" rather than "broken" (bot protection rejecting non-browser requests).
  • On "broken" links, the workflow creates or updates a GitHub issue labeled broken-links listing the dead links.
  • permissions: issues: write is set explicitly, since the default GITHUB_TOKEN is read-only for issues otherwise.

Potential changes/improvements

  • Decide if 3 months is a good interval for the action
  • Add if API links can also be checked with sample files
  • Decide and implement if the action should also send an automated message to the related email about the issue
  • Decide and implement what happens if the link is not fixed for a while

Testing

Ran locally against softbinding-algorithm-list.json: correctly limits itself to informationalUrl values, and separates genuine dead links (e.g. docs.mentaport.xyz, DNS resolution failure) from bot-blocked false positives (e.g. iso.org, castlabs.com).

Ran on local fork: See it in action with the generated report and automatically filed issue.

@ilkedemir ilkedemir linked an issue Sep 17, 2026 that may be closed by this pull request
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.

Maintenance of softbinding-algorithm-list

1 participant