image: debian/stable
packages:
  - direnv
sources:
  - https://git.sr.ht/~motiejus/test-zigcc
environment:
  CC: /usr/bin/false
triggers:
  - action: email
    condition: failure
    to: motiejus+srht@jakstys.lt
tasks:
  - setup: |
      sudo apt-get purge gcc -y && sudo apt-get autoremove -y
  - warmup:
      cd test-zigcc; . .envrc
      bazel --batch build --extra_toolchains=@llvm_toolchain//:cc-toolchain-x86_64-linux //:zigzag-0
      bazel --batch build --platforms=@zig_sdk//libc_aware/platform:linux_amd64_gnu.2.28 //:zigzag-0
  - llvm14-baseline: |
      cd test-zigcc; . .envrc
      bazel clean; bazel --batch build --extra_toolchains=@llvm_toolchain//:cc-toolchain-x86_64-linux ...
  - zig_cc-no_sandbox: |
      cd test-zigcc; . .envrc
      bazel clean; bazel --batch build --spawn_strategy=local --platforms=@zig_sdk//libc_aware/platform:linux_amd64_gnu.2.28 ...
  - zig_cc-devshm: |
      cd test-zigcc; . .envrc
      bazel clean; bazel --batch build --sandbox_base=/dev/shm --platforms=@zig_sdk//libc_aware/platform:linux_amd64_gnu.2.28 ...
  - zig_cc-plain: |
      cd test-zigcc; . .envrc
      bazel clean; bazel --batch build --platforms=@zig_sdk//libc_aware/platform:linux_amd64_gnu.2.28 ...
