mirror of
https://github.com/TheLartians/ModernCppStarter.git
synced 2025-08-30 13:41:13 +02:00
feat: test on all platforms
This commit is contained in:
parent
1bfe0ea600
commit
0a7a86ea47
1 changed files with 47 additions and 0 deletions
47
.github/workflows/test.yml
vendored
Normal file
47
.github/workflows/test.yml
vendored
Normal 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"
|
Loading…
Add table
Add a link
Reference in a new issue