diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..b6e9dae --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,49 @@ +name: CI + +on: [push] + +env: + BUILD_TYPE: Debug + INSTALL_PREFIX: _install + +jobs: + build-ubuntu: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Configure + run: cmake -DENABLE_COVERAGE=ON -DCMAKE_BUILD_TYPE=$ENV{BUILD_TYPE} -DSANITIZE_ADDRESS=On -DCMAKE_INSTALL_PREFIX=$ENV{INSTALL_PREFIX} . + - name: Build + run: cmake --build . + - name: Test + run: ctest -VV + + - name: CodeCov + run: bash <(curl -s https://codecov.io/bash) + + + build-macos: + runs-on: macos-latest + steps: + - uses: actions/checkout@v2 + + - name: Configure + run: cmake -DCMAKE_BUILD_TYPE=$ENV{BUILD_TYPE} -DSANITIZE_ADDRESS=On -DCMAKE_INSTALL_PREFIX=$ENV{INSTALL_PREFIX} . + - name: Build + run: cmake --build . + - name: Test + run: ASAN_OPTIONS=detect_leaks=0 LSAN_OPTIONS=verbosity=1:log_threads=1 ctest -VV + + + build-windows: + runs-on: windows-latest + steps: + - uses: actions/checkout@v2 + + - name: Configure + run: cmake -G"Visual Studio 16 2019" . + - name: Build + run: cmake --build . --config "Debug" + - name: Test + run: ctest --verbose -C "Debug"