name: Test LLVM Builder
on:
  pull_request:
    branches: ["main"]
    types: [opened, synchronize]
    paths:
      - 'crates/llvm-builder/**'
      - '.github/workflows/test-llvm-builder.yml'

concurrency:
  group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
  cancel-in-progress: true

env:
  CARGO_TERM_COLOR: always

jobs:
  test:
    strategy:
      matrix:
        runner: [parity-large, macos-15, windows-2022]
    runs-on: ${{ matrix.runner }}
    steps:
      - uses: actions/checkout@v4
        with:
          submodules: true
      - uses: actions-rust-lang/setup-rust-toolchain@v1
        with:
          # without this it will override our rust flags
          rustflags: ""
          cache-key: ${{ matrix.runner }}

      - name: Install Dependencies
        if: matrix.runner == 'parity-large'
        run: |
          sudo apt update && sudo apt-get install -y cmake ninja-build curl git libssl-dev pkg-config clang lld musl

      - name: Install Dependencies
        if: matrix.runner == 'macos-15'
        run: |
          brew install ninja

      - name: Test
        run: make test-llvm-builder
        env:
          RUST_LOG: trace
