1
0
Fork 0
mirror of https://github.com/TheLartians/ModernCppStarter.git synced 2025-08-30 21:51:12 +02:00

feat: test on all platforms

This commit is contained in:
Alexandre Tolstenko 2022-12-02 10:17:41 -05:00
parent 1bfe0ea600
commit 0a7a86ea47

47
.github/workflows/test.yml vendored Normal file
View file

@ -0,0 +1,47 @@
name: Test
on:
push:
branches:
- master
- main
pull_request:
branches:
- master
- main
env:
CTEST_OUTPUT_ON_FAILURE: 1
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
CPM_SOURCE_CACHE: ${{ github.workspace }}/cpm_modules
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ ubuntu-latest, windows-latest, macos-latest ]
steps:
- uses: actions/checkout@v2
- uses: actions/cache@v2
with:
path: "**/cpm_modules"
key: ${{ matrix.os }}-${{ github.workflow }}-cpm-modules-${{ hashFiles('**/CMakeLists.txt', '**/*.cmake') }}
- name: configure
run: cmake -Stest -Bbuild -DENABLE_TEST_COVERAGE=1 -DCMAKE_BUILD_TYPE=Debug
- name: build
run: cmake --build build -j4
- name: test
run: |
cd build
ctest --build-config Debug
- name: collect code coverage on ubuntu
if: startsWith(matrix.os,'ubuntu')
run: bash <(curl -s https://codecov.io/bash) || echo "Codecov did not collect coverage reports"