Update requirements.txt #76
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: Test | |
# This is derived from the standard CMake template for github actions. | |
# For more details on the settings used, have a look at the template in the marketplace | |
# Only pushes and PRs against the master branch are built | |
on: | |
push: | |
branches: [ master ] | |
pull_request: | |
branches: [ master ] | |
jobs: | |
build: | |
runs-on: ${{ matrix.os }} | |
# Strategy: builds on oldest and newest Ubuntu and on Windows | |
# Oldest -> because that's what is used to build backwards compatible packages (see release.yaml) | |
# Newest -> so that we can test with latest tools (clang-tidy) and use recent drivers/packages | |
strategy: | |
matrix: | |
os: [ubuntu-20.04, windows-2022] | |
type: [Debug] | |
compiler: [default] | |
include: | |
- os: ubuntu-20.04 | |
compiler: clang | |
type: Debug | |
- os: ubuntu-20.04 | |
compiler: clang-tidy | |
type: Debug | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: 'recursive' | |
- name: Install GL/X11 packages for rendering (Linux only) | |
run: | | |
sudo apt-get update && sudo apt-get -y --no-install-recommends install \ | |
libgles2-mesa-dev libx11-dev | |
if: ${{ contains(matrix.os, 'ubuntu') }} | |
- name: Install clang and clang-tidy | |
run: | | |
sudo apt-get install -y clang-10 clang-tidy-10 llvm-10 | |
sudo update-alternatives --install /usr/bin/clang-tidy clang-tidy /usr/bin/clang-tidy-10 100 | |
if: ${{ contains(matrix.compiler, 'clang') }} | |
- name: Create Build Environment | |
run: cmake -E make_directory ${{runner.workspace}}/build | |
- name: Configure CMake (${{matrix.os}} ${{matrix.compiler}}) | |
shell: bash | |
working-directory: ${{runner.workspace}}/build | |
run: | | |
cmake_args=" -DCMAKE_BUILD_TYPE=${{ matrix.type }}" | |
if [[ "${{matrix.compiler}}" == "clang"* ]]; then | |
cmake_args+=" -DCMAKE_EXPORT_COMPILE_COMMANDS=1" | |
cmake_args+=" -DCMAKE_TOOLCHAIN_FILE=$GITHUB_WORKSPACE/cmake/toolchain/Linux_X86_64_llvm.toolchain" | |
fi | |
if [[ "${{matrix.os}}" == "windows"* ]]; then | |
# This is needed because on the Windows Server 2019 build nodes of Github, the Perl installation | |
# exposes its libraries on the path and messes up CMake builds | |
echo "Path before: $PATH" | |
export PATH=$(echo "$PATH" | sed -e 's/:\/c\/Strawberry\/c\/bin//') | |
export PATH=$(echo "$PATH" | sed -e 's/:\/c\/Strawberry\/perl\/site\/bin//') | |
export PATH=$(echo "$PATH" | sed -e 's/:\/c\/Strawberry\/perl\/bin//') | |
echo "Path after: $PATH" | |
fi | |
cmake $GITHUB_WORKSPACE ${cmake_args} | |
- name: Build | |
working-directory: ${{runner.workspace}}/build | |
shell: bash | |
run: cmake --build . --config ${{ matrix.type }} | |
if: ${{ matrix.compiler != 'clang-tidy' }} | |
- name: Test | |
working-directory: ${{runner.workspace}}/build | |
shell: bash | |
run: ctest -C ${{ matrix.type }} --exclude-regex '.*SWRAST' | |
if: ${{ matrix.compiler != 'clang-tidy' }} | |
- name: Run clang-tidy | |
shell: bash | |
working-directory: ${{runner.workspace}}/build | |
run: | | |
compile_commands_path=$(pwd)/compile_commands.json | |
echo "compile_commands_path: $compile_commands_path" | |
cd $GITHUB_WORKSPACE | |
$GITHUB_WORKSPACE/ci/scripts/clang-tidy-wrapper.py \ | |
--config $GITHUB_WORKSPACE/ci/scripts/config/clang-tidy-wrapper.yaml \ | |
$compile_commands_path | |
if: ${{ matrix.compiler == 'clang-tidy' }} |