image: debian/testing packages: - wget - 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"