@@ -161,6 +161,62 @@ jobs:
161161 run : |
162162 bazel run //:example
163163
164+ cross-compile :
165+ runs-on : ubuntu-latest
166+ strategy :
167+ fail-fast : false
168+ matrix :
169+ target :
170+ # Linux targets - x86/x64
171+ - { arch: x86_64-linux-gnu, name: "Linux x86_64 (glibc)" }
172+ - { arch: x86_64-linux-musl, name: "Linux x86_64 (musl)" }
173+ - { arch: x86-linux-gnu, name: "Linux x86 (32-bit)" }
174+
175+ # Linux targets - ARM
176+ - { arch: aarch64-linux-gnu, name: "Linux ARM64 (glibc)" }
177+ - { arch: aarch64-linux-musl, name: "Linux ARM64 (musl)" }
178+ - { arch: arm-linux-gnueabihf, name: "Linux ARM (hard-float)" }
179+ - { arch: arm-linux-gnueabi, name: "Linux ARM (soft-float)" }
180+
181+ # Linux targets - RISC-V
182+ - { arch: riscv64-linux-gnu, name: "Linux RISC-V 64 (glibc)" }
183+ - { arch: riscv64-linux-musl, name: "Linux RISC-V 64 (musl)" }
184+
185+ # Linux targets - Other architectures
186+ - { arch: powerpc64le-linux-gnu, name: "Linux PowerPC64 LE" }
187+ - { arch: s390x-linux-gnu, name: "Linux s390x (IBM Z)" }
188+ - { arch: mips64el-linux-gnuabi64, name: "Linux MIPS64 LE" }
189+ - { arch: loongarch64-linux-gnu, name: "Linux LoongArch64" }
190+
191+ # macOS targets
192+ - { arch: x86_64-macos, name: "macOS x86_64 (Intel)" }
193+ - { arch: aarch64-macos, name: "macOS ARM64 (Apple Silicon)" }
194+
195+ # Windows targets
196+ - { arch: x86_64-windows-gnu, name: "Windows x86_64" }
197+ - { arch: x86-windows-gnu, name: "Windows x86 (32-bit)" }
198+
199+ steps :
200+ - uses : actions/checkout@v4
201+ - uses : mlugg/setup-zig@v2
202+
203+ - name : Compile the example
204+ run : |
205+ zig cc example/main.c dist/core.c \
206+ -I includes/ \
207+ -target ${{ matrix.target.arch }} \
208+ -Wall \
209+ -Werror \
210+ -Wno-format-security \
211+ -Wno-unused-but-set-variable \
212+ -Wno-unused-const-variable \
213+ -Wno-type-limits \
214+ -Wno-uninitialized \
215+ -Wno-constant-conversion \
216+ -Wno-incompatible-pointer-types \
217+ -Wno-unused-function \
218+ -o example.out
219+
164220 check :
165221 runs-on : ubuntu-latest
166222 if : always()
@@ -170,6 +226,7 @@ jobs:
170226 - build
171227 - test-build-cmake
172228 - test-build-bazel
229+ - cross-compile
173230 steps :
174231 - uses : re-actors/alls-green@release/v1
175232 with :
0 commit comments