From 0b25df2cdcfa6443d95e239170dcbb99da206af8 Mon Sep 17 00:00:00 2001 From: Johnathan Falk Date: Mon, 20 Jul 2026 20:07:29 -0400 Subject: [PATCH] fix(ci): run cargo build/test inline instead of via a missing action command The Rust job called gha-ci-workflow-helpers with command: rust-build and command: rust-test, but the action never implemented those - only rust-format and rust-clippy exist, across every release through v1.1.7. Every repo whose Rust CI actually ran therefore died at the build step: ##[error]Unknown command: rust-build reusable-ci was migrated to call action commands that were never added. Build and test now run `cargo build --release` / `cargo test --release` inline; format and clippy keep using the action, which supports them. Surfaced by falkcorp/cockroach-rollout-agent, whose Rust CI activated for the first time during the TODO fan-out (its Cargo.lock changed). The crate itself builds, clippies, and tests clean locally - the failure was purely this missing-command bug. Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_013vU67T2LJDCbYTBs9ZFAf2 --- .github/workflows/reusable-ci.yml | 14 +++++++------- changelog.d/20260720-rust-build-inline.md | 14 ++++++++++++++ 2 files changed, 21 insertions(+), 7 deletions(-) create mode 100644 changelog.d/20260720-rust-build-inline.md diff --git a/.github/workflows/reusable-ci.yml b/.github/workflows/reusable-ci.yml index acdaf79d..fc186815 100644 --- a/.github/workflows/reusable-ci.yml +++ b/.github/workflows/reusable-ci.yml @@ -1,5 +1,5 @@ # file: .github/workflows/reusable-ci.yml -# version: 1.13.0 +# version: 1.14.0 # guid: reusable-ci-2025-09-24-core-workflow name: Reusable CI Workflow @@ -652,16 +652,16 @@ jobs: with: command: rust-clippy + # Build and test run inline rather than through gha-ci-workflow-helpers: + # the action never implemented the rust-build / rust-test commands (only + # rust-format and rust-clippy exist, in every release through v1.1.7), so + # invoking them failed every Rust CI run with "Unknown command: rust-build". - name: Build Rust project - uses: falkcorp/gha-ci-workflow-helpers@c8b87fae92ee0a0458e47b970ed892310323aa58 # v1.1.4 - with: - command: rust-build + run: cargo build --release - name: Test Rust project if: ${{ !inputs.skip-tests }} - uses: falkcorp/gha-ci-workflow-helpers@c8b87fae92ee0a0458e47b970ed892310323aa58 # v1.1.4 - with: - command: rust-test + run: cargo test --release # Setup npm cache for frontend using advanced cache strategy frontend-npm-cache: diff --git a/changelog.d/20260720-rust-build-inline.md b/changelog.d/20260720-rust-build-inline.md new file mode 100644 index 00000000..1b88be8c --- /dev/null +++ b/changelog.d/20260720-rust-build-inline.md @@ -0,0 +1,14 @@ +### Fixed + +#### Rust CI no longer fails with "Unknown command: rust-build" + +The Rust job invoked `gha-ci-workflow-helpers` with `command: rust-build` and +`command: rust-test`, but that action never implemented either command — only +`rust-format` and `rust-clippy` exist, in every release through v1.1.7. So every +repository whose Rust CI actually ran failed at the build step with +`Unknown command: rust-build`. + +The build and test steps now run `cargo build --release` / `cargo test --release` +inline. Format and clippy still go through the action, which does support them. +Surfaced by falkcorp/cockroach-rollout-agent, whose Rust CI activated for the +first time during the TODO fan-out.