Files
zeekay 697ca31636 one spelling for running the driver, and it is the one that has an interpreter
`python3 generate.py` finds no `yaml` module on a fleet runner, so three of the
four call sites could not run the driver they had just been handed. js-sdk
already ran it under uv and worked; this is that same line, in the other three.
2026-08-08 11:58:44 -07:00

29 lines
1.4 KiB
Bash
Executable File

#!/usr/bin/env bash
# Regenerate hanzo-java-cloud/ from the Hanzo Cloud API document.
#
# A CALL SITE, not a generator invocation. The invocation is logic and lives
# once, in `generate.py`; every per-language knob — generator, library,
# coordinates, packages — is data in `sdks.yaml` beside it.
#
# ./scripts/generate.sh # regenerate in place
# ./scripts/generate.sh --check # non-zero if the committed client drifted
#
# BOTH INPUTS ARRIVE AS VALUES. $SPEC is the document, already fetched at a
# pinned ref and digest-checked; $OPENAPI is the checkout holding the driver.
# hanzoai/ci's client lane sets both, because it holds the one credential that
# reads the forge the driver lives on. What stood here instead was a four-deep
# credential chain — SPEC_TOKEN, GH_TOKEN, GITHUB_TOKEN, then ssh — pointed at
# github.com, where the driver is not canonical and none of those four are
# provisioned. Set OPENAPI by hand to run it by hand.
#
# Requires: uv, java 11+. uv carries the interpreter and the PyYAML the driver
# needs; the ci client lane provisions it.
set -euo pipefail
cd "$(dirname "$0")/.."
: "${OPENAPI:?the generator lives in hanzoai/openapi; the ci client lane sets OPENAPI, or point it at a checkout}"
if [ -n "${SPEC:-}" ]; then set -- --spec "$SPEC" "$@"; fi
exec uv run --with pyyaml python3 "$OPENAPI/generate.py" java --repo "$PWD" "$@"