Skip to content

Gitea runner v1.0.0 asset rename breaks GARM tools discovery #732

@igrikus

Description

@igrikus

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions