🔧 Skip GitHub-only validation jobs on non-GitHub forges #7

Merged
mat merged 1 commit from ci/forgejo-action-urls into main 2026-04-24 12:28:42 +00:00
Owner

Summary

  • Per https://www.hacs.xyz/docs/publish/action/, HACS validation is GitHub-only: the action queries the HACS backend with the repo slug, which in turn requires the repo on github.com. On a Forgejo mirror it fails with 401 Repository not loaded properly in HACS.
  • validate-hassfest uses a Docker-based action. Forgejo's act-based runner has no Docker socket, so it fails with docker: command not found.
  • Guards both jobs with if: github.server_url == 'https://github.com'. On GitHub they run exactly as before; on Forgejo they're skipped cleanly. No URL rewriting needed — these jobs simply don't run where they aren't supported.

Test plan

  • On Forgejo: re-trigger Validate → validate-hacs and validate-hassfest show as skipped, the workflow is green.
  • On GitHub (if the repo is mirrored there): same workflow runs both jobs as before.
## Summary - Per https://www.hacs.xyz/docs/publish/action/, HACS validation is GitHub-only: the action queries the HACS backend with the repo slug, which in turn requires the repo on github.com. On a Forgejo mirror it fails with `401 Repository not loaded properly in HACS`. - `validate-hassfest` uses a Docker-based action. Forgejo's act-based runner has no Docker socket, so it fails with `docker: command not found`. - Guards both jobs with `if: github.server_url == 'https://github.com'`. On GitHub they run exactly as before; on Forgejo they're skipped cleanly. No URL rewriting needed — these jobs simply don't run where they aren't supported. ## Test plan - [ ] On Forgejo: re-trigger Validate → `validate-hacs` and `validate-hassfest` show as *skipped*, the workflow is green. - [ ] On GitHub (if the repo is mirrored there): same workflow runs both jobs as before.
🔧 (AI) Use full github.com URLs for non-mirrored actions
Some checks failed
Validate / validate-hacs (push) Failing after 1m7s
Validate / validate-hassfest (push) Failing after 6s
Validate / validate-hacs (pull_request) Failing after 15s
Validate / validate-hassfest (pull_request) Failing after 5s
5e583d45e9
Forgejo Actions resolves bare `owner/repo` references against its own
registry at `data.forgejo.org`, which mirrors `actions/*` but not
`hacs/action` nor `home-assistant/actions`. The `validate-hacs` and
`validate-hassfest` jobs therefore fail on Forgejo with:

    fatal: repository 'https://data.forgejo.org/hacs/action/' not found

Prefixing those `uses:` entries with `https://github.com/` forces the
runner to fetch them from GitHub directly, which both Forgejo and
GitHub Actions honor.

`actions/checkout@v3` works as-is because it IS mirrored on
data.forgejo.org; it's left alone here and pinned to v4 in a separate
PR.
mat changed title from 🔧 (AI) Use full github.com URLs for non-mirrored actions to 🔧 Use full github.com URLs for non-mirrored actions 2026-04-24 11:32:30 +00:00
mat force-pushed ci/forgejo-action-urls from 5e583d45e9
Some checks failed
Validate / validate-hacs (push) Failing after 1m7s
Validate / validate-hassfest (push) Failing after 6s
Validate / validate-hacs (pull_request) Failing after 15s
Validate / validate-hassfest (pull_request) Failing after 5s
to 995041684c
All checks were successful
Validate / validate-hacs (push) Has been skipped
Validate / validate-hassfest (push) Has been skipped
Validate / validate-hacs (pull_request) Has been skipped
Validate / validate-hassfest (pull_request) Has been skipped
2026-04-24 12:08:55 +00:00
Compare
mat changed title from 🔧 Use full github.com URLs for non-mirrored actions to 🔧 (AI) Skip GitHub-only validation jobs on non-GitHub forges 2026-04-24 12:09:10 +00:00
mat force-pushed ci/forgejo-action-urls from 995041684c
All checks were successful
Validate / validate-hacs (push) Has been skipped
Validate / validate-hassfest (push) Has been skipped
Validate / validate-hacs (pull_request) Has been skipped
Validate / validate-hassfest (pull_request) Has been skipped
to d5083b37e5
All checks were successful
Validate / validate-hacs (push) Has been skipped
Validate / validate-hassfest (push) Has been skipped
Validate / validate-hacs (pull_request) Has been skipped
Validate / validate-hassfest (pull_request) Has been skipped
2026-04-24 12:21:02 +00:00
Compare
mat force-pushed ci/forgejo-action-urls from d5083b37e5
All checks were successful
Validate / validate-hacs (push) Has been skipped
Validate / validate-hassfest (push) Has been skipped
Validate / validate-hacs (pull_request) Has been skipped
Validate / validate-hassfest (pull_request) Has been skipped
to 692c19ef00
All checks were successful
Validate / validate-hacs (push) Has been skipped
Validate / validate-hassfest (push) Has been skipped
Validate / validate-hacs (pull_request) Has been skipped
Validate / validate-hassfest (pull_request) Has been skipped
2026-04-24 12:22:25 +00:00
Compare
mat force-pushed ci/forgejo-action-urls from 692c19ef00
All checks were successful
Validate / validate-hacs (push) Has been skipped
Validate / validate-hassfest (push) Has been skipped
Validate / validate-hacs (pull_request) Has been skipped
Validate / validate-hassfest (pull_request) Has been skipped
to 070e562b06
All checks were successful
Validate / validate-hacs (push) Has been skipped
Validate / validate-hassfest (push) Has been skipped
Validate / validate-hacs (pull_request) Has been skipped
Validate / validate-hassfest (pull_request) Has been skipped
2026-04-24 12:25:36 +00:00
Compare
mat changed title from 🔧 (AI) Skip GitHub-only validation jobs on non-GitHub forges to 🔧 Skip GitHub-only validation jobs on non-GitHub forges 2026-04-24 12:25:51 +00:00
mat merged commit a337d13371 into main 2026-04-24 12:28:42 +00:00
mat referenced this pull request from a commit 2026-04-24 12:59:40 +00:00
mat referenced this pull request from a commit 2026-04-24 21:51:56 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
mat/homeassistant-comwatt!7
No description provided.