1
hermetic_cc_toolchain/ci/test

66 lines
1.8 KiB
Plaintext
Raw Normal View History

2021-10-18 15:12:31 +03:00
#!/bin/bash
set -euo pipefail
cd "$(dirname "$0")/.."
. .envrc
_build_and_file() {
2021-10-21 11:39:46 +03:00
file "$(bazel run --color=yes --curses=yes --run_under=echo "$@")" | \
2021-10-21 11:38:24 +03:00
tee /dev/stderr
2021-10-18 15:12:31 +03:00
}
2022-02-03 18:01:32 +02:00
_run() {
>&2 echo " $*"
"$@"
}
_build() {
2021-10-18 15:12:31 +03:00
local name=$1
local glob=$2
shift; shift;
>&2 echo "================================================================"
>&2 echo "Building everything under //test/... for $name"
>&2 echo
2022-02-03 18:01:32 +02:00
_run bazel build --color=yes --curses=yes "$@" //test/...
>&2 echo
2021-10-18 15:12:31 +03:00
>&2 echo "Testing $name and looking for '$glob':"
>&2 echo
2022-02-03 18:01:32 +02:00
if _run _build_and_file "$@" //test/go:go | grep -q "$glob"; then
2021-10-18 15:12:31 +03:00
>&2 echo "OK $name"
return 0
else
>&2 echo "FAIL $name: glob does not match"
return 1
fi
}
2022-02-03 18:01:32 +02:00
_build "Host" \
2021-10-18 15:12:31 +03:00
"ELF 64-bit.* x86-64.* dynamically linked"
2022-02-03 18:01:32 +02:00
_build "darwin_amd64" \
"Mach-O 64-bit x86_64 executable" \
--platforms @zig_sdk//:darwin_amd64_platform
2021-12-13 03:33:24 +02:00
# hello world on darwin/arm64 requires OSX SDK via `zig cc --sysroot=<...>`.
# see https://github.com/ziglang/zig/issues/10299#issuecomment-989595215
2022-02-03 18:01:32 +02:00
#_build "darwin_arm64" \
2021-12-13 03:33:24 +02:00
# "Mach-O 64-bit arm64 executable" \
# --platforms @zig_sdk//:darwin_arm64_platform
2022-02-03 18:01:32 +02:00
_build "linux_amd64_gnu" \
2021-10-18 15:12:31 +03:00
"ELF 64-bit.* x86-64.* dynamically linked" \
--platforms @zig_sdk//:linux_amd64_platform
2021-10-18 15:12:31 +03:00
2022-02-03 18:01:32 +02:00
_build "linux_amd64_musl" \
2021-10-18 15:12:31 +03:00
"ELF 64-bit.* x86-64.* statically linked" \
--platforms @zig_sdk//:linux_amd64_platform \
2021-10-18 15:12:31 +03:00
--extra_toolchains @zig_sdk//:linux_amd64_musl_toolchain
2022-02-03 18:01:32 +02:00
_build "linux_arm64_gnu" \
2021-10-18 15:12:31 +03:00
"ELF 64-bit.* ARM aarch64.* dynamically linked" \
--platforms @zig_sdk//:linux_arm64_platform
2021-10-18 15:12:31 +03:00
2022-02-03 18:01:32 +02:00
_build "linux_arm64_musl" \
2021-10-18 15:12:31 +03:00
"ELF 64-bit.* ARM aarch64.* statically linked" \
--platforms @zig_sdk//:linux_arm64_platform \
2021-10-18 15:12:31 +03:00
--extra_toolchains @zig_sdk//:linux_arm64_musl_toolchain