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:34:51 -07:00
co-authored by Hanzo Dev
parent c920d0fd22
commit 3bc5353314
2 changed files with 38 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
+23
View File
@@ -0,0 +1,23 @@
# Canonical CI/CD config for hanzoai/svelte — the one file both the hanzoai/ci
# reusable (.hanzo/workflows/cicd.yml) and platform.hanzo.ai read.
#
# An npm package (@hanzo/svelte): the shadcn-shaped components extracted from
# @hanzo/ui, published as SOURCE — index.ts and the .svelte files ship straight
# to consumers, there is no dist and no build step. No image, no deploy.
#
# That is exactly why the gate is svelte-check and not a build: nothing here
# ever compiles in this repo, so a broken component only fails in whichever app
# imports it. svelte-check compiles every .svelte file and typechecks the TS
# inside it against the declared svelte@5 peer, which is the only place that
# break can be caught before a consumer finds it. `--threshold error` keeps it
# from going red on style warnings while still failing on real errors.
#
# `npm install` rather than `ci`: this package pins no lockfile, deliberately —
# it resolves against whatever svelte 5 the consumer has, and the gate should
# see the same thing.
test:
- name: build
run: |
set -e
npm install
npx svelte-check --threshold error --fail-on-warnings false