add basic utility code testing for cpp, cpp11, and c #569
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Presubmit | |
on: [push, pull_request] | |
permissions: | |
contents: read | |
jobs: | |
build: | |
name: Build ${{ matrix.os }} | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-latest, macos-latest, windows-latest] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install Ubuntu packages | |
if: matrix.os == 'ubuntu-latest' | |
run: sudo apt install -y dos2unix | |
- name: Install macOS packages | |
if: matrix.os == 'macos-latest' | |
run: brew install dos2unix | |
- name: Build | |
run: | | |
mkdir build | |
cd build | |
cmake -DCMAKE_INSTALL_PREFIX=install .. | |
cmake --build . --target install | |
- name: Build spec tools | |
run: | | |
cd tools/buildHeaders | |
mkdir build | |
cd build | |
cmake .. | |
cmake --build . --target install | |
- name: Build headers | |
run: | | |
cd tools/buildHeaders | |
./bin/makeHeaders | |
- name: Check generated headers | |
run: git diff --exit-code | |
build_with_tests: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Build | |
run: | | |
mkdir build | |
cd build | |
cmake -DCMAKE_INSTALL_PREFIX=install -DSPIRV_HEADERS_ENABLE_TESTS .. | |
cmake --build . --target install | |
test_cmake_min_required: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: lukka/get-cmake@latest | |
with: | |
cmakeVersion: 3.14.0 | |
- name: CMake build | |
run: | | |
cmake -S . -B build/ -D CMAKE_BUILD_TYPE=Debug -G "Ninja" -D CMAKE_INSTALL_PREFIX=${GITHUB_WORKSPACE}/build/install/ | |
cmake --build build --target install | |
test_cmake_latest: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: lukka/get-cmake@latest | |
- name: CMake build | |
run: | | |
cmake -S . -B build/ -D CMAKE_BUILD_TYPE=Debug -G "Ninja" | |
cmake --install build/ --prefix build/install | |
add_subdirectory: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: lukka/get-cmake@latest | |
with: | |
cmakeVersion: 3.15.0 | |
- name: Build spirv-headers with testing enabled | |
run: | | |
cmake -S . -B build/ -D BUILD_TESTS=ON -D CMAKE_BUILD_TYPE=Debug -G "Ninja" | |
cmake --build build | |
find_package: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: lukka/get-cmake@latest | |
with: | |
cmakeVersion: 3.15.0 | |
- name: Install spirv-headers | |
run: | | |
cmake -S . -B build/ | |
cmake --install build/ --prefix build/install | |
- name: Check spirv-headers find_package support | |
run: | | |
cmake -S tests/find_package -B tests/find_package/build/ -D CMAKE_PREFIX_PATH=${GITHUB_WORKSPACE}/build/install | |
cmake --build tests/find_package/build/ | |
find_pkg_config: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: lukka/get-cmake@latest | |
with: | |
cmakeVersion: 3.15.0 | |
- name: Install spirv-headers | |
run: | | |
cmake -S . -B build/ -D CMAKE_INSTALL_PREFIX=${GITHUB_WORKSPACE}/build/install/ | |
cmake --install build/ | |
- name: Check spirv-headers pkg_config support | |
run: | | |
cmake -S tests/pkg_config -B tests/pkg_config/build/ -D CMAKE_PREFIX_PATH=${GITHUB_WORKSPACE}/build/install | |
cmake --build tests/pkg_config/build/ | |
# https://github.com/KhronosGroup/SPIRV-Headers/issues/282 | |
find_pkg_config_absolute: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: lukka/get-cmake@latest | |
with: | |
cmakeVersion: 3.15.0 | |
- name: Install spirv-headers with CMAKE_INSTALL_INCLUDEDIR being absolute | |
run: | | |
cmake -S . -B build/ -D CMAKE_INSTALL_INCLUDEDIR=${GITHUB_WORKSPACE}/build/install/include -D CMAKE_INSTALL_PREFIX=${GITHUB_WORKSPACE}/build/install/ | |
cmake --install build/ | |
- name: Check spirv-headers pkg_config support | |
run: | | |
cmake -S tests/pkg_config -B tests/pkg_config/build/ -D CMAKE_PREFIX_PATH=${GITHUB_WORKSPACE}/build/install | |
cmake --build tests/pkg_config/build/ |