Skip to content

Latest commit

 

History

History

automation

Automation scripts

Every workflow under .github/workflows/ wraps one of these scripts through a mise task, so each job can be run locally before it runs in CI. Scripts that write to GitHub take --dry-run and print what they would do instead. Workflows run them with a token of the ai-openshell-sdk-go GitHub App (ai-openshell-sdk-go[bot]; secrets SDK_BOT_CLIENT_ID and SDK_BOT_PRIVATE_KEY in the sdk-bot environment, which only main can deploy to), never with GITHUB_TOKEN, so their pushes and PRs trigger CI.

File mise task Purpose
core-tags.sh core:tags List NVIDIA/OpenShell release tags newer than the pin (buf.gen.yaml, inputs[0].tag), semver-sorted with pre-releases below their stable version.
open-bump-pr.sh <tag> [--dry-run] core:bump Open the update proposal for one core tag: branch core/<tag>, pin change, regenerated bindings, proto diff in the body, labels core-bump plus stable or prerelease. Closes older pre-release proposals.
bump-pr-body.md PR body template for open-bump-pr.sh.
tag-release.sh [--dry-run] release:tag After a stable pin lands on main: create the lockstep tag vX.Y.Z and the GitHub release, then ask the Go module proxy for the version.
drift-check.sh --out <file> core:drift Compare core main against the pin: buf breaking, regenerate and build, uncovered RPCs. Writes the markdown report.
update-drift-issue.sh <report.md> Create, update, or close the single Core main drift issue from a report.
report-failure.sh <job> <run-url> Append a dated failure line to the drift issue. Called from if: failure() steps.
drift-issue.sh Shared helpers for the two drift issue scripts (sourced, not run).
start-gateway.sh <core-semver>, stop-gateway.sh Run the published gateway container for a core version with the Docker driver and a plaintext endpoint for the E2E lane, and collect its log.
Workflow Script
core-watch.yml (hourly) core-tags.sh, then open-bump-pr.sh per tag
release-tag.yml (push to main) tag-release.sh
core-drift.yml (nightly) drift-check.sh, then update-drift-issue.sh
e2e.yml (reusable) start-gateway.sh, mise run e2e, stop-gateway.sh