Both jobs fail on the Gitea mirror for reasons no secret or input changes.
hassfest is a Docker-container action that bind-mounts $GITHUB_WORKSPACE. The Gitea runner runs the job inside a container against a separate docker-in-docker daemon, so the path resolves on the daemon's filesystem, not the job's — docker creates an empty directory and mounts that, and hassfest accurately reports it found no integrations in the empty tree it was handed. It takes no token, so credentials were never the issue. (arch-turnkey's build-iso documents this same trap and works around it with docker cp.)
HACS asks the github.com API about github.repository, which on Gitea is flan/ha-freshharvest — a slug that exists only on Gitea. That is the 401. The action has no input to redirect the lookup at the sudolulo mirror.
The same commit that fails here passes on github.com/sudolulo/ha-freshharvest, which mirrors every push, so the validation still happens where it is capable of running. The guard is written as "not Gitea" rather than "is GitHub" so an unexpected server_url runs the checks instead of silently dropping them.
pytest is untouched and still gates every push on both forges.
Both jobs fail on the Gitea mirror for reasons no secret or input changes.
**hassfest** is a Docker-container action that bind-mounts `$GITHUB_WORKSPACE`. The Gitea runner runs the job inside a container against a *separate* docker-in-docker daemon, so the path resolves on the daemon's filesystem, not the job's — docker creates an empty directory and mounts that, and hassfest accurately reports it found no integrations in the empty tree it was handed. It takes no token, so credentials were never the issue. (arch-turnkey's build-iso documents this same trap and works around it with `docker cp`.)
**HACS** asks the github.com API about `github.repository`, which on Gitea is `flan/ha-freshharvest` — a slug that exists only on Gitea. That is the 401. The action has no input to redirect the lookup at the `sudolulo` mirror.
The same commit that fails here **passes on github.com/sudolulo/ha-freshharvest**, which mirrors every push, so the validation still happens where it is capable of running. The guard is written as "not Gitea" rather than "is GitHub" so an unexpected `server_url` runs the checks instead of silently dropping them.
`pytest` is untouched and still gates every push on both forges.
Both jobs fail on the Gitea mirror for reasons no secret or input changes.
hassfest is a Docker-container action that bind-mounts $GITHUB_WORKSPACE. The
Gitea runner runs the job inside a container against a separate docker-in-docker
daemon, so the path resolves on the daemon's filesystem, not the job's; docker
creates an empty directory and mounts that, and hassfest then accurately reports
that it found no integrations in the empty tree it was given. It takes no token,
so credentials were never the issue.
HACS asks the github.com API about github.repository, which on Gitea is
flan/ha-freshharvest -- a slug that exists only on Gitea. That is the 401. The
action has no input to point the lookup at the sudolulo mirror.
The same commit that fails here passes on github.com/sudolulo/ha-freshharvest,
which mirrors every push, so the validation still happens -- it just happens
where it is capable of running. The guard is "not Gitea" rather than "is
GitHub" so an unexpected server_url runs the checks instead of dropping them.
pytest is untouched and still gates every push on both forges.
flan
merged commit 8051cc7465 into main2026-08-04 11:19:28 -04:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Both jobs fail on the Gitea mirror for reasons no secret or input changes.
hassfest is a Docker-container action that bind-mounts
$GITHUB_WORKSPACE. The Gitea runner runs the job inside a container against a separate docker-in-docker daemon, so the path resolves on the daemon's filesystem, not the job's — docker creates an empty directory and mounts that, and hassfest accurately reports it found no integrations in the empty tree it was handed. It takes no token, so credentials were never the issue. (arch-turnkey's build-iso documents this same trap and works around it withdocker cp.)HACS asks the github.com API about
github.repository, which on Gitea isflan/ha-freshharvest— a slug that exists only on Gitea. That is the 401. The action has no input to redirect the lookup at thesudolulomirror.The same commit that fails here passes on github.com/sudolulo/ha-freshharvest, which mirrors every push, so the validation still happens where it is capable of running. The guard is written as "not Gitea" rather than "is GitHub" so an unexpected
server_urlruns the checks instead of silently dropping them.pytestis untouched and still gates every push on both forges.