fix(build): use rust-builder-glibc-windows for Windows cross-build #6

Merged
David merged 1 commit from fix/windows-build-mingw-image into main 2026-06-07 16:28:35 +02:00
Owner

Fixes YT-23.

Problem

build-binary-windows.yml failed in the dependency-priming stage: ring v0.17.14 could not find x86_64-w64-mingw32-gcc and windows-sys failed calling x86_64-w64-mingw32-dlltool. The builder stage used rust-builder-glibc, which deliberately excludes the mingw-w64 toolchain. Broken since governance adoption (0722193); the v1.0.1 image bump was unrelated.

Fix

  • Switch the builder stage to ghcr.io/niceguyit/rust-builder-glibc-windows:v1.1.0-rust1.94-trixie (current published version per oci-images config; manifest verified live on ghcr.io). This image ships gcc-mingw-w64-x86-64 and preinstalls the x86_64-pc-windows-gnu rustup target, matching the forgejo-mcp pattern.
  • Drop the now-redundant rustup target add x86_64-pc-windows-gnu layer.
  • justfile dev_image and the glibc/musl Dockerfiles stay on their existing images; only the Windows cross-build needs mingw.

Verification

Local docker buildx build --target binary --output type=local,dest=./output-test -f oci-build/Dockerfile.windows . completed and exported youtrack-mcp.exe (PE32+ executable, x86-64, 4.8MB).

Fixes YT-23. ## Problem `build-binary-windows.yml` failed in the dependency-priming stage: `ring v0.17.14` could not find `x86_64-w64-mingw32-gcc` and `windows-sys` failed calling `x86_64-w64-mingw32-dlltool`. The builder stage used `rust-builder-glibc`, which deliberately excludes the mingw-w64 toolchain. Broken since governance adoption (`0722193`); the v1.0.1 image bump was unrelated. ## Fix - Switch the builder stage to `ghcr.io/niceguyit/rust-builder-glibc-windows:v1.1.0-rust1.94-trixie` (current published version per oci-images config; manifest verified live on ghcr.io). This image ships `gcc-mingw-w64-x86-64` and preinstalls the `x86_64-pc-windows-gnu` rustup target, matching the forgejo-mcp pattern. - Drop the now-redundant `rustup target add x86_64-pc-windows-gnu` layer. - `justfile` dev_image and the glibc/musl Dockerfiles stay on their existing images; only the Windows cross-build needs mingw. ## Verification Local `docker buildx build --target binary --output type=local,dest=./output-test -f oci-build/Dockerfile.windows .` completed and exported `youtrack-mcp.exe` (PE32+ executable, x86-64, 4.8MB).
fix(build): use rust-builder-glibc-windows for Windows cross-build
All checks were successful
Check / fmt + clippy + build + tests (pull_request) Successful in 18s
Create release / Create release from merged PR (pull_request) Has been skipped
2e21fef0db
The Windows workflow built on rust-builder-glibc, which deliberately excludes the mingw-w64 toolchain, so ring failed to find x86_64-w64-mingw32-gcc and windows-sys failed calling x86_64-w64-mingw32-dlltool. Switch the builder stage to rust-builder-glibc-windows v1.1.0 (current published version), which ships gcc-mingw-w64-x86-64 and preinstalls the x86_64-pc-windows-gnu rustup target, matching forgejo-mcp. Drop the now-redundant rustup target add layer. Verified locally: docker buildx build --target binary with Dockerfile.windows exports a valid PE32+ youtrack-mcp.exe.

#YT-23

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
David merged commit 762821fa6c into main 2026-06-07 16:28:35 +02:00
David deleted branch fix/windows-build-mingw-image 2026-06-07 16:28:35 +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-mcp!6
No description provided.