ci: canonical pair — hanzo.yml + forge caller

github.com has no runner for hanzo-build-linux-amd64, so a caller under
.github/workflows is a gate that can never be scheduled. This is the ~7-line
caller on the plane that can (git.hanzo.ai git-runner fleet), pinned @v1.

Co-authored-by: Hanzo Dev <[email protected]>
This commit is contained in:
2026-08-06 02:35:42 -07:00
co-authored by Hanzo Dev
parent 6c9ebcc3a3
commit 9b8e323267
2 changed files with 40 additions and 0 deletions
+15
View File
@@ -0,0 +1,15 @@
# Canonical caller — every knob lives in /hanzo.yml, none here.
# Runs on the git-runner fleet at git.hanzo.ai, the only pool serving these
# labels. github.com resolves only .github/workflows and has no runner for
# them, so a caller placed there is a gate that cannot be scheduled.
name: CI/CD
on:
push:
branches: [main]
tags: ['v*']
pull_request:
workflow_dispatch:
jobs:
cicd:
uses: hanzoai/ci/.hanzo/workflows/build.yml@v1
secrets: inherit
+25
View File
@@ -0,0 +1,25 @@
# The ROCm meta-repo: it ships no binaries. It ships two things, and both are
# gated here.
#
# default.xml + tools/autotag/components.xml — the repo manifests that pin
# every ROCm component. Malformed XML means `repo sync` cannot start, so
# they must parse.
# docs/ — the readthedocs site, which IS this repo's product. The full sphinx
# build is the gate: a broken myst directive, a missing conf.py extension,
# an unreadable image or a dead include fails it. Verified green here
# (build succeeded, 17 pre-existing warnings), so a NEW break is visible.
#
# Not -W: those 17 warnings predate this pipeline, and a gate that is red before
# anyone touches it reports nothing. Not markdownlint either — the repo's own
# .markdownlint-cli2.yaml flags thousands of existing lines, which is the same
# problem one level down.
test:
- name: docs
run: |
set -e
python3 -c "import xml.etree.ElementTree as E; [E.parse(f) for f in ['default.xml','tools/autotag/components.xml']]; print('manifests parse')"
command -v uv >/dev/null 2>&1 || curl -LsSf https://astral.sh/uv/install.sh | sh
export PATH="$HOME/.local/bin:$PATH"
uv venv --python 3.12
uv pip install -q -r docs/sphinx/requirements.txt
uv run python -m sphinx -b html docs docs/_build/html