Summary
Gitea runner v1.0.0 renamed release assets from the previous act_runner-* naming scheme to gitea-runner-*. This breaks GARM's Gitea tools discovery because GARM parses the OS/architecture from the asset filename and currently rejects the new names.
As a result, GARM cannot populate the runner tools cache for linux/amd64, and runner provisioning fails before the VM/userdata can start.
Impact
All Gitea-backed pools using linux/amd64 runners fail to create new runners.
Example provider error:
failed to get runner spec: failed to get tools: failed to find tools for OS linux and arch amd64
Example GARM logs:
ignoring unrecognized tools arch tool=gitea-runner-1.0.0-linux-amd64
ignoring unrecognized tools arch tool=gitea-runner-1.0.0-linux-arm64
Expected Behavior
GARM should recognize Gitea runner v1.0.0 assets and populate tools metadata for supported OS/architecture combinations, especially:
Actual Behavior
GARM ignores the new release assets as unrecognized, then runner creation fails because no matching tool exists in the cache.
Suggested Fix
Support both Gitea runner asset naming formats:
act_runner-<version>-<os>-<arch>
gitea-runner-<version>-<os>-<arch>
Possibly also make parsing less dependent on the binary prefix and instead parse from the right side of the filename.
Additional Note (my current workaround)
I was forced to use the Use Internal Tools Metadata option in the Endpoint + pre-bake the runner binary inside the VM image (GCP provider; not sure about the ability to do this with other providers).
That way, GARM starts the VM successfully, then sees that the runner binary is already present and ignores the hardcoded Internal Tools URL.
However, this issue still affects the default external metadata flow against the official Gitea runner releases API.
Summary
Gitea runner v1.0.0 renamed release assets from the previous
act_runner-*naming scheme togitea-runner-*. This breaks GARM's Gitea tools discovery because GARM parses the OS/architecture from the asset filename and currently rejects the new names.As a result, GARM cannot populate the runner tools cache for
linux/amd64, and runner provisioning fails before the VM/userdata can start.Impact
All Gitea-backed pools using
linux/amd64runners fail to create new runners.Example provider error:
Example GARM logs:
Expected Behavior
GARM should recognize Gitea runner v1.0.0 assets and populate tools metadata for supported OS/architecture combinations, especially:
Actual Behavior
GARM ignores the new release assets as unrecognized, then runner creation fails because no matching tool exists in the cache.
Suggested Fix
Support both Gitea runner asset naming formats:
Possibly also make parsing less dependent on the binary prefix and instead parse from the right side of the filename.
Additional Note (my current workaround)
I was forced to use the
Use Internal Tools Metadataoption in the Endpoint + pre-bake the runner binary inside the VM image (GCP provider; not sure about the ability to do this with other providers).That way, GARM starts the VM successfully, then sees that the runner binary is already present and ignores the hardcoded Internal Tools URL.
However, this issue still affects the default external metadata flow against the official Gitea runner releases API.