name: MLIR SPIR-V Tests permissions: contents: read on: workflow_dispatch: pull_request: paths: - 'mlir/include/mlir/Dialect/SPIRV/**' - 'mlir/lib/Dialect/SPIRV/**' - 'mlir/include/mlir/Target/SPIRV/**' - 'mlir/lib/Target/SPIRV/**' - 'mlir/test/Target/SPIRV/**' - '.github/workflows/mlir-spirv-tests.yml' concurrency: # Skip intermediate builds: always. # Cancel intermediate builds: only if it is a pull request build. group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }} jobs: check_spirv: if: github.repository_owner == 'llvm' name: Test MLIR SPIR-V runs-on: ubuntu-24.04 container: image: ghcr.io/llvm/ci-ubuntu-24.04:latest steps: - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 - name: Setup ccache uses: hendrikmuhs/ccache-action@5ebbd400eff9e74630f759d94ddd7b6c26299639 # v1.2.20 with: max-size: 2G key: spirv-mlir-ubuntu-24.04 variant: sccache - name: Build and Test run: | mkdir build cmake -GNinja \ -S llvm \ -B build \ -DCMAKE_BUILD_TYPE=Release \ -DLLVM_ENABLE_ASSERTIONS=ON \ -DCMAKE_C_COMPILER_LAUNCHER=sccache \ -DCMAKE_CXX_COMPILER_LAUNCHER=sccache \ -DLLVM_TARGETS_TO_BUILD="host" \ -DLLVM_INCLUDE_SPIRV_TOOLS_TESTS=ON \ -DLLVM_ENABLE_PROJECTS=mlir ninja -C build check-mlir