zooqueenandHanzo Dev fdb2455bcc ci: one CI path — .hanzo/workflows
The only thing that ever pushed ghcr.io/luxfi/graph was
.github/workflows/docker.yml on `runs-on: lux-build` — an ARC autoscaling
runner set that no longer exists. The cluster has no ARC CRDs, no ARC namespace
and no such pool, so every v* tag queued a job nothing could pick up. An
unclaimable job does not fail; it waits, and they accumulate.

It moves to .hanzo/workflows/release.yml on `lux-build-linux-amd64`, a label
the fleet actually carries. Two other things had to change or the job would
have failed on the first runner that did claim it:

  * ghcr login used the instance GITHUB_TOKEN. On this forge that is a Hanzo
    Git token and carries no rights at ghcr.io. It now uses GHCR_USER and
    GHCR_TOKEN, the org Actions secrets sourced from KMS that luxfi/node and
    luxfi/kms authenticate with.

  * the layer cache was `type=gha`, the GitHub-hosted Actions cache service.
    It is now the registry cache, which is backend-independent and lives
    beside the image it caches.

docker.yml was the whole of .github/workflows, so nothing is stranded. That
matters generally: the forge stops at the first workflow directory that
exists, so the moment a repo gains .hanzo/workflows its entire
.github/workflows suite goes dark at once — a migration has to land whole or
it silently deletes coverage.

Co-authored-by: Hanzo Dev <[email protected]>
2026-07-30 17:14:01 -07:00
S
Description
Single-binary GraphQL query layer for Lux blockchain — replaces The Graph's Graph Node
27 MiB
Languages
Go 99.9%
Dockerfile 0.1%