1
Fork 0
hermetic_cc_toolchain/.build.yml

45 lines
2.0 KiB
YAML

image: debian/testing
packages:
- direnv
- file
sources:
- https://git.sr.ht/~motiejus/bazel-zig-cc
environment:
CC: /usr/bin/false
tasks:
- setup: |
sudo apt-get purge gcc -y && sudo apt-get autoremove -y
- test_list_toolchains: |
cd bazel-zig-cc; . .envrc; echo "Available toolchains:"
bazel query @zig_sdk//... | sed -En '/.*_toolchain$/ s/.*:(.*)_toolchain$/\1/p'
- test_default: |
cd bazel-zig-cc; . .envrc; ./build-and-file \
//test:hello | \
grep -q "ELF 64-bit.* x86-64.* dynamically linked"
- test_amd64-linux-gnu: |
cd bazel-zig-cc; . .envrc; ./build-and-file \
--platforms @io_bazel_rules_go//go/toolchain:linux_amd64_cgo //test:hello | \
grep -q "ELF 64-bit.* x86-64.* dynamically linked"
- test_amd64-linux-musl: |
cd bazel-zig-cc; . .envrc; ./build-and-file \
--platforms @io_bazel_rules_go//go/toolchain:linux_amd64_cgo \
--extra_toolchains @zig_sdk//:linux_amd64_musl_toolchain //test:hello | \
grep -q "ELF 64-bit.* x86-64.* statically linked"
- test_arm64-linux-gnu: |
cd bazel-zig-cc; . .envrc; ./build-and-file \
--platforms @io_bazel_rules_go//go/toolchain:linux_arm64_cgo //test:hello | \
grep -q "ELF 64-bit.* ARM aarch64.* dynamically linked"
- test_arm64-linux-musl: |
cd bazel-zig-cc; . .envrc; ./build-and-file \
--platforms @io_bazel_rules_go//go/toolchain:linux_arm64_cgo \
--extra_toolchains @zig_sdk//:linux_arm64_musl_toolchain //test:hello | \
grep -q "ELF 64-bit.* ARM aarch64.* statically linked"
- test_amd64-macos: |
cd bazel-zig-cc; . .envrc; ./build-and-file \
--platforms @io_bazel_rules_go//go/toolchain:darwin_amd64_cgo //test:hello | \
grep -q "Mach-O 64-bit x86_64 executable"
- test_arm64-macos-gnu: |
cd bazel-zig-cc; . .envrc; ./build-and-file \
--platforms @io_bazel_rules_go//go/toolchain:darwin_arm64_cgo //test:hello | \
grep -q "Mach-O 64-bit arm64 executable"