Fix Builds #29

Closed
opened 2026-06-19 03:28:38 +00:00 by dark · 1 comment
Owner

We're compiling the same binary multiple times, needs fixes.

We're compiling the same binary multiple times, needs fixes.
Collaborator

Fixed in d301608 and live-verified by tag v0.2.0-rc6.

Cause: every v* tag fired both docker.yml and release.yml, and each ran a full cold cargo build --release of the same binary (~24 min/tag wasted).

Fix: merged the two workflows into one docker.yml. The image job is the sole compile; a new tag-gated packages job (needs: [image]) pulls the just-pushed image, docker cps /app/nether-voicebridge into target/release/, runs nfpm, and publishes the release — no second toolchain, no second compile. release.yml deleted.

Verification (rc6 run): image succeeded, then packages ran in ~3.5 min (vs ~12 min for a compile) and attached real 38 MB .deb/.rpm. Master pushes run only image (packages correctly skipped). The packaged binary is now byte-identical to the one in the image.

Out of scope / follow-up: in-Docker build caching (cold ~12 min cargo-chef builds remain; registry cache 413s on the Cloudflare cap, type=gha is the future option).

Fixed in `d301608` and live-verified by tag `v0.2.0-rc6`. **Cause:** every `v*` tag fired both `docker.yml` and `release.yml`, and each ran a full cold `cargo build --release` of the same binary (~24 min/tag wasted). **Fix:** merged the two workflows into one `docker.yml`. The `image` job is the sole compile; a new tag-gated `packages` job (`needs: [image]`) pulls the just-pushed image, `docker cp`s `/app/nether-voicebridge` into `target/release/`, runs nfpm, and publishes the release — no second toolchain, no second compile. `release.yml` deleted. **Verification (rc6 run):** `image` succeeded, then `packages` ran in ~3.5 min (vs ~12 min for a compile) and attached real 38 MB `.deb`/`.rpm`. Master pushes run only `image` (packages correctly skipped). The packaged binary is now byte-identical to the one in the image. Out of scope / follow-up: in-Docker build caching (cold ~12 min cargo-chef builds remain; registry cache 413s on the Cloudflare cap, `type=gha` is the future option).
Sign in to join this conversation.
No milestone
No project
No assignees
2 participants
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
dark/nether-voicebridge#29
No description provided.