mirror of
https://github.com/hanzoai/dev.git
synced 2026-10-17 15:34:54 +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,35 @@
|
||||
# hanzoai/dev — the `dev` CLI (Rust workspace under code-rs/: core, tui, exec,
|
||||
# app-server, mcp client/server, and ~30 more crates).
|
||||
#
|
||||
# Gate only. This repo ships signed per-platform binaries and an npm wrapper
|
||||
# from .github/workflows/release.yml; there is no image and nothing to deploy.
|
||||
#
|
||||
# THE GATE IS THE COMPILE, because for this repo nothing else is. There is no
|
||||
# meaningful lint-only proxy: the workspace is where the product lives, and a
|
||||
# type error in core/ is invisible to the root `prettier --check *.json *.md`
|
||||
# that is the only thing package.json offers.
|
||||
#
|
||||
# `cargo check`, not `cargo build`: it runs the full front end of the compiler
|
||||
# over every crate in the workspace — resolution, typeck, borrowck — and skips
|
||||
# only codegen and linking. That catches every break a `build` would, at roughly
|
||||
# a third of the cost, on a fleet of ten shared runners.
|
||||
#
|
||||
# --locked so Cargo.lock is a fact rather than a suggestion: an out-of-date lock
|
||||
# fails here instead of silently resolving to versions no release will ever use.
|
||||
#
|
||||
# The toolchain is installed by this gate. hanzoai/ci provisions Rust only when
|
||||
# a Cargo.toml sits at the repo ROOT, and this workspace lives one directory
|
||||
# down — so without these three lines the gate dies at `cargo: command not
|
||||
# found` (exit 127) and never reads a single crate. --default-toolchain none
|
||||
# leaves the choice to code-rs/rust-toolchain.toml, which pins 1.90.0.
|
||||
test:
|
||||
- name: cargo-check
|
||||
run: |
|
||||
set -euo pipefail
|
||||
if ! command -v cargo >/dev/null 2>&1; then
|
||||
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs \
|
||||
| sh -s -- -y --profile minimal --default-toolchain none
|
||||
fi
|
||||
export PATH="$HOME/.cargo/bin:$PATH"
|
||||
cd code-rs
|
||||
cargo check --workspace --locked
|
||||
Reference in New Issue
Block a user