Files
zeekayandHanzo Dev 3a0e50091c A v tag publishes the SDKs
npm through .github/workflows/release.yml, with the credential read from KMS
and pnpm resolving the catalog into the published manifest. PyPI through
hanzo.yml's pypi lane. The Go module resolves from an sdk/go/v tag beside it.

Co-authored-by: Hanzo Dev <[email protected]>
2026-09-11 04:10:35 -07:00

36 lines
1.5 KiB
YAML

# hanzoai/agents — the agents monorepo (npm workspaces + turbo:
# apps/consensus, apps/desktop, packages/shared, sdk/typescript).
#
# "No image here" was true of the DESKTOP app — that ships as an electron bundle
# — but not of the repo: build.yml published ghcr.io/hanzoai/agents from
# deployments/docker/Dockerfile.control-plane, and the registry holds it
# (latest, 0.1.0). That file sat in .github/workflows, which git.hanzo.ai stops
# reading once .hanzo/workflows exists, so the image had quietly stopped being
# rebuilt. It is declared here now instead of in a second reusable.
images:
- name: agents
context: .
dockerfile: deployments/docker/Dockerfile.control-plane
repo: ghcr.io/hanzoai/agents
platforms: linux/amd64
#
# `pnpm type-check` is turbo's task, and its `dependsOn: ["^build"]` is what
# makes it a real gate rather than a per-package tsc: turbo builds
# packages/shared first and then typechecks apps/consensus AGAINST THE BUILT
# .d.ts. That is the edge this repo breaks on — a change to shared typechecks
# perfectly inside shared and breaks its consumer.
#
# --ignore-scripts on the install: apps/desktop's postinstall is
# electron-rebuild, which downloads an Electron distribution and rebuilds native
# modules. A typecheck needs none of that, and a gate that pulls a ~100 MB
# binary is a gate that fails when a CDN does.
test:
- name: type-check
run: |
set -e
pnpm install --frozen-lockfile --ignore-scripts
pnpm type-check
pypi: [sdk/python]