[llvm] [SPIR-V] Add pre-commit CI workflow (PR #74092)
via llvm-commits
llvm-commits at lists.llvm.org
Tue Dec 5 14:37:38 PST 2023
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-github-workflow
Author: Natalie Chouinard (sudonatalie)
<details>
<summary>Changes</summary>
Add a pre-commit CI workflow for the experimental SPIR-V backend. This action should only run when SPIR-V target or test files are modified. The `codegen-spirv` tests don't run as part of `check-all` because the SPIR-V backend is still experimental.
Depends on #<!-- -->73371 (for a green tree)
---
Full diff: https://github.com/llvm/llvm-project/pull/74092.diff
2 Files Affected:
- (modified) .github/workflows/llvm-project-tests.yml (+20-9)
- (added) .github/workflows/spirv-tests.yml (+29)
``````````diff
diff --git a/.github/workflows/llvm-project-tests.yml b/.github/workflows/llvm-project-tests.yml
index 996cfe41f047f..6751bde4a11a9 100644
--- a/.github/workflows/llvm-project-tests.yml
+++ b/.github/workflows/llvm-project-tests.yml
@@ -10,6 +10,11 @@ on:
required: false
projects:
required: false
+ extra_cmake_args:
+ required: false
+ os_list:
+ required: false
+ default: '["ubuntu-latest", "windows-2019", "macOS-11"]'
workflow_call:
inputs:
build_target:
@@ -20,6 +25,19 @@ on:
required: true
type: string
+ extra_cmake_args:
+ required: false
+ type: string
+
+ os_list:
+ required: false
+ type: string
+ # Use windows-2019 due to:
+ # https://developercommunity.visualstudio.com/t/Prev-Issue---with-__assume-isnan-/1597317
+ # We're using a specific version of macOS due to:
+ # https://github.com/actions/virtual-environments/issues/5900
+ default: '["ubuntu-latest", "windows-2019", "macOS-11"]'
+
concurrency:
# Skip intermediate builds: always.
# Cancel intermediate builds: only if it is a pull request build.
@@ -35,14 +53,7 @@ jobs:
strategy:
fail-fast: false
matrix:
- os:
- - ubuntu-latest
- # Use windows-2019 due to:
- # https://developercommunity.visualstudio.com/t/Prev-Issue---with-__assume-isnan-/1597317
- - windows-2019
- # We're using a specific version of macOS due to:
- # https://github.com/actions/virtual-environments/issues/5900
- - macOS-11
+ os: ${{ fromJSON(inputs.os_list) }}
steps:
- name: Setup Windows
if: startsWith(matrix.os, 'windows')
@@ -85,7 +96,7 @@ jobs:
# This should be a no-op for non-mac OSes
PKG_CONFIG_PATH: /usr/local/Homebrew/Library/Homebrew/os/mac/pkgconfig//12
with:
- cmake_args: '-GNinja -DLLVM_ENABLE_PROJECTS="${{ inputs.projects }}" -DCMAKE_BUILD_TYPE=Release -DLLDB_INCLUDE_TESTS=OFF -DCMAKE_C_COMPILER_LAUNCHER=sccache -DCMAKE_CXX_COMPILER_LAUNCHER=sccache'
+ cmake_args: '-GNinja -DLLVM_ENABLE_PROJECTS="${{ inputs.projects }}" -DCMAKE_BUILD_TYPE=Release -DLLDB_INCLUDE_TESTS=OFF -DCMAKE_C_COMPILER_LAUNCHER=sccache -DCMAKE_CXX_COMPILER_LAUNCHER=sccache ${{ inputs.extra_cmake_args }}'
build_target: '${{ inputs.build_target }}'
- name: Build and Test libclc
diff --git a/.github/workflows/spirv-tests.yml b/.github/workflows/spirv-tests.yml
new file mode 100644
index 0000000000000..0e1d0caca410c
--- /dev/null
+++ b/.github/workflows/spirv-tests.yml
@@ -0,0 +1,29 @@
+name: SPIR-V Tests
+
+permissions:
+ contents: read
+
+on:
+ workflow_dispatch:
+ pull_request:
+ paths:
+ - 'llvm/lib/Target/SPIRV/**'
+ - 'llvm/test/CodeGen/SPIRV/**'
+ - '.github/workflows/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 SPIR-V
+ uses: ./.github/workflows/llvm-project-tests.yml
+ with:
+ build_target: check-llvm-codegen-spirv
+ projects:
+ extra_cmake_args: '-DLLVM_TARGETS_TO_BUILD="" -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="SPIRV"'
+ os_list: '["ubuntu-latest"]'
``````````
</details>
https://github.com/llvm/llvm-project/pull/74092
More information about the llvm-commits
mailing list