ci(publish-binary): build binary in Docker via export stage, not on runner #9

Merged
David merged 2 commits from chore/remove-container-from-ci into main 2026-05-13 19:13:06 +02:00
Owner

The first revision of this branch built the binary on the runner with cargo build --release --locked, which bypassed the rust-builder-musl toolchain pinned in oci-build/Dockerfile and produced a glibc-linked binary tied to the runner's userspace. Switch back to a Docker build that targets the existing export stage and extracts the artifact via --output type=local,dest=./output. The result is byte-identical in shape to what the previous OCI workflow exported: a musl-static youtrack-cli-linux-x86_64. The image push, runtime stage, registry login, and registry-backed buildcache are intentionally still gone since the runtime image is not a deliverable for a CLI tool. Reintroduce a registry buildcache later only if CI build time becomes a real bottleneck.

The first revision of this branch built the binary on the runner with `cargo build --release --locked`, which bypassed the rust-builder-musl toolchain pinned in oci-build/Dockerfile and produced a glibc-linked binary tied to the runner's userspace. Switch back to a Docker build that targets the existing `export` stage and extracts the artifact via `--output type=local,dest=./output`. The result is byte-identical in shape to what the previous OCI workflow exported: a musl-static youtrack-cli-linux-x86_64. The image push, runtime stage, registry login, and registry-backed buildcache are intentionally still gone since the runtime image is not a deliverable for a CLI tool. Reintroduce a registry buildcache later only if CI build time becomes a real bottleneck.
ci(publish-binary): build binary in Docker via export stage, not on runner
Some checks failed
Check / fmt + clippy + build + tests (pull_request) Has been cancelled
3c971a3399
The first revision of this branch built the binary on the runner with `cargo build --release --locked`, which bypassed the rust-builder-musl toolchain pinned in oci-build/Dockerfile and produced a glibc-linked binary tied to the runner's userspace. Switch back to a Docker build that targets the existing `export` stage and extracts the artifact via `--output type=local,dest=./output`. The result is byte-identical in shape to what the previous OCI workflow exported: a musl-static youtrack-cli-linux-x86_64. The image push, runtime stage, registry login, and registry-backed buildcache are intentionally still gone since the runtime image is not a deliverable for a CLI tool. Reintroduce a registry buildcache later only if CI build time becomes a real bottleneck.
Merge branch 'main' into chore/remove-container-from-ci
All checks were successful
Check / fmt + clippy + build + tests (pull_request) Successful in 7s
Create release / Create release from merged PR (pull_request) Has been skipped
4df602fea1
David merged commit 1d9c9a414d into main 2026-05-13 19:13:06 +02:00
David deleted branch chore/remove-container-from-ci 2026-05-13 19:13:06 +02:00
Sign in to join this conversation.
No reviewers
No labels
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
pandoras-box/youtrack-cli!9
No description provided.