name: Linux x64 Tests on: push: branches: - master paths-ignore: - '*.md' pull_request: types: [ opened, synchronize ] paths-ignore: - '*.md' workflow_dispatch: concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: build: runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v3 with: fetch-depth: 0 - name: Install dependencies run: | sudo apt-get update -y sudo apt-get install -y cmake curl g++ git lcov libgtest-dev libgmock-dev libfmt-dev libsdl2-dev libsodium-dev libpng-dev libbz2-dev wget - name: Cache CMake build folder uses: actions/cache@v3 with: path: build key: ${{ github.workflow }}-v1-${{ github.sha }} restore-keys: ${{ github.workflow }}-v1- - name: Build tests run: | cmake -S. -Bbuild -DENABLE_CODECOVERAGE=ON wget -nc https://github.com/diasurgical/devilutionx-assets/releases/download/v2/spawn.mpq -P build cmake --build build -j $(nproc) - name: Run tests run: cd build && ctest --output-on-failure - name: Upload results uses: codecov/codecov-action@v3 with: gcov: true