mirror of
https://github.com/hanzoai/operator.git
synced 2026-10-30 15:06:11 +00:00
It was pinned to amd64 because DigitalOcean was amd64 and the arm64 runner pool was offline. Neither holds: the clusters it runs on have an arm64 node, and the build door builds each architecture natively on a node of that architecture. So the pin goes and the default applies. The crate has nothing architecture-bound; its 362 tests pass on aarch64. Co-authored-by: Hanzo Dev <[email protected]>
39 lines
1.9 KiB
YAML
39 lines
1.9 KiB
YAML
# Canonical CI config for hanzoai/operator — read by the hanzoai/ci reusable
|
|
# (.hanzo/workflows/cicd.yml) and by platform.hanzo.ai.
|
|
#
|
|
# ONE way to build, in one place: hanzo.yml declares WHAT, hanzoai/ci owns HOW.
|
|
#
|
|
# The lane has to live somewhere it is observed. A build lane that fails to
|
|
# START reports exactly like no push happening — no image, no error anyone
|
|
# reads — so merged fixes sit on main while the branch looks healthy.
|
|
|
|
images:
|
|
- name: operator
|
|
# ghcr for the OSS artifact other orgs pull; the fleet registry is where the
|
|
# deploy lane reads from. Both are the same build — hanzoai/ci pushes here
|
|
# and server-side-copies the same tags to our registry, so this stays ghcr.
|
|
#
|
|
# The key is `repo:`, not `image:`. The reusable reads `.repo` off each
|
|
# images[] entry — the enqueue fan-out, the buildx tag list and the deploy
|
|
# resolver all select it, with no fallback — so an entry keyed `image:`
|
|
# resolves to a null repo and tags `null:sha-<short>-amd64`. `image:` IS a
|
|
# real key, but it belongs to `deploy.services[]`, where it names a LOCAL
|
|
# images[] entry rather than a registry ref. Same word, different object.
|
|
repo: ghcr.io/hanzoai/operator
|
|
dockerfile: Dockerfile
|
|
context: .
|
|
|
|
test:
|
|
# cargo test is the gate, and the whole lib — no filter. A filter is how a
|
|
# gate quietly stops testing: `cargo test --lib <name>` with a stale name
|
|
# prints "running 0 tests" and exits 0, which is why build.yml separately
|
|
# refuses a gate that reported success without running one.
|
|
#
|
|
- name: cargo test
|
|
run: cargo test --lib
|
|
|
|
# NO deploy: lane. The operator is deployed like everything else — universe
|
|
# records the desired tag and CD reconciles it. A deploy step here would be a
|
|
# second mover for an object that already has one, and two writers for one
|
|
# object is the failure this split exists to prevent.
|