mirror of
https://github.com/hanzoai/themes.git
synced 2026-10-01 00:43:44 +00:00
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:
@@ -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
|
||||
@@ -0,0 +1,14 @@
|
||||
# Theme presets in each harness's NATIVE format — data, not code. There is
|
||||
# nothing to compile, and exactly one way this repo breaks: a preset that the
|
||||
# harness cannot load. So that is the gate. Every claude/*.json must parse and
|
||||
# carry the schema Claude Code requires — a name, a `base` of dark or light to
|
||||
# inherit unlisted keys from, and an overrides object. Malformed JSON fails at
|
||||
# jq; a missing or wrong-typed key fails the -e test.
|
||||
test:
|
||||
- name: schema
|
||||
run: |
|
||||
for f in claude/*.json; do
|
||||
jq -e '.name and (.base|test("^(dark|light)$")) and (.overrides|type=="object")' "$f" >/dev/null \
|
||||
|| { echo "invalid theme preset: $f"; exit 1; }
|
||||
echo "ok $f"
|
||||
done
|
||||
Reference in New Issue
Block a user