ci: fix broken Tests workflow; consolidate build.yaml into test.yaml #18

Merged
ashraf merged 1 commit from ci/fix-test-workflow into main 2026-06-11 14:21:51 +00:00
Member

Problem

test.yaml and build.yaml both source scripts/build_lib.sh then run make …, but that script and the Makefile were deleted in 7a3a130 ("remove Makefile/.sh scripts") during the nushell migration. Every run since has failed instantly:

/var/run/act/workflow/1.sh: line 3: scripts/build_lib.sh: No such file or directory

So both Tests and Build and Test have been red on main/development (e.g. runs #356, #358 on 5101f11). lab-release.yaml is unaffected and still green.

Fix

  • Replace the make/script indirection with direct cargo, mapping the old Makefile targets:
    • make checkcargo check --workspace
    • make testcargo test --workspace --exclude hero_code_integration_test
  • Add an explicit Rust 1.96 toolchain step (rust-toolchain.toml pins 1.96; the builder image may ship older).
  • Deps are public forge repos, so no git-auth step is needed.
  • Delete build.yaml: its check + release build duplicate lab-release.yaml (which already gates on cargo check and builds the workspace); its lint/test now live in test.yaml. One push+PR quality gate.

Scope note

clippy runs non-blocking. The codebase is not currently clippy-clean (16+ -D warnings lints in hero_code_server) and was never fmt-gated (~5k lines of drift). Enforcing -D warnings / fmt --check is a separate cleanup, deliberately out of scope for unbreaking CI.

Verified locally: cargo check --workspace and cargo test --workspace --exclude hero_code_integration_test (50 tests pass).

## Problem `test.yaml` and `build.yaml` both `source scripts/build_lib.sh` then run `make …`, but that script **and** the Makefile were deleted in `7a3a130` ("remove Makefile/.sh scripts") during the nushell migration. Every run since has failed instantly: ``` /var/run/act/workflow/1.sh: line 3: scripts/build_lib.sh: No such file or directory ``` So both **Tests** and **Build and Test** have been red on `main`/`development` (e.g. runs #356, #358 on `5101f11`). `lab-release.yaml` is unaffected and still green. ## Fix - Replace the `make`/script indirection with direct cargo, mapping the old Makefile targets: - `make check` → `cargo check --workspace` - `make test` → `cargo test --workspace --exclude hero_code_integration_test` - Add an explicit **Rust 1.96** toolchain step (`rust-toolchain.toml` pins 1.96; the builder image may ship older). - Deps are **public** forge repos, so no git-auth step is needed. - **Delete `build.yaml`**: its `check` + release build duplicate `lab-release.yaml` (which already gates on `cargo check` and builds the workspace); its lint/test now live in `test.yaml`. One push+PR quality gate. ## Scope note `clippy` runs **non-blocking**. The codebase is not currently clippy-clean (16+ `-D warnings` lints in `hero_code_server`) and was never `fmt`-gated (~5k lines of drift). Enforcing `-D warnings` / `fmt --check` is a separate cleanup, deliberately out of scope for unbreaking CI. Verified locally: `cargo check --workspace` ✅ and `cargo test --workspace --exclude hero_code_integration_test` ✅ (50 tests pass).
ci: fix broken test workflow; consolidate build.yaml into test.yaml
All checks were successful
Tests / test (pull_request) Successful in 10m15s
fdc53c4b2b
build.yaml and test.yaml both `source scripts/build_lib.sh` then run
`make ...`, but the script and the Makefile were deleted in 7a3a130
("remove Makefile/.sh scripts") during the nushell migration. Every run
failed instantly with "scripts/build_lib.sh: No such file or directory",
so both Tests and Build-and-Test have been red on main/development.

Replace the make/script indirection with direct cargo, mapping the old
Makefile targets: check -> `cargo check --workspace`, test -> `cargo test
--workspace --exclude hero_code_integration_test`. Add an explicit 1.96
toolchain step (rust-toolchain.toml pins 1.96; the builder image may ship
older). Deps are public forge repos, so no git auth is needed.

Delete build.yaml: its check + release build duplicate lab-release.yaml
(which already gates on cargo check and builds the workspace), and its
lint/test now live here. test.yaml is the single push+PR quality gate.

clippy runs non-blocking: the codebase is not clippy-clean and was never
fmt-gated, so enforcing -D warnings / fmt --check is a separate cleanup,
not part of unbreaking CI.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
ashraf merged commit 5781f445ef into main 2026-06-11 14:21:51 +00:00
ashraf deleted branch ci/fix-test-workflow 2026-06-11 14:21:52 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
lhumina_code/hero_code!18
No description provided.