@@ -100,16 +100,7 @@ jobs:
100100 - host : ubuntu-latest
101101 downloadTarget : ' x86_64-unknown-linux-musl'
102102 target : ' x86_64-unknown-linux-musl'
103- docker : ghcr.io/brooooooklyn/canvas/musl-builder:lts
104- build : >-
105- set -e &&
106- apk add libc++-dev libc++-static &&
107- cp /usr/lib/gcc/x86_64-alpine-linux-musl/14.2.0/*.o /usr/lib/ &&
108- cp /usr/lib/gcc/x86_64-alpine-linux-musl/14.2.0/libgcc.a /usr/lib/ &&
109- cp /usr/lib/gcc/x86_64-alpine-linux-musl/14.2.0/libgcc_eh.a /usr/lib/ &&
110- wget "https://github.com/Brooooooklyn/canvas/releases/download/libcxxabi-$(cat llvm-version)/libc++abi-x86_64.a" &&
111- mv libc++abi-x86_64.a /usr/lib/libc++abi.a &&
112- CXXFLAGS="-std=c++20 -stdlib=libc++ -static -fPIC -fno-cxx-exceptions -fno-exceptions -I/usr/include/c++/v1" CC=clang CXX=clang++ yarn build --target x86_64-unknown-linux-musl
103+ build : yarn build --target x86_64-unknown-linux-musl -x
113104 - host : macos-latest
114105 downloadTarget : ' aarch64-apple-darwin'
115106 target : ' aarch64-apple-darwin'
@@ -129,22 +120,7 @@ jobs:
129120 - host : ubuntu-24.04-arm
130121 target : ' aarch64-unknown-linux-musl'
131122 downloadTarget : ' aarch64-unknown-linux-musl'
132- docker : node:18-alpine
133- build : >-
134- set -e &&
135- apk add musl-dev wget rustup bash python3 git build-base cmake perl clang llvm libc++-dev libc++-static llvm-libunwind-static tar xz ninja &&
136- apk add --no-cache --repository http://dl-cdn.alpinelinux.org/alpine/edge/testing gn perl meson &&
137- wget "https://github.com/Brooooooklyn/canvas/releases/download/libcxxabi-$(cat llvm-version)/libc++abi-aarch64.a" &&
138- mv libc++abi-aarch64.a /usr/lib/libc++abi.a &&
139- cp /usr/lib/gcc/aarch64-alpine-linux-musl/14.2.0/*.o /usr/lib/ &&
140- cp /usr/lib/gcc/aarch64-alpine-linux-musl/14.2.0/libgcc.a /usr/lib/ &&
141- cp /usr/lib/gcc/aarch64-alpine-linux-musl/14.2.0/libgcc_eh.a /usr/lib/ &&
142- export GN_EXE=gn &&
143- rustup-init -y --default-host aarch64-unknown-linux-musl &&
144- source "$HOME/.cargo/env" &&
145- export CXXFLAGS="-std=c++20 -stdlib=libc++ -static -fPIC -fno-cxx-exceptions -fno-exceptions -I/usr/include/c++/v1" &&
146- export CARGO_TARGET_AARCH64_UNKNOWN_LINUX_MUSL_LINKER=aarch64-alpine-linux-musl-gcc &&
147- CC=clang CXX=clang++ yarn build --target aarch64-unknown-linux-musl
123+ build : yarn build --target aarch64-unknown-linux-musl -x
148124 - host : ubuntu-latest
149125 target : ' aarch64-linux-android'
150126 downloadTarget : ' aarch64-linux-android'
@@ -187,9 +163,21 @@ jobs:
187163 run : echo "C:\\msys64\\mingw64\\bin" >> $GITHUB_PATH
188164 shell : bash
189165
166+ - uses : mlugg/setup-zig@v2
167+ if : ${{ contains(matrix.settings.target, 'musl') }}
168+ with :
169+ version : 0.15.1
170+ - name : Install cargo-zigbuild
171+ uses : taiki-e/install-action@v2
172+ if : ${{ contains(matrix.settings.target, 'musl') }}
173+ env :
174+ GITHUB_TOKEN : ${{ github.token }}
175+ with :
176+ tool : cargo-zigbuild
177+
190178 - name : Setup nasm
191179 uses : ilammy/setup-nasm@v1
192- if : matrix.settings.host == 'windows-latest'
180+ if : ${{ matrix.settings.host == 'windows-latest' || matrix.settings.target == 'x86_64-unknown-linux-musl' }}
193181
194182 - name : Install
195183 uses : ./.github/actions/setup-rust
@@ -233,17 +221,15 @@ jobs:
233221 steps :
234222 - name : Setup tools
235223 run : |
236- apt-get update
237- apt-get install -y gcc-9-arm-linux-gnueabihf g++-9-arm-linux-gnueabihf libatomic1-armhf-cross git build-essential cmake ninja-build wget curl gnupg
238- echo "deb http://apt.llvm.org/bullseye/ llvm-toolchain-bullseye-20 main" >> /etc/apt/sources.list
239- echo "deb-src http://apt.llvm.org/bullseye/ llvm-toolchain-bullseye-20 main" >> /etc/apt/sources.list
240- wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add -
241- apt-get update
242- apt-get install -y clang-20
243- ln -s /usr/bin/clang-20 /usr/bin/clang
244- ln -s /usr/bin/clang++-20 /usr/bin/clang++
245- ln -s /usr/bin/arm-linux-gnueabihf-gcc-9 /usr/bin/arm-linux-gnueabihf-gcc
246- ln -s /usr/bin/arm-linux-gnueabihf-g++-9 /usr/bin/arm-linux-gnueabihf-g++
224+ apt-get update
225+ apt-get install -y gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf libatomic1-armhf-cross git build-essential cmake ninja-build wget curl gnupg
226+ echo "deb http://apt.llvm.org/bullseye/ llvm-toolchain-bullseye-19 main" >> /etc/apt/sources.list
227+ echo "deb-src http://apt.llvm.org/bullseye/ llvm-toolchain-bullseye-19 main" >> /etc/apt/sources.list
228+ wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add -
229+ apt-get update
230+ apt-get install -y clang-19
231+ ln -s /usr/bin/clang-19 /usr/bin/clang
232+ ln -s /usr/bin/clang++-19 /usr/bin/clang++
247233 - uses : actions/checkout@v5
248234 with :
249235 submodules : true
0 commit comments