diff --git a/compiled_starters/zig/codecrafters.yml b/compiled_starters/zig/codecrafters.yml index 77a7f76..31d465e 100644 --- a/compiled_starters/zig/codecrafters.yml +++ b/compiled_starters/zig/codecrafters.yml @@ -7,5 +7,5 @@ debug: false # Use this to change the Zig version used to run your code # on Codecrafters. # -# Available versions: zig-0.15 -buildpack: zig-0.15 +# Available versions: zig-0.15.2 +buildpack: zig-0.15.2 diff --git a/dockerfiles/zig-0.15.2.Dockerfile b/dockerfiles/zig-0.15.2.Dockerfile new file mode 100644 index 0000000..ded0015 --- /dev/null +++ b/dockerfiles/zig-0.15.2.Dockerfile @@ -0,0 +1,30 @@ +# syntax=docker/dockerfile:1.7-labs +FROM debian:bookworm + +RUN apt-get update && \ + apt-get install --no-install-recommends -y xz-utils=5.4.1-1 && \ + apt-get clean && \ + rm -rf /var/lib/apt/lists/* + +# Download and install Zig +RUN curl -O https://ziglang.org/download/0.15.2/zig-x86_64-linux-0.15.2.tar.xz \ + && tar -xf zig-x86_64-linux-0.15.2.tar.xz \ + && mv zig-x86_64-linux-0.15.2 /usr/local/zig \ + && rm zig-x86_64-linux-0.15.2.tar.xz + +# Add Zig to PATH +ENV PATH="/usr/local/zig:${PATH}" + +ENV CODECRAFTERS_DEPENDENCY_FILE_PATHS="build.zig,build.zig.zon" + +WORKDIR /app + +# .git & README.md are unique per-repository. We ignore them on first copy to prevent cache misses +COPY --exclude=.git --exclude=README.md . /app + +# This runs zig build +RUN .codecrafters/compile.sh + +# Cache build directory +RUN mkdir -p /app-cached +RUN mv /app/.zig-cache /app-cached/.zig-cache || true diff --git a/solutions/zig/01-gg4/code/codecrafters.yml b/solutions/zig/01-gg4/code/codecrafters.yml index 77a7f76..31d465e 100644 --- a/solutions/zig/01-gg4/code/codecrafters.yml +++ b/solutions/zig/01-gg4/code/codecrafters.yml @@ -7,5 +7,5 @@ debug: false # Use this to change the Zig version used to run your code # on Codecrafters. # -# Available versions: zig-0.15 -buildpack: zig-0.15 +# Available versions: zig-0.15.2 +buildpack: zig-0.15.2