| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- name: Unit tests
- on:
- workflow_dispatch:
- push:
- paths:
- - '.github/workflows/tests.yml'
- - '.github/workflows/cmake.yml'
- - 'src/**'
- - 'CMakeModules/**'
- - CMakeLists.txt
- - 'protocols/**'
- branches: [main]
- pull_request:
- paths:
- - '.github/workflows/tests.yml'
- - '.github/workflows/cmake.yml'
- - 'src/**'
- - 'CMakeModules/**'
- - CMakeLists.txt
- - 'protocols/**'
- branches: [main]
- env:
- # Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
- BUILD_TYPE: Release
- jobs:
- tests:
- strategy:
- matrix:
- os: [ubuntu-24.04]
- # The CMake configure and build commands are platform agnostic and should work equally well on Windows or Mac.
- # You can convert this to a matrix build if you need cross-platform coverage.
- # See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix
- runs-on: ${{ matrix.os }}
- steps:
- - uses: actions/checkout@v3
- with:
- submodules: true
- # cache some build information
- - name: ccache
- uses: hendrikmuhs/ccache-action@v1.2
- with:
- key: ${{ github.job }}-${{ matrix.os }} # Eg. "some_build-ubuntu-latest"
- - name: Install dependencies
- if: matrix.os == 'ubuntu-24.04'
- run: sudo apt-get update && sudo apt-get -y install libgl-dev libglew-dev freeglut3-dev libsdl2-dev liblz4-dev libavcodec-dev libavformat-dev libavutil-dev libswscale-dev libglm-dev libglfw3-dev libmpv-dev mpv libmpv2 libfftw3-dev
- - name: Configure CMake
- # Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make.
- # See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type
- run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DBUILD_TESTING=1
- - name: Build
- # Build your program with the given configuration
- run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} --target tests
- - name: Run tests
- # Run the unit tests available
- run: ${{github.workspace}}/build/output/tests
|