mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2024-11-27 15:41:46 +00:00
[SPIR-V] Add pre-commit CI workflow (#74092)
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)
This commit is contained in:
parent
d40eb0a575
commit
155a013225
29
.github/workflows/llvm-project-tests.yml
vendored
29
.github/workflows/llvm-project-tests.yml
vendored
@ -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
|
||||
|
29
.github/workflows/spirv-tests.yml
vendored
Normal file
29
.github/workflows/spirv-tests.yml
vendored
Normal file
@ -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"]'
|
Loading…
Reference in New Issue
Block a user