File tree Expand file tree Collapse file tree 5 files changed +20
-12
lines changed Expand file tree Collapse file tree 5 files changed +20
-12
lines changed Original file line number Diff line number Diff line change 11ARG crystal_version
22FROM 84codes/crystal:${crystal_version}-alpine AS build
3+ ARG llvm_version=20
34
45RUN \
56 apk add --update --no-cache --force-overwrite \
6- llvm18-dev llvm18-static g++ libffi-dev
7+ llvm${llvm_version}-dev llvm${llvm_version}-static \
8+ g++ libffi-dev
79
810ENTRYPOINT []
911CMD ["/bin/sh" ]
Original file line number Diff line number Diff line change 1- ARG base_docker_image=alpine:3.20
1+ ARG base_docker_image=alpine:3.22
22FROM ${base_docker_image} as runtime
3+ ARG llvm_version=20
34
45RUN \
56 apk add --update --no-cache --force-overwrite \
67 # core dependencies
7- gcc gmp-dev libevent-static musl-dev pcre-dev pcre2-dev \
8+ gcc gmp-dev libevent-static musl-dev pcre-dev pcre2-dev pcre2-static \
89 # stdlib dependencies
9- gc-dev libxml2-dev libxml2-static openssl-dev openssl-libs-static tzdata yaml-static zlib-static xz-static \
10+ gc-dev gc-static libxml2-dev libxml2-static openssl-dev openssl-libs-static tzdata yaml-static zlib-static xz-static \
1011 # dev tools
1112 make git
1213
@@ -26,6 +27,7 @@ FROM runtime as build
2627
2728RUN \
2829 apk add --update --no-cache --force-overwrite \
29- llvm18-dev llvm18-static g++ libffi-dev
30+ llvm${llvm_version}-dev llvm${llvm_version}-static \
31+ g++ libffi-dev
3032
3133CMD ["/bin/sh" ]
Original file line number Diff line number Diff line change 11ARG base_docker_image=ubuntu:24.04
22FROM ${base_docker_image} as runtime
3+ ARG llvm_version=20
34
45RUN \
56 apt-get update && \
@@ -23,9 +24,9 @@ FROM runtime as build
2324
2425RUN \
2526 apt-get update && \
26- apt-get install -y build-essential llvm-18 lld-18 libedit-dev gdb libffi-dev && \
27+ apt-get install -y build-essential llvm-${llvm_version} lld-${llvm_version} libedit-dev gdb libffi-dev && \
2728 apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
2829
29- RUN ln -sf /usr/bin/ld.lld-18 /usr/bin/ld.lld
30+ RUN ln -sf /usr/bin/ld.lld-${llvm_version} /usr/bin/ld.lld
3031
3132CMD ["/bin/sh" ]
Original file line number Diff line number Diff line change @@ -17,14 +17,15 @@ RUN git clone https://github.com/ivmai/bdwgc \
1717 && ./configure --disable-debug --disable-shared --enable-large-config \
1818 && make -j$(nproc)
1919
20- FROM alpine:3.20
20+ FROM alpine:3.22
21+ ARG llvm_version=20
2122
2223# Install dependencies
2324RUN apk add --no-cache \
2425 # Statically-compiled llvm
25- llvm18 -dev llvm18 -static \
26+ llvm${llvm_version} -dev llvm${llvm_version} -static \
2627 # Static stdlib dependencies
27- gc-dev zlib-static yaml-static libxml2-static pcre2-dev libevent-static zstd-static \
28+ gc-dev gc-static zlib-static yaml-static libxml2-static pcre2-dev pcre2-static libevent-static zstd-static \
2829 # Static compiler dependencies
2930 libffi-dev \
3031 # Build tools
@@ -39,7 +40,7 @@ ENV CFLAGS="-fPIC -pipe ${release:+-O2}"
3940# This particularly affects libgc which was bundled upto Crystal 1.12
4041ENV CRYSTAL_LIBRARY_PATH=""
4142
42- RUN llvm18 -config --version
43+ RUN llvm${llvm_version} -config --version
4344
4445ARG previous_crystal_release
4546ADD ${previous_crystal_release} /tmp/crystal.tar.gz
Original file line number Diff line number Diff line change 22
33@test " bundled tarball" {
44 docker run -v $( pwd) /build:/build debian /bin/sh -e -c '
5- apt update && apt install -y gcc
5+ apt update && apt install -y gcc pkg-config
66 tar -xf /build/crystal*-bundled.tar.gz
7+ crystal-*/bin/crystal env
8+ crystal-*/bin/crystal --version
79 crystal-*/bin/crystal eval "puts \"Hello World\""'
810}
You can’t perform that action at this time.
0 commit comments