Files
zeekayandzooqueen 61e3e17def ci: take the reusable that reads the lock instead of hunting a tag
v1.0.49's client lane decided check-vs-move from `github.event_name`, which
git.hanzo.ai renders as `workflow_call` inside every reusable, so this repo's
pushes ran as MOVEs and went looking for hanzoai/cloud's newest tag. That tag
is v1.0.801.507, which is not on cloud's main and carries no openapi.yaml, so
the fetch 404'd and cicd.yml has been red on it since 2026-08-10.

v1.0.54 asks the payload instead: with none, the ref is the one .spec-lock
already names, which is what a check is and what a push wants.
2026-08-12 20:10:05 -07:00

35 lines
1.7 KiB
YAML

# The canonical fleet pipeline, driven by this repo's root hanzo.yml. Every
# real detail lives there; this file is the trigger set and nothing else.
#
# It lives in `.hanzo/workflows/` because the runners are the FORGE's. The pool
# that answers `hanzo-build-linux-amd64` is registered to git.hanzo.ai;
# github.com has zero runners at any level. The forge reads BOTH
# `.hanzo/workflows` and `.github/workflows`, so a caller left under `.github/`
# runs twice — once here, and once on GitHub where nothing can ever pick it up
# and the job simply queues. `.hanzo/` is the half that runs.
#
# The `uses:` pin below names `.hanzo/workflows/build.yml`, which is where
# hanzoai/ci publishes the reusable and the only place it exists — the
# `.github/workflows` path this used to name is a 404 at v1. The forge resolves
# a reusable by name across its workflow directories, so the wrong path ran
# anyway; the pin is now true rather than merely lucky.
#
# `repository_dispatch: spec-update` used to be here, described as the coupling
# that carries a hanzoai/cloud release into this repo. It never carried one. The
# CLI has no `.github/workflows` at all, so GitHub recorded the event and ran
# nothing; the forge has no repository_dispatch endpoint to send it to; and the
# pin's whole history is one hand-typed commit against 104 runs. A trigger that
# is undeliverable in both directions is not a coupling, it is a story about one,
# so it is gone. The pin moves by PULLING, on the side that has runners —
# `.hanzo/workflows/drift.yml`, which already runs on a schedule with the network
# it needs.
name: CI/CD
on:
push: { branches: [main] }
pull_request:
workflow_dispatch:
jobs:
cicd:
uses: hanzoai/ci/.hanzo/workflows/[email protected]
secrets: inherit