Skip to content

chore: release v0.3.0 #82

chore: release v0.3.0

chore: release v0.3.0 #82

Workflow file for this run

name: CI
on: push
jobs:
linux:
name: Linux ${{ matrix.config.name }}
runs-on: ubuntu-20.04 # https://github.com/actions/virtual-environments
strategy:
fail-fast: false
matrix:
config:
- { name: GCC 10, CC: gcc-10, CXX: g++-10, flags: ""}
- { name: Clang 11, CC: clang-11, CXX: clang++-11, flags: "" }
- { name: Clang 12, CC: clang-12, CXX: clang++-12, flags: "" }
- { name: ASan, CC: clang-12, CXX: clang++-12, flags: "-DRTVAMP_ENABLE_SANITIZER_ADDRESS=ON" }
- { name: LSan, CC: clang-12, CXX: clang++-12, flags: "-DRTVAMP_ENABLE_SANITIZER_LEAK=ON" }
# Memory sanitizer requires all the code (including libc++) to be MSan-instrumented otherwise it reports false positives
# - { name: MSan, CC: clang-12, CXX: clang++-12, flags: "-DRTVAMP_ENABLE_SANITIZER_MEMORY=ON" }
- { name: TSan, CC: clang-12, CXX: clang++-12, flags: "-DRTVAMP_ENABLE_SANITIZER_THREAD=ON" }
- { name: UBSan, CC: clang-12, CXX: clang++-12, flags: "-DRTVAMP_ENABLE_SANITIZER_UNDEFINED_BEHAVIOR=ON" }
- { name: Coverage, CC: gcc-10, CXX: g++-10, flags: "-DRTVAMP_ENABLE_COVERAGE=ON" }
- { name: Amalgamation, CC: gcc-10, CXX: g++-10, flags: "-DRTVAMP_ENABLE_AMALGAMATION=ON" }
steps:
- uses: actions/checkout@v4
- name: Install requirements
run: |
sudo apt update
sudo apt install -y libbenchmark-dev libsndfile1-dev vamp-plugin-sdk
pip install conan~=1.59 cpp-coveralls quom
- uses: actions/cache@v3
with:
path: ~/.conan/data
key: linux-conan-${{ matrix.config.name }}
- name: Compile and run tests
env:
CC: ${{ matrix.config.CC }}
CXX: ${{ matrix.config.CXX }}
run: |
mkdir build
cd build
cmake \
-DRTVAMP_ENABLE_CONAN=ON \
-DRTVAMP_BUILD_BENCHMARKS=ON \
-DRTVAMP_BUILD_EXAMPLES=ON \
-DRTVAMP_BUILD_TESTS=ON \
${{ matrix.config.flags }} \
..
cmake --build .
- name: Upload coverage results to coveralls.io
if: ${{ github.ref == 'refs/heads/master' && matrix.config.name == 'Coverage' }}
env:
COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }}
run: |
coveralls \
-E '.*/3rdparty/.*' \
-E '.*/benchmarks/.*' \
-E '.*/build/.*' \
-E '.*/examples/.*' \
-E '.*/tests/.*' \
--gcov-options '\-lp';
macos:
name: macOS ${{ matrix.config.name }}
runs-on: ${{ matrix.config.os }}
strategy:
fail-fast: false
matrix:
config:
- { name: GCC 10, os: macos-11, CC: gcc-10, CXX: g++-10 }
- { name: GCC 11, os: macos-11, CC: gcc-11, CXX: g++-11 }
# - { name: Clang 13, os: macos-11, CC: clang, CXX: clang++ } # AppleClang 13 does not support C++20
steps:
- uses: actions/checkout@v4
# - name: Install requirements
# run: brew install catch2
- name: Compile and run tests
env:
CC: ${{ matrix.config.CC }}
CXX: ${{ matrix.config.CXX }}
# skip tests due to problems with catch2
run: |
mkdir build
cd build
cmake \
-DRTVAMP_BUILD_EXAMPLES=OFF \
-DRTVAMP_BUILD_TESTS=OFF \
..
cmake --build .
windows:
name: Windows ${{ matrix.config.name }}
runs-on: ${{ matrix.config.os }}
strategy:
fail-fast: false
matrix:
config:
- { name: Visual Studio 17 2022, os: windows-2022 }
steps:
- uses: actions/checkout@v4
- name: Install requirements
run: pip install conan~=1.59
- uses: actions/cache@v3
with:
path: ~/.conan/data
key: windows-conan-${{ matrix.config.name }}
- name: Compile and run tests
run: |
mkdir build
cd build
cmake -DRTVAMP_ENABLE_CONAN=ON -DRTVAMP_BUILD_EXAMPLES=ON -DRTVAMP_BUILD_TESTS=ON ..
cmake --build . --config RelWithDebInfo