fix(ci): restore Makefile so build.yaml workflow's make calls work #26

Closed
mik-tf wants to merge 1 commit from development_mik_1 into development
Owner

Second repo in the home#188 CI sweep.

Why CI is red

Commit 16baab3 ("refactor: update proxy architecture, remove legacy build scripts") deleted:

  • 143-line Makefile
  • 2,500-line scripts/build_lib.sh

Intent was "build now handled by cargo/hero_proc" — but .forgejo/workflows/test.yaml was not updated. It still calls make check, make test, make fmt-check, make lint. Every CI step has died on make: *** No rule to make target 'check'. Stop. since.

Fix

Restore the contract with a slim 70-line Makefile that calls cargo directly — no scripts/build_lib.sh dependency (we don't reintroduce 2,500 lines of removed scripts). Operations that needed build_lib.sh (install, run, ship-binary) are now handled by hero_proc per the original 16baab3 intent; cargo is the only thing this Makefile wraps.

Targets:

help, version           informational
check, test, test-unit  cargo check / cargo test
build                   cargo build --release
fmt, fmt-check          cargo fmt / cargo fmt --check
lint                    cargo clippy -D warnings
clean                   cargo clean

Local verification

make check     ✓
make test      ✓ (39 tests pass)
make build     ✓ (release build)
make version   → Hero Proxy v0.5.0

Out of scope (intentional — per home#188 discipline)

Flagging both for separate follow-up PRs (no silent disables here):

  • cargo fmt --check exits 1 on pre-existing format drift in crates/hero_proxy_server/src/{db,lib}.rs. Current test.yaml has continue-on-error: true on Format so it doesn't block CI green; this PR doesn't change that. Will normalize via style: cargo fmt prep commit when canonicalising the workflow (next PR for this repo).
  • cargo clippy -D warnings flags unnecessary_cast in hero_proxy_tests/integration.rs. Same pattern — continue-on-error: true in current workflow. Real fix (clippy warnings + remove continue-on-error) is the canonicalisation follow-up PR.

Discipline confirmation:

  • Diagnosed root cause (CI references make targets that no longer exist)
  • Real fix (restored the contract)
  • Did NOT silently update workflow to skip make calls
  • Did NOT silently re-introduce build_lib.sh against original refactor's intent

Tracker

home#188 — Green CI on every Hero distribution repo. Repo 2 of 20.

Reference (first port): hero_proc PR #49

Signed-off-by: mik-tf

Second repo in the [home#188](https://forge.ourworld.tf/lhumina_code/home/issues/188) CI sweep. ## Why CI is red Commit [`16baab3`](https://forge.ourworld.tf/lhumina_code/hero_proxy/commit/16baab3) ("refactor: update proxy architecture, remove legacy build scripts") deleted: - 143-line `Makefile` - 2,500-line `scripts/build_lib.sh` Intent was "build now handled by cargo/hero_proc" — but `.forgejo/workflows/test.yaml` was **not updated**. It still calls `make check`, `make test`, `make fmt-check`, `make lint`. Every CI step has died on `make: *** No rule to make target 'check'. Stop.` since. ## Fix Restore the contract with a slim 70-line Makefile that calls cargo directly — **no `scripts/build_lib.sh` dependency** (we don't reintroduce 2,500 lines of removed scripts). Operations that needed build_lib.sh (install, run, ship-binary) are now handled by hero_proc per the original 16baab3 intent; cargo is the only thing this Makefile wraps. Targets: ``` help, version informational check, test, test-unit cargo check / cargo test build cargo build --release fmt, fmt-check cargo fmt / cargo fmt --check lint cargo clippy -D warnings clean cargo clean ``` ## Local verification ``` make check ✓ make test ✓ (39 tests pass) make build ✓ (release build) make version → Hero Proxy v0.5.0 ``` ## Out of scope (intentional — per home#188 discipline) Flagging both for separate follow-up PRs (no silent disables here): - **`cargo fmt --check`** exits 1 on pre-existing format drift in `crates/hero_proxy_server/src/{db,lib}.rs`. Current `test.yaml` has `continue-on-error: true` on Format so it doesn't block CI green; this PR doesn't change that. Will normalize via `style: cargo fmt` prep commit when canonicalising the workflow (next PR for this repo). - **`cargo clippy -D warnings`** flags `unnecessary_cast` in `hero_proxy_tests/integration.rs`. Same pattern — `continue-on-error: true` in current workflow. Real fix (clippy warnings + remove continue-on-error) is the canonicalisation follow-up PR. **Discipline confirmation:** - ✅ Diagnosed root cause (CI references make targets that no longer exist) - ✅ Real fix (restored the contract) - ❌ Did NOT silently update workflow to skip make calls - ❌ Did NOT silently re-introduce build_lib.sh against original refactor's intent ## Tracker [home#188](https://forge.ourworld.tf/lhumina_code/home/issues/188) — Green CI on every Hero distribution repo. Repo 2 of 20. Reference (first port): [hero_proc PR #49](https://forge.ourworld.tf/lhumina_code/hero_proc/pulls/49) Signed-off-by: mik-tf
fix(ci): restore Makefile so build.yaml workflow's make calls work
All checks were successful
Build & Test / check (push) Successful in 3m8s
Build & Test / check (pull_request) Successful in 3m12s
0ddcc4eb49
CI has been red since commit 16baab3 ("refactor: update proxy
architecture, remove legacy build scripts").  That commit deleted the
143-line Makefile + 2,500-line scripts/build_lib.sh with the intent
"build now handled by cargo/hero_proc" — but it did NOT update
.forgejo/workflows/test.yaml, which still calls `make check`,
`make test`, `make fmt-check`, `make lint`.  Result: every CI step
fails with `make: *** No rule to make target 'check'.  Stop.`

Restored the contract with a SLIM 70-line Makefile that calls cargo
directly — no scripts/build_lib.sh dependency.  Operations that
needed build_lib.sh (install, run, ship-binary) are now handled by
hero_proc directly per the original 16baab3 intent; cargo is the only
thing this Makefile wraps.

Targets:
  help, version           informational
  check, test, test-unit  cargo check / cargo test
  build                   cargo build --release
  fmt, fmt-check          cargo fmt / cargo fmt --check
  lint                    cargo clippy -D warnings
  clean                   cargo clean

Local verification:
  make check     ✓
  make test      ✓ (39 tests pass)
  make build     ✓
  make version   → Hero Proxy v0.5.0

Out of scope (intentional — per home#188 discipline, separate follow-up):
- `cargo fmt --check` exits 1 on pre-existing format drift in
  crates/hero_proxy_server/src/{db,lib}.rs.  Current workflow has
  `continue-on-error: true` on the Format step so it doesn't block
  CI green; will normalise via `style: cargo fmt` prep commit when
  the workflow is canonicalised (follow-up PR).
- `cargo clippy -D warnings` flags `unnecessary_cast` warnings in
  hero_proxy_tests/integration.rs.  Same pattern — currently
  `continue-on-error: true` in workflow, doesn't block.  Real fix
  in follow-up PR (remove continue-on-error + fix clippy warnings).

Second repo in the home#188 CI sweep.

Tracker: lhumina_code/home#188
Reference: lhumina_code/hero_proc#49 (first port)

Signed-off-by: mik-tf
mik-tf closed this pull request 2026-04-25 23:56:43 +00:00
Author
Owner

Squash-merged to development as 919c391. Branch deleted.

Squash-merged to `development` as [`919c391`](https://forge.ourworld.tf/lhumina_code/hero_proxy/commit/919c391). Branch deleted.
All checks were successful
Build & Test / check (push) Successful in 3m8s
Build & Test / check (pull_request) Successful in 3m12s

Pull request closed

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_proxy!26
No description provided.