blob: d4dbbc6bc6a02d1857a9c7038149aa2fa81a07df [file] [log] [blame]
name: libclc Tests
on:
push:
branches:
- 'release/**'
paths:
- 'clang/**'
- 'llvm/**'
- 'libclc/**'
- '.github/workflows/libclc-tests.yml'
pull_request:
paths:
- 'clang/**'
- 'llvm/**'
- 'libclc/**'
- '.github/workflows/libclc-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:
build_libclc:
name: libclc test
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
# Disable build on windows, because I can't figure out where llvm-config is.
#- windows-latest
- macOS-latest
steps:
- name: Setup Windows
if: startsWith(matrix.os, 'windows')
uses: llvm/actions/setup-windows@main
with:
arch: amd64
- name: Install Ninja
uses: llvm/actions/install-ninja@main
- uses: actions/checkout@v1
with:
fetch-depth: 250
- name: Build clang
uses: llvm/actions/build-test-llvm-project@main
with:
cmake_args: -G Ninja -DLLVM_ENABLE_PROJECTS="clang" -DCMAKE_BUILD_TYPE=Release
build_target: ""
- name: Build and test libclc
# spirv targets require llvm-spirv, so skip building them until we figure out
# how to install this tool.
run: |
cmake -G Ninja -S libclc -B libclc-build -DLLVM_CONFIG=`pwd`/build/bin/llvm-config -DLIBCLC_TARGETS_TO_BUILD="amdgcn--;amdgcn--amdhsa;r600--;nvptx--;nvptx64--;nvptx--nvidiacl;nvptx64--nvidiacl"
ninja -C libclc-build
ninja -C libclc-build test