Skip to content

Commit 0b252d1

Browse files
committed
update docker images
1 parent c487e17 commit 0b252d1

File tree

4 files changed

+50
-28
lines changed

4 files changed

+50
-28
lines changed

.github/workflows/build.yml

+6-5
Original file line numberDiff line numberDiff line change
@@ -25,28 +25,29 @@ jobs:
2525
matrix:
2626
arch: [
2727
x86_64,
28-
aarch64
28+
aarch64,
2929
]
3030
version: [
3131
17.0.6,
32+
18.1.8,
3233
]
3334
steps:
34-
- uses: actions/checkout@v3
35+
- uses: actions/checkout@v4
3536

3637
- name: Log in to GitHub Container Registry
37-
uses: docker/login-action@v3.0.0
38+
uses: docker/login-action@v3.3.0
3839
with:
3940
registry: ${{ env.REGISTRY }}
4041
username: ${{ github.actor }}
4142
password: ${{ secrets.GITHUB_TOKEN }}
4243

4344
- name: Set up QEMU
44-
uses: docker/setup-qemu-action@v3
45+
uses: docker/setup-qemu-action@v3.2.0
4546
with:
4647
platforms: "arm64"
4748

4849
- name: Build and push image
49-
uses: docker/build-push-action@v5.1.0
50+
uses: docker/build-push-action@v6.7.0
5051
with:
5152
context: .
5253
push: true

Dockerfile

+40-19
Original file line numberDiff line numberDiff line change
@@ -3,28 +3,50 @@ FROM quay.io/pypa/manylinux2014_$ARCH
33

44
WORKDIR /ws
55

6+
## Install wget
7+
RUN yum -y install wget
8+
69
## Install Ninja
7-
RUN \
8-
git clone --depth 1 --branch v1.11.1 https://github.com/ninja-build/ninja.git && \
9-
cmake -S ninja -B build -DCMAKE_BUILD_TYPE=Release && \
10+
RUN git clone --depth 1 --branch v1.12.1 https://github.com/ninja-build/ninja.git && \
11+
cmake -S ninja -B build -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF && \
1012
cmake --build build --target install -j "$(nproc)" && \
1113
rm -rf ninja build
1214

13-
## Install ZLIB
14-
ARG ZLIB_TAG=v1.3
15-
RUN git clone --depth 1 --branch "$ZLIB_TAG" https://github.com/madler/zlib.git && \
16-
cmake -G Ninja -S zlib -B build -DCMAKE_BUILD_TYPE=Release -DCMAKE_POSITION_INDEPENDENT_CODE=ON && \
15+
## Install flatbuffers
16+
ARG FB_VERSION=23.5.26
17+
RUN wget -q https://github.com/google/flatbuffers/archive/refs/tags/v${FB_VERSION}.tar.gz && \
18+
tar xvf v${FB_VERSION}.tar.gz && \
19+
rm v${FB_VERSION}.tar.gz && \
20+
cmake -G Ninja -S flatbuffers-${FB_VERSION} -B build \
21+
-DCMAKE_BUILD_TYPE=Release \
22+
-DFLATBUFFERS_BUILD_TESTS=OFF \
23+
&& \
24+
cmake --build build --target install && \
25+
rm -rf flatbuffers-${FB_VERSION} build
26+
27+
## Install flatbuffers
28+
ARG WABT_VERSION=1.0.36
29+
RUN git clone --recursive --depth 1 --branch ${WABT_VERSION} https://github.com/WebAssembly/wabt.git && \
30+
cmake -G Ninja -S wabt -B build \
31+
-DCMAKE_BUILD_TYPE=Release \
32+
-DWITH_EXCEPTIONS=ON \
33+
-DBUILD_TESTS=OFF \
34+
-DBUILD_TOOLS=OFF \
35+
-DBUILD_LIBWASM=OFF \
36+
-DUSE_INTERNAL_SHA256=ON \
37+
&& \
1738
cmake --build build --target install && \
18-
rm -rf zlib build && \
19-
rm -f /usr/local/lib/libz.so*
39+
rm -rf wabt build
2040

2141
## Install LLVM
22-
ARG LLVM_TAG=llvmorg-17.0.6
23-
RUN git clone --depth 1 --branch "$LLVM_TAG" https://github.com/llvm/llvm-project.git
24-
RUN cmake \
25-
-G Ninja \
26-
-S llvm-project/llvm \
27-
-B build \
42+
ARG LLVM_TAG=llvmorg-18.1.8
43+
RUN wget -q https://github.com/llvm/llvm-project/archive/refs/tags/${LLVM_TAG}.tar.gz && \
44+
tar xf ${LLVM_TAG}.tar.gz && \
45+
rm ${LLVM_TAG}.tar.gz && \
46+
cmake -G Ninja -S llvm-project-${LLVM_TAG}/llvm -B build \
47+
"-DLLVM_ENABLE_PROJECTS=clang;lld" \
48+
"-DLLVM_ENABLE_RUNTIMES=compiler-rt" \
49+
"-DLLVM_TARGETS_TO_BUILD=WebAssembly;X86;AArch64;ARM;Hexagon;NVPTX;PowerPC;RISCV" \
2850
-DCMAKE_BUILD_TYPE=Release \
2951
-DLLVM_BUILD_32_BITS=OFF \
3052
-DLLVM_ENABLE_ASSERTIONS=ON \
@@ -34,18 +56,17 @@ RUN cmake \
3456
-DLLVM_ENABLE_EH=ON \
3557
-DLLVM_ENABLE_HTTPLIB=OFF \
3658
-DLLVM_ENABLE_IDE=OFF \
59+
-DLLVM_ENABLE_LIBEDIT=OFF \
3760
-DLLVM_ENABLE_LIBXML2=OFF \
3861
-DLLVM_ENABLE_OCAMLDOC=OFF \
39-
-DLLVM_ENABLE_PROJECTS="clang;lld" \
4062
-DLLVM_ENABLE_RTTI=ON \
4163
-DLLVM_ENABLE_TERMINFO=OFF \
4264
-DLLVM_ENABLE_WARNINGS=OFF \
43-
-DLLVM_ENABLE_ZLIB=ON \
65+
-DLLVM_ENABLE_ZLIB=OFF \
4466
-DLLVM_ENABLE_ZSTD=OFF \
4567
-DLLVM_INCLUDE_BENCHMARKS=OFF \
4668
-DLLVM_INCLUDE_EXAMPLES=OFF \
4769
-DLLVM_INCLUDE_TESTS=OFF \
48-
-DLLVM_TARGETS_TO_BUILD="X86;ARM;NVPTX;AArch64;Hexagon;PowerPC;WebAssembly" \
4970
&& \
5071
cmake --build build --target install && \
51-
rm -rf llvm-project build
72+
rm -rf llvm-project-${LLVM_TAG} build

README.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,10 @@ already, the following:
1919
the first argument. The `reset-docker.sh` script will delete
2020
**everything** from your local Docker instance, so be warned. But it can
2121
come in handy when disk space is an issue.
22-
5. Push the images via
22+
5. Push the images via:
2323

24-
docker push ghcr.io/halide/manylinux2014_aarch64-llvm:17.0.6
25-
docker push ghcr.io/halide/manylinux2014_x86_64-llvm:17.0.6
24+
docker push ghcr.io/halide/manylinux2014_aarch64-llvm:17.0.6
25+
docker push ghcr.io/halide/manylinux2014_x86_64-llvm:17.0.6
2626

2727
See the docs for more details: https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-container-registry
2828

build-images.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,5 +15,5 @@ build_image() {
1515
.
1616
}
1717

18-
build_image aarch64
18+
#build_image aarch64
1919
build_image x86_64

0 commit comments

Comments
 (0)