Skip to content

fix: correct Zig download URL, add libclang and cargo chef#6

Merged
knutties merged 10 commits into
mainfrom
fix/docker-build
Apr 22, 2026
Merged

fix: correct Zig download URL, add libclang and cargo chef#6
knutties merged 10 commits into
mainfrom
fix/docker-build

Conversation

@knutties

Copy link
Copy Markdown
Contributor

Summary

  • Fix Zig archive URL: naming convention is zig-x86_64-linux, not zig-linux-x86_64 (was returning 404)
  • Install xz-utils instead of unzip for .tar.xz extraction
  • Add libclang-dev for bindgen (required by tigerbeetle-unofficial sys crate)
  • Use curl -f to fail fast on HTTP errors instead of silently saving error pages

Test plan

  • Docker image built and pushed successfully from this branch
  • Image available at ghcr.io/juspay/purpose-bound-accounts

🤖 Generated with Claude Code

knutties and others added 10 commits April 22, 2026 15:13
The Zig archive naming convention is zig-x86_64-linux, not
zig-linux-x86_64. Also install xz-utils instead of unzip for
.tar.xz extraction, and use curl -f to fail on HTTP errors.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The tigerbeetle-unofficial sys crate uses bindgen which requires
libclang at build time.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Splits the build into planner/builder stages so dependency compilation
is cached as a separate Docker layer. Source-only changes skip the
~12 min dependency build entirely.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Avoids rustc version mismatch with cargo-chef dependencies by using
the official lukemathwalker/cargo-chef image which bundles a
compatible cargo-chef with the Rust toolchain.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Uses type=gha cache with buildx so cargo-chef dependency layers
persist across workflow runs on ephemeral GitHub runners.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The default docker driver doesn't support cache export. The
docker-container driver via setup-buildx-action enables it.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@knutties knutties merged commit eb1ecb2 into main Apr 22, 2026
8 checks passed
@knutties knutties changed the title fix: correct Zig download URL and add libclang for Docker build fix: correct Zig download URL, add libclang and cargo chef Apr 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant