ci: add arm_host to arch_name matrix option

Define whether we will also build for an ARM64 host.

"yes" - yes
"no" - explicitly do not build
"" - have not tried yet
This commit is contained in:
Matt McCormick 2024-04-04 06:02:44 -04:00 committed by Matt McCormick
parent 103d6485e6
commit 858a3d8755

View File

@ -65,6 +65,7 @@ jobs:
# Android images # Android images
- { - {
image: "android-arm", image: "android-arm",
arm_host: "",
stockfish: "yes", stockfish: "yes",
stockfish_arg: "ARCH=armv7 COMP=ndk", stockfish_arg: "ARCH=armv7 COMP=ndk",
ninja: "no", ninja: "no",
@ -86,6 +87,7 @@ jobs:
} }
- { - {
image: "android-arm64", image: "android-arm64",
arm_host: "",
stockfish: "yes", stockfish: "yes",
stockfish_arg: "ARCH=armv8 COMP=ndk", stockfish_arg: "ARCH=armv8 COMP=ndk",
ninja: "no", ninja: "no",
@ -107,6 +109,7 @@ jobs:
} }
- { - {
image: "android-x86", image: "android-x86",
arm_host: "",
stockfish: "yes", stockfish: "yes",
stockfish_arg: "ARCH=x86-32 COMP=ndk", stockfish_arg: "ARCH=x86-32 COMP=ndk",
ninja: "no", ninja: "no",
@ -128,6 +131,7 @@ jobs:
} }
- { - {
image: "android-x86_64", image: "android-x86_64",
arm_host: "",
stockfish: "yes", stockfish: "yes",
stockfish_arg: "ARCH=x86-64 COMP=ndk", stockfish_arg: "ARCH=x86-64 COMP=ndk",
ninja: "no", ninja: "no",
@ -150,6 +154,7 @@ jobs:
# Linux arm64/armv8 images # Linux arm64/armv8 images
- { - {
image: "linux-arm64", image: "linux-arm64",
arm_host: "",
stockfish: "yes", stockfish: "yes",
stockfish_arg: "ARCH=armv8", stockfish_arg: "ARCH=armv8",
ninja: "yes", ninja: "yes",
@ -171,6 +176,7 @@ jobs:
} }
- { - {
image: "linux-arm64-lts", image: "linux-arm64-lts",
arm_host: "",
stockfish: "yes", stockfish: "yes",
stockfish_arg: "ARCH=armv8", stockfish_arg: "ARCH=armv8",
ninja: "yes", ninja: "yes",
@ -192,6 +198,7 @@ jobs:
} }
- { - {
image: "linux-arm64-musl", image: "linux-arm64-musl",
arm_host: "",
stockfish: "yes", stockfish: "yes",
stockfish_arg: "ARCH=armv8", stockfish_arg: "ARCH=armv8",
ninja: "yes", ninja: "yes",
@ -213,6 +220,7 @@ jobs:
} }
- { - {
image: "linux-arm64-full", image: "linux-arm64-full",
arm_host: "",
stockfish: "yes", stockfish: "yes",
stockfish_arg: "ARCH=armv8", stockfish_arg: "ARCH=armv8",
ninja: "yes", ninja: "yes",
@ -235,6 +243,7 @@ jobs:
# Linux mipel images # Linux mipel images
- { - {
image: "linux-mipsel-lts", image: "linux-mipsel-lts",
arm_host: "",
stockfish: "no", stockfish: "no",
stockfish_arg: "", stockfish_arg: "",
ninja: "no", ninja: "no",
@ -257,6 +266,7 @@ jobs:
# Linux armv5 images # Linux armv5 images
- { - {
image: "linux-armv5", image: "linux-armv5",
arm_host: "",
stockfish: "no", stockfish: "no",
stockfish_arg: "", stockfish_arg: "",
ninja: "yes", ninja: "yes",
@ -278,6 +288,7 @@ jobs:
} }
- { - {
image: "linux-armv5-musl", image: "linux-armv5-musl",
arm_host: "",
stockfish: "no", stockfish: "no",
stockfish_arg: "", stockfish_arg: "",
ninja: "yes", ninja: "yes",
@ -299,6 +310,7 @@ jobs:
} }
- { - {
image: "linux-armv5-uclibc", image: "linux-armv5-uclibc",
arm_host: "",
stockfish: "no", stockfish: "no",
stockfish_arg: "", stockfish_arg: "",
ninja: "yes", ninja: "yes",
@ -321,6 +333,7 @@ jobs:
# Linux armv6 images # Linux armv6 images
- { - {
image: "linux-armv6", image: "linux-armv6",
arm_host: "",
stockfish: "no", stockfish: "no",
stockfish_arg: "", stockfish_arg: "",
ninja: "yes", ninja: "yes",
@ -342,6 +355,7 @@ jobs:
} }
- { - {
image: "linux-armv6-lts", image: "linux-armv6-lts",
arm_host: "",
stockfish: "no", stockfish: "no",
stockfish_arg: "", stockfish_arg: "",
ninja: "yes", ninja: "yes",
@ -363,6 +377,7 @@ jobs:
} }
- { - {
image: "linux-armv6-musl", image: "linux-armv6-musl",
arm_host: "",
stockfish: "no", stockfish: "no",
stockfish_arg: "", stockfish_arg: "",
ninja: "yes", ninja: "yes",
@ -385,6 +400,7 @@ jobs:
# Linux armv7 images # Linux armv7 images
- { - {
image: "linux-armv7", image: "linux-armv7",
arm_host: "",
stockfish: "yes", stockfish: "yes",
stockfish_arg: "ARCH=armv7", stockfish_arg: "ARCH=armv7",
ninja: "yes", ninja: "yes",
@ -406,6 +422,7 @@ jobs:
} }
- { - {
image: "linux-armv7a", image: "linux-armv7a",
arm_host: "",
stockfish: "yes", stockfish: "yes",
stockfish_arg: "ARCH=armv7-neon", stockfish_arg: "ARCH=armv7-neon",
ninja: "yes", ninja: "yes",
@ -427,6 +444,7 @@ jobs:
} }
- { - {
image: "linux-armv7a-lts", image: "linux-armv7a-lts",
arm_host: "",
stockfish: "yes", stockfish: "yes",
stockfish_arg: "ARCH=armv7-neon", stockfish_arg: "ARCH=armv7-neon",
ninja: "yes", ninja: "yes",
@ -448,6 +466,7 @@ jobs:
} }
- { - {
image: "linux-armv7-lts", image: "linux-armv7-lts",
arm_host: "",
stockfish: "yes", stockfish: "yes",
stockfish_arg: "ARCH=armv7", stockfish_arg: "ARCH=armv7",
ninja: "yes", ninja: "yes",
@ -469,6 +488,7 @@ jobs:
} }
- { - {
image: "linux-armv7l-musl", image: "linux-armv7l-musl",
arm_host: "",
stockfish: "yes", stockfish: "yes",
stockfish_arg: "ARCH=armv7", stockfish_arg: "ARCH=armv7",
ninja: "yes", ninja: "yes",
@ -491,6 +511,7 @@ jobs:
# Linux x86 images # Linux x86 images
- { - {
image: "linux-x86", image: "linux-x86",
arm_host: "",
stockfish: "yes", stockfish: "yes",
stockfish_arg: "ARCH=x86-32-sse41-popcnt", stockfish_arg: "ARCH=x86-32-sse41-popcnt",
ninja: "yes", ninja: "yes",
@ -513,6 +534,7 @@ jobs:
# Linux i686 images # Linux i686 images
- { - {
image: "linux-i686", image: "linux-i686",
arm_host: "",
stockfish: "no", stockfish: "no",
stockfish_arg: "", stockfish_arg: "",
ninja: "yes", ninja: "yes",
@ -535,6 +557,7 @@ jobs:
# Linux x86_64 images # Linux x86_64 images
- { - {
image: "linux-x64", image: "linux-x64",
arm_host: "",
stockfish: "yes", stockfish: "yes",
stockfish_arg: "ARCH=x86-64-modern", stockfish_arg: "ARCH=x86-64-modern",
ninja: "yes", ninja: "yes",
@ -556,6 +579,7 @@ jobs:
} }
- { - {
image: "linux-x64-tinycc", image: "linux-x64-tinycc",
arm_host: "",
stockfish: "yes", stockfish: "yes",
stockfish_arg: "ARCH=x86-64-modern", stockfish_arg: "ARCH=x86-64-modern",
ninja: "yes", ninja: "yes",
@ -577,6 +601,7 @@ jobs:
} }
- { - {
image: "linux-x64-clang", image: "linux-x64-clang",
arm_host: "",
stockfish: "yes", stockfish: "yes",
stockfish_arg: "ARCH=x86-64-modern COMP=clang", stockfish_arg: "ARCH=x86-64-modern COMP=clang",
ninja: "yes", ninja: "yes",
@ -598,6 +623,7 @@ jobs:
} }
- { - {
image: "linux-x86_64-full", image: "linux-x86_64-full",
arm_host: "",
stockfish: "yes", stockfish: "yes",
stockfish_arg: "ARCH=x86-64-modern", stockfish_arg: "ARCH=x86-64-modern",
ninja: "yes", ninja: "yes",
@ -620,6 +646,7 @@ jobs:
# Linux riscv images # Linux riscv images
- { - {
image: "linux-riscv32", image: "linux-riscv32",
arm_host: "",
stockfish: "no", stockfish: "no",
stockfish_arg: "", stockfish_arg: "",
ninja: "yes", ninja: "yes",
@ -641,6 +668,7 @@ jobs:
} }
- { - {
image: "linux-riscv64", image: "linux-riscv64",
arm_host: "",
stockfish: "no", stockfish: "no",
stockfish_arg: "", stockfish_arg: "",
ninja: "yes", ninja: "yes",
@ -663,6 +691,7 @@ jobs:
# Linux s390x images # Linux s390x images
- { - {
image: "linux-s390x", image: "linux-s390x",
arm_host: "",
stockfish: "no", stockfish: "no",
stockfish_arg: "", stockfish_arg: "",
ninja: "yes", ninja: "yes",
@ -685,6 +714,7 @@ jobs:
# Linux mips images # Linux mips images
- { - {
image: "linux-mips", image: "linux-mips",
arm_host: "",
stockfish: "no", stockfish: "no",
stockfish_arg: "", stockfish_arg: "",
ninja: "yes", ninja: "yes",
@ -706,6 +736,7 @@ jobs:
} }
- { - {
image: "linux-mips-uclibc", image: "linux-mips-uclibc",
arm_host: "",
stockfish: "no", stockfish: "no",
stockfish_arg: "", stockfish_arg: "",
ninja: "yes", ninja: "yes",
@ -728,6 +759,7 @@ jobs:
# Linux mips images # Linux mips images
- { - {
image: "linux-mips-lts", image: "linux-mips-lts",
arm_host: "",
stockfish: "no", stockfish: "no",
stockfish_arg: "", stockfish_arg: "",
ninja: "yes", ninja: "yes",
@ -772,6 +804,7 @@ jobs:
# Linux ppc64le images # Linux ppc64le images
- { - {
image: "linux-ppc64le", image: "linux-ppc64le",
arm_host: "",
stockfish: "yes", stockfish: "yes",
stockfish_arg: "ARCH=ppc-64", stockfish_arg: "ARCH=ppc-64",
ninja: "yes", ninja: "yes",
@ -794,6 +827,7 @@ jobs:
# Linux ppc64le-lts images # Linux ppc64le-lts images
- { - {
image: "linux-ppc64le-lts", image: "linux-ppc64le-lts",
arm_host: "",
stockfish: "yes", stockfish: "yes",
stockfish_arg: "ARCH=ppc-64", stockfish_arg: "ARCH=ppc-64",
ninja: "yes", ninja: "yes",
@ -816,6 +850,7 @@ jobs:
# Linux m68k images # Linux m68k images
- { - {
image: "linux-m68k-uclibc", image: "linux-m68k-uclibc",
arm_host: "",
stockfish: "no", stockfish: "no",
stockfish_arg: "", stockfish_arg: "",
ninja: "no", ninja: "no",
@ -838,6 +873,7 @@ jobs:
# Linux xtensa images # Linux xtensa images
- { - {
image: "linux-xtensa-uclibc", image: "linux-xtensa-uclibc",
arm_host: "",
stockfish: "no", stockfish: "no",
stockfish_arg: "", stockfish_arg: "",
ninja: "yes", ninja: "yes",
@ -860,6 +896,7 @@ jobs:
# Windows x86_x64 images # Windows x86_x64 images
- { - {
image: "windows-static-x64", image: "windows-static-x64",
arm_host: "",
stockfish: "yes", stockfish: "yes",
stockfish_arg: "ARCH=x86-64-modern COMP=mingw", stockfish_arg: "ARCH=x86-64-modern COMP=mingw",
ninja: "no", ninja: "no",
@ -881,6 +918,7 @@ jobs:
} }
- { - {
image: "windows-static-x64-posix", image: "windows-static-x64-posix",
arm_host: "",
stockfish: "yes", stockfish: "yes",
stockfish_arg: "ARCH=x86-64-modern COMP=mingw", stockfish_arg: "ARCH=x86-64-modern COMP=mingw",
ninja: "no", ninja: "no",
@ -902,6 +940,7 @@ jobs:
} }
- { - {
image: "windows-shared-x64", image: "windows-shared-x64",
arm_host: "",
stockfish: "no", stockfish: "no",
stockfish_arg: "", stockfish_arg: "",
ninja: "no", ninja: "no",
@ -923,6 +962,7 @@ jobs:
} }
- { - {
image: "windows-shared-x64-posix", image: "windows-shared-x64-posix",
arm_host: "",
stockfish: "no", stockfish: "no",
stockfish_arg: "", stockfish_arg: "",
ninja: "no", ninja: "no",
@ -945,6 +985,7 @@ jobs:
# Windows x86 images # Windows x86 images
- { - {
image: "windows-static-x86", image: "windows-static-x86",
arm_host: "",
stockfish: "yes", stockfish: "yes",
stockfish_arg: "ARCH=x86-32-sse41-popcnt COMP=mingw", stockfish_arg: "ARCH=x86-32-sse41-popcnt COMP=mingw",
ninja: "no", ninja: "no",
@ -966,6 +1007,7 @@ jobs:
} }
- { - {
image: "windows-shared-x86", image: "windows-shared-x86",
arm_host: "",
stockfish: "no", stockfish: "no",
stockfish_arg: "", stockfish_arg: "",
ninja: "no", ninja: "no",
@ -988,6 +1030,7 @@ jobs:
# Windows arm images # Windows arm images
- { - {
image: "windows-armv7", image: "windows-armv7",
arm_host: "",
stockfish: "no", stockfish: "no",
stockfish_arg: "ARCH=armv7-neon COMP=clang", stockfish_arg: "ARCH=armv7-neon COMP=clang",
ninja: "yes", ninja: "yes",
@ -1009,6 +1052,7 @@ jobs:
} }
- { - {
image: "windows-arm64", image: "windows-arm64",
arm_host: "",
stockfish: "no", stockfish: "no",
stockfish_arg: "ARCH=armv8 COMP=clang", stockfish_arg: "ARCH=armv8 COMP=clang",
ninja: "yes", ninja: "yes",
@ -1031,6 +1075,7 @@ jobs:
# manylinux_2_28 images # manylinux_2_28 images
- { - {
image: "manylinux_2_28-x64", image: "manylinux_2_28-x64",
arm_host: "",
stockfish: "yes", stockfish: "yes",
stockfish_arg: "ARCH=x86-64-modern", stockfish_arg: "ARCH=x86-64-modern",
ninja: "yes", ninja: "yes",
@ -1053,6 +1098,7 @@ jobs:
# manylinux2014 images # manylinux2014 images
- { - {
image: "manylinux2014-x86", image: "manylinux2014-x86",
arm_host: "",
stockfish: "yes", stockfish: "yes",
stockfish_arg: "ARCH=x86-32-sse41-popcnt", stockfish_arg: "ARCH=x86-32-sse41-popcnt",
ninja: "yes", ninja: "yes",
@ -1074,6 +1120,7 @@ jobs:
} }
- { - {
image: "manylinux2014-x64", image: "manylinux2014-x64",
arm_host: "",
stockfish: "yes", stockfish: "yes",
stockfish_arg: "ARCH=x86-64-modern", stockfish_arg: "ARCH=x86-64-modern",
ninja: "yes", ninja: "yes",
@ -1095,6 +1142,7 @@ jobs:
} }
- { - {
image: "manylinux2014-aarch64", image: "manylinux2014-aarch64",
arm_host: "",
stockfish: "no", stockfish: "no",
stockfish_arg: "", stockfish_arg: "",
ninja: "no", ninja: "no",
@ -1117,6 +1165,7 @@ jobs:
# web-wasm images # web-wasm images
- { - {
image: "web-wasm", image: "web-wasm",
arm_host: "",
stockfish: "no", stockfish: "no",
stockfish_arg: "", stockfish_arg: "",
ninja: "no", ninja: "no",
@ -1138,6 +1187,7 @@ jobs:
} }
- { - {
image: "web-wasi", image: "web-wasi",
arm_host: "",
stockfish: "no", stockfish: "no",
stockfish_arg: "", stockfish_arg: "",
ninja: "no", ninja: "no",
@ -1159,6 +1209,7 @@ jobs:
} }
- { - {
image: "web-wasi-threads", image: "web-wasi-threads",
arm_host: "",
stockfish: "no", stockfish: "no",
stockfish_arg: "", stockfish_arg: "",
ninja: "no", ninja: "no",
@ -1181,6 +1232,7 @@ jobs:
# Bare metal images # Bare metal images
- { - {
image: "bare-armv7emhf-nano_newlib", image: "bare-armv7emhf-nano_newlib",
arm_host: "",
stockfish: "no", stockfish: "no",
stockfish_arg: "", stockfish_arg: "",
ninja: "no", ninja: "no",
@ -1222,7 +1274,11 @@ jobs:
- name: build - name: build
env: env:
BUILD_CMD: build --cache-from type=gha --cache-to type=gha,mode=max BUILD_CMD: build --cache-from type=gha --cache-to type=gha,mode=max
run: make ${{ matrix.arch_name.image }} run: |
if test "${{ matrix.arch_name.arm_host }}" = "yes"; then
export BUILD_CMD="buildx build --platform linux/amd64,linux/arm64"
fi
make ${{ matrix.arch_name.image }}
- name: basic test - name: basic test
run: make ${{ matrix.arch_name.image }}.test run: make ${{ matrix.arch_name.image }}.test