Skip to content

Midi

Midi #883

name: Build and run tests
on:
push:
branches: [main]
pull_request:
branches: [main]
env:
EXE-TARGET: Coollab
TESTS-TARGET: Tests-Coollab
jobs:
#-----------------------------------------------------------------------------------------------
Windows_MSVC_Debug:
name: Windows MSVC Debug
runs-on: windows-2022
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- name: Configure CMake
run: cmake -B ${{github.workspace}}\build -DWARNINGS_AS_ERRORS_FOR_COOLLAB=ON -D CMAKE_C_COMPILER=cl -D CMAKE_CXX_COMPILER=cl -D COOLLAB_REQUIRE_ALL_FEATURES=ON
- name: Build exe
run: cmake --build ${{github.workspace}}\build --config Debug --target ${{env.EXE-TARGET}}
- name: Build tests
run: cmake --build ${{github.workspace}}\build --config Debug --target ${{env.TESTS-TARGET}}
- name: Run tests
run: ${{github.workspace}}\build\bin\Debug\${{env.TESTS-TARGET}}.exe
#-----------------------------------------------------------------------------------------------
Windows_MSVC_Release:
name: Windows MSVC Release
runs-on: windows-2022
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- name: Configure CMake
run: cmake -B ${{github.workspace}}\build -DWARNINGS_AS_ERRORS_FOR_COOLLAB=ON -D CMAKE_C_COMPILER=cl -D CMAKE_CXX_COMPILER=cl -D COOLLAB_REQUIRE_ALL_FEATURES=ON
- name: Build exe
run: cmake --build ${{github.workspace}}\build --config Release --target ${{env.EXE-TARGET}}
- name: Build tests
run: cmake --build ${{github.workspace}}\build --config Release --target ${{env.TESTS-TARGET}}
- name: Run tests
run: ${{github.workspace}}\build\bin\Release\${{env.TESTS-TARGET}}.exe
#-----------------------------------------------------------------------------------------------
Windows_Clang_Debug:
name: Windows Clang Debug
runs-on: windows-2022
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- name: Configure CMake
run: cmake -B ${{github.workspace}}\build -DWARNINGS_AS_ERRORS_FOR_COOLLAB=ON -T ClangCL -D COOLLAB_REQUIRE_ALL_FEATURES=ON
- name: Build exe
run: cmake --build ${{github.workspace}}\build --config Debug --target ${{env.EXE-TARGET}}
- name: Build tests
run: cmake --build ${{github.workspace}}\build --config Debug --target ${{env.TESTS-TARGET}}
- name: Run tests
run: ${{github.workspace}}\build\bin\Debug\${{env.TESTS-TARGET}}.exe
#-----------------------------------------------------------------------------------------------
Windows_Clang_Release:
name: Windows Clang Release
runs-on: windows-2022
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- name: Configure CMake
run: cmake -B ${{github.workspace}}\build -DWARNINGS_AS_ERRORS_FOR_COOLLAB=ON -T ClangCL -D COOLLAB_REQUIRE_ALL_FEATURES=ON
- name: Build exe
run: cmake --build ${{github.workspace}}\build --config Release --target ${{env.EXE-TARGET}}
- name: Build tests
run: cmake --build ${{github.workspace}}\build --config Release --target ${{env.TESTS-TARGET}}
- name: Run tests
run: ${{github.workspace}}\build\bin\Release\${{env.TESTS-TARGET}}.exe
#-----------------------------------------------------------------------------------------------
Linux_GCC_Debug:
name: Linux GCC Debug
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- name: Update apt-get
run: sudo apt-get update -y
- name: Install glfw dependencies
run: sudo apt-get install -y libxrandr-dev libxinerama-dev libxcursor-dev libxi-dev mesa-common-dev build-essential libgtk-3-dev
- name: Install OpenSSL
run: sudo apt-get install libssl-dev
- name: Configure CMake
run: cmake -B ${{github.workspace}}/build -DWARNINGS_AS_ERRORS_FOR_COOLLAB=ON -D CMAKE_BUILD_TYPE=Debug -D CMAKE_C_COMPILER=gcc-11 -D CMAKE_CXX_COMPILER=g++-11 -D COOLLAB_REQUIRE_ALL_FEATURES=ON
- name: Build exe
run: cmake --build ${{github.workspace}}/build --config Debug --target ${{env.EXE-TARGET}}
- name: Build tests
run: cmake --build ${{github.workspace}}/build --config Debug --target ${{env.TESTS-TARGET}}
- name: Run tests
run: ${{github.workspace}}/build/bin/${{env.TESTS-TARGET}}
#-----------------------------------------------------------------------------------------------
Linux_GCC_Release:
name: Linux GCC Release
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- name: Update apt-get
run: sudo apt-get update -y
- name: Install glfw dependencies
run: sudo apt-get install -y libxrandr-dev libxinerama-dev libxcursor-dev libxi-dev mesa-common-dev build-essential libgtk-3-dev
- name: Install OpenSSL
run: sudo apt-get install libssl-dev
- name: Configure CMake
run: cmake -B ${{github.workspace}}/build -DWARNINGS_AS_ERRORS_FOR_COOLLAB=ON -D CMAKE_BUILD_TYPE=Release -D CMAKE_C_COMPILER=gcc-11 -D CMAKE_CXX_COMPILER=g++-11 -D COOLLAB_REQUIRE_ALL_FEATURES=ON
- name: Build exe
run: cmake --build ${{github.workspace}}/build --config Release --target ${{env.EXE-TARGET}}
- name: Build tests
run: cmake --build ${{github.workspace}}/build --config Release --target ${{env.TESTS-TARGET}}
- name: Run tests
run: ${{github.workspace}}/build/bin/${{env.TESTS-TARGET}}
#-----------------------------------------------------------------------------------------------
Linux_Clang_Debug:
name: Linux Clang Debug
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- name: Update apt-get
run: sudo apt-get update -y
- name: Install glfw dependencies
run: sudo apt-get install -y libxrandr-dev libxinerama-dev libxcursor-dev libxi-dev mesa-common-dev build-essential libgtk-3-dev
- name: Install OpenSSL
run: sudo apt-get install libssl-dev
- name: Configure CMake
run: cmake -B ${{github.workspace}}/build -DWARNINGS_AS_ERRORS_FOR_COOLLAB=ON -D CMAKE_BUILD_TYPE=Debug -D CMAKE_C_COMPILER=clang -D CMAKE_CXX_COMPILER=clang++ -D COOLLAB_REQUIRE_ALL_FEATURES=ON
- name: Build exe
run: cmake --build ${{github.workspace}}/build --config Debug --target ${{env.EXE-TARGET}}
- name: Build tests
run: cmake --build ${{github.workspace}}/build --config Debug --target ${{env.TESTS-TARGET}}
- name: Run tests
run: ${{github.workspace}}/build/bin/${{env.TESTS-TARGET}}
#-----------------------------------------------------------------------------------------------
Linux_Clang_Release:
name: Linux Clang Release
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- name: Update apt-get
run: sudo apt-get update -y
- name: Install glfw dependencies
run: sudo apt-get install -y libxrandr-dev libxinerama-dev libxcursor-dev libxi-dev mesa-common-dev build-essential libgtk-3-dev
- name: Install OpenSSL
run: sudo apt-get install libssl-dev
- name: Configure CMake
run: cmake -B ${{github.workspace}}/build -DWARNINGS_AS_ERRORS_FOR_COOLLAB=ON -D CMAKE_BUILD_TYPE=Release -D CMAKE_C_COMPILER=clang -D CMAKE_CXX_COMPILER=clang++ -D COOLLAB_REQUIRE_ALL_FEATURES=ON
- name: Build exe
run: cmake --build ${{github.workspace}}/build --config Release --target ${{env.EXE-TARGET}}
- name: Build tests
run: cmake --build ${{github.workspace}}/build --config Release --target ${{env.TESTS-TARGET}}
- name: Run tests
run: ${{github.workspace}}/build/bin/${{env.TESTS-TARGET}}
#-----------------------------------------------------------------------------------------------
MacOS_Clang_Debug:
name: MacOS Clang Debug
runs-on: macos-11
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- name: Configure CMake
run: cmake -B ${{github.workspace}}/build -DWARNINGS_AS_ERRORS_FOR_COOLLAB=ON -D CMAKE_BUILD_TYPE=Debug -D CMAKE_C_COMPILER=$(brew --prefix llvm@15)/bin/clang -D CMAKE_CXX_COMPILER=$(brew --prefix llvm@15)/bin/clang++ -D COOLLAB_REQUIRE_ALL_FEATURES=ON -D OPENSSL_ROOT_DIR=/usr/local/opt/openssl -D OPENSSL_INCLUDE_DIR=/usr/local/opt/openssl/include
- name: Build exe
run: cmake --build ${{github.workspace}}/build --config Debug --target ${{env.EXE-TARGET}}
- name: Build tests
run: cmake --build ${{github.workspace}}/build --config Debug --target ${{env.TESTS-TARGET}}
- name: Run tests
run: ${{github.workspace}}/build/bin/${{env.TESTS-TARGET}}
#-----------------------------------------------------------------------------------------------
MacOS_Clang_Release:
name: MacOS Clang Release
runs-on: macos-11
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- name: Configure CMake
run: cmake -B ${{github.workspace}}/build -DWARNINGS_AS_ERRORS_FOR_COOLLAB=ON -D CMAKE_BUILD_TYPE=Release -D CMAKE_C_COMPILER=$(brew --prefix llvm@15)/bin/clang -D CMAKE_CXX_COMPILER=$(brew --prefix llvm@15)/bin/clang++ -D COOLLAB_REQUIRE_ALL_FEATURES=ON -D OPENSSL_ROOT_DIR=/usr/local/opt/openssl -D OPENSSL_INCLUDE_DIR=/usr/local/opt/openssl/include
- name: Build exe
run: cmake --build ${{github.workspace}}/build --config Release --target ${{env.EXE-TARGET}}
- name: Build tests
run: cmake --build ${{github.workspace}}/build --config Release --target ${{env.TESTS-TARGET}}
- name: Run tests
run: ${{github.workspace}}/build/bin/${{env.TESTS-TARGET}}