ci: a runner label names the platform, not the org

hanzo-build-linux-amd64, lux-build-linux-amd64, zoo-build-linux-amd64 and
every other org-prefixed spelling all meant the same machine. Which org a
job belongs to does not change which host can build it, so the org bought
one pool name per org per arch and each could go stale on its own -- the
evo host alone answered to fourteen names for one label.

One vocabulary now: linux-amd64, linux-arm64, macos-arm64, win-amd64. The
generic labels every plain workflow uses (ubuntu-latest, self-hosted) are
untouched, so naive CI keeps working.

Co-authored-by: Hanzo Dev <[email protected]>
This commit is contained in:
2026-09-08 12:09:45 -07:00
co-authored by Hanzo Dev
parent 41605da293
commit 38881e6607
2 changed files with 5 additions and 5 deletions
+3 -3
View File
@@ -1,6 +1,6 @@
name: CI name: CI
# Runs on the native runners at git.hanzo.ai (git-runner, label # Runs on the native runners at git.hanzo.ai (git-runner, label
# lux-build-linux-amd64). There are no GitHub-hosted runners in this # linux-amd64). There are no GitHub-hosted runners in this
# organisation and none is a permitted fallback: a workflow that names one # organisation and none is a permitted fallback: a workflow that names one
# queues forever, which reads from the outside as a test suite that never fails. # queues forever, which reads from the outside as a test suite that never fails.
# #
@@ -21,7 +21,7 @@ concurrency:
jobs: jobs:
test: test:
runs-on: [lux-build-linux-amd64] runs-on: [linux-amd64]
timeout-minutes: 30 timeout-minutes: 30
# A runner may carry a machine-level go env that routes some module paths # A runner may carry a machine-level go env that routes some module paths
# around the proxy and the checksum database. GOENV=off ignores it, so every # around the proxy and the checksum database. GOENV=off ignores it, so every
@@ -117,7 +117,7 @@ jobs:
echo "serves, and refuses an unauthenticated read" echo "serves, and refuses an unauthenticated read"
console: console:
runs-on: [lux-build-linux-amd64] runs-on: [linux-amd64]
timeout-minutes: 15 timeout-minutes: 15
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
+2 -2
View File
@@ -173,7 +173,7 @@ jobs:
# Registry-side only: imagetools reads the two per-arch manifests and writes # Registry-side only: imagetools reads the two per-arch manifests and writes
# a list that points at both. No builder and no platform of its own, so which # a list that points at both. No builder and no platform of its own, so which
# pool runs this does not matter. # pool runs this does not matter.
runs-on: [lux-build-linux-amd64] runs-on: [linux-amd64]
timeout-minutes: 15 timeout-minutes: 15
steps: steps:
- name: Compute the release names - name: Compute the release names
@@ -277,7 +277,7 @@ jobs:
# bundle itself is architecture-free. hanzoai/static publishes both # bundle itself is architecture-free. hanzoai/static publishes both
# architectures from 0.5.15 on, so this becomes the same matrix the daemon # architectures from 0.5.15 on, so this becomes the same matrix the daemon
# uses the moment ui/Dockerfile moves to a tag that has an arm64 manifest. # uses the moment ui/Dockerfile moves to a tag that has an arm64 manifest.
runs-on: [lux-build-linux-amd64] runs-on: [linux-amd64]
timeout-minutes: 20 timeout-minutes: 20
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4