mirror of
https://github.com/hanzoai/agent.git
synced 2026-09-11 21:08:51 +00:00
ci / python (push) Canceled after 0s
ci / go (push) Canceled after 0s
ci / wheel (3.12) (push) Canceled after 0s
ci / wheel (3.9) (push) Canceled after 0s
Hanzo CI/CD / cicd (push) Canceled after 0s
CI/CD / cicd (push) Canceled after 0s
deploy / image (push) Canceled after 0s
linux-amd64 is the label the forge starts runners for. hanzo.yml's comments now name the workflow paths that exist. Co-authored-by: Hanzo Dev <[email protected]>
45 lines
1.9 KiB
YAML
45 lines
1.9 KiB
YAML
# hanzoai/agent — the agent runtime: a Go module at the root and a Python SDK
|
|
# (uv) beside it.
|
|
#
|
|
# No `images:`. ghcr.io/hanzoai/agent is built by
|
|
# .github/workflows/deploy.yml from Dockerfile.sdk — the sole producer of that
|
|
# image, restored there for exactly that reason. Declaring `images:` here would
|
|
# make it the second.
|
|
#
|
|
# The Go half only. That is measured, not assumed: on this tree `go build`,
|
|
# `go vet` and `go test ./...` all pass, while `make sync` cannot resolve
|
|
# (requires-python >=3.9 against a transitive numpy needing >=3.10), `make lint`
|
|
# reports 2337 ruff errors and `make tests` dies at collection because a test
|
|
# module sys.exit(1)s on import without a provider key. Those three are recorded
|
|
# in LLM.md as work; a gate that is red on arrival for reasons no commit can fix
|
|
# gets read as broken CI rather than as broken code. The Python lane that DOES
|
|
# hold today — `uv sync --frozen` plus an import of the package — already runs
|
|
# natively in .github/workflows/ci.yml.
|
|
#
|
|
# gofmt is checked by hand because gofmt reports on stdout and exits 0: the file
|
|
# list is the verdict, so an unchecked `gofmt -l` is a gate that cannot fail.
|
|
|
|
# `hanzo-agent` is the root pyproject, and a v* tag publishes it. This repo had
|
|
# no publish lane at all — ci.yml builds a wheel, installs it on 3.9 and 3.12,
|
|
# imports it and throws it away — so 0.1.0 sat on PyPI unimportable while the fix
|
|
# for it sat on main, released to nobody. One line is the whole of the lane.
|
|
pypi: [., sdk/python]
|
|
|
|
test:
|
|
- name: gofmt
|
|
run: |
|
|
set -euo pipefail
|
|
unformatted="$(gofmt -l .)"
|
|
if [ -n "$unformatted" ]; then
|
|
echo "::error::gofmt would rewrite these files:"
|
|
echo "$unformatted"
|
|
exit 1
|
|
fi
|
|
echo "gofmt: clean"
|
|
- name: build-vet-test
|
|
run: |
|
|
set -e
|
|
go build ./...
|
|
go vet ./...
|
|
go test -count=1 ./...
|