ci: let the install rehearsal use a pre-built bundler
deploy / test (push) Failing after 2m56s
deploy / build (push) Skipped

The rehearsal hardcoded `cargo build -p clawmates-bundler`, so it died with
"cargo: command not found" on the release runner — gw-04 builds Rust inside a
container and has no toolchain of its own. The release job had already built the
bundler two steps earlier, so it was also redundant work.

CLAWMATES_BUNDLER now short-circuits that build when it points at an executable,
falling back to cargo otherwise, so running the script by hand is unchanged.

Everything before this step already passed on the runner: images built, SBOMs
generated, bundle assembled and signed, and "bundle OK: 94 artifacts verified
offline" inside a --network none container.

Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
Omar Sobh
2026-08-13 15:02:05 -07:00
co-authored by Claude Opus 5
parent c1642a7004
commit bd1c970577
2 changed files with 13 additions and 3 deletions
+3 -1
View File
@@ -155,7 +155,9 @@ jobs:
docker tag "clawmates/server:$VERSION" clawmates/server:latest
docker tag "clawmates/frontend:$VERSION" clawmates/frontend:latest
docker tag "clawmates/broker:$VERSION" clawmates/broker:latest
./scripts/rehearse-install.sh
# Absolute path: the script cds around, and it needs the binary we
# already built rather than a cargo this host does not have.
CLAWMATES_BUNDLER="$PWD/.tools/clawmates-bundler" ./scripts/rehearse-install.sh
# Gitea's release API, not softprops/action-gh-release (GitHub-only).
# Create-or-reuse, so a re-run of the same tag updates instead of 409ing.