Skip to content

more VS 2022 warning fixes #51

more VS 2022 warning fixes

more VS 2022 warning fixes #51

Workflow file for this run

name: ni-midi2 CI
on:
push:
branches:
- main
- 'bugfix/**'
- 'feature/**'
- 'release/**'
pull_request:
branches: [ main ]
jobs:
build:
name: ${{ matrix.config.name }}
runs-on: ${{ matrix.config.os }}
strategy:
fail-fast: false
matrix:
config:
- name: "Windows 2022"
os: windows-2022
build_type: Release
- name: "MacOS 12 (xc13)"
os: macos-12
build_type: Release
set_xcode_version_cmd: xcversion select 13.4.1
- name: "Ubuntu 22.04 (GCC-11)"
os: ubuntu-22.04
build_type: Release
cc: "gcc-11"
cxx: "g++-11"
- name: "Ubuntu 22.04 (GCC-10)"
os: ubuntu-22.04
build_type: Release
cc: "gcc-10"
cxx: "g++-10"
- name: "Ubuntu 22.04 (GCC-9)"
os: ubuntu-22.04
build_type: Release
cc: "gcc-9"
cxx: "g++-9"
- name: "sysex pmr (Ubuntu 22.04, GCC-11)"
os: ubuntu-22.04
cmake_options: "-DNIMIDI2_PMR_SYSEX_DATA=ON"
build_type: Release
cc: "gcc-11"
cxx: "g++-11"
- name: "non-unity builds (Ubuntu 22.04, GCC-11)"
os: ubuntu-22.04
cmake_options: "-DNIMIDI2_UNITY_BUILDS=OFF"
build_type: Release
cc: "gcc-11"
cxx: "g++-11"
- name: "Code-Coverage (Ubuntu 22.04, GCC-10)"
os: ubuntu-22.04
build_type: Coverage
code_coverage: true
cc: "gcc-10"
cxx: "g++-10"
gcov: "gcov-10"
steps:
- name: Set xcode version
if: matrix.config.set_xcode_version_cmd != null
run: |
${{ matrix.config.set_xcode_version_cmd }}
- name: Set compiler version
if: matrix.config.cc != null && matrix.config.cxx != null
run: |
sudo apt install ${{ matrix.config.cc }} ${{ matrix.config.cxx }}
echo "CC=${{ matrix.config.cc }}" >> $GITHUB_ENV
echo "CXX=${{ matrix.config.cxx }}" >> $GITHUB_ENV
- name: Set GCOV version
if: matrix.config.gcov != null
run: |
echo "GCOV=${{ matrix.config.gcov }}" >> $GITHUB_ENV
- name: Checkout source
uses: actions/checkout@v3
- name: Install vcpkg
run: |
git clone https://github.com/Microsoft/vcpkg.git
./vcpkg/bootstrap-vcpkg.sh
- name: Configure CMake + Install Dependencies
run: |
cmake -B ${{ github.workspace }}/build . -DCMAKE_BUILD_TYPE=${{ matrix.config.build_type }} ${{ matrix.config.cmake_options }} -DCMAKE_TOOLCHAIN_FILE=${{ github.workspace }}/vcpkg/scripts/buildsystems/vcpkg.cmake
- name: Build
run: |
cmake --build ${{ github.workspace }}/build --config ${{ matrix.config.build_type }}
- name: Test
working-directory: ${{ github.workspace }}/build
run: |
ctest --verbose -C ${{ matrix.config.build_type }} --timeout 900
- name: Generate Code-Coverage results
if: matrix.config.code_coverage == true
working-directory: ${{ github.workspace }}/build
run: |
sudo apt-get update
sudo apt-get install -y lcov
lcov --version
echo $(which ${GCOV})
lcov --gcov-tool $(which ${GCOV}) -d . -c -o coverage.info
- name: Upload code coverage results
if: matrix.config.code_coverage == true
uses: codecov/codecov-action@v3.1.0
with:
files: ${{ github.workspace }}/build/coverage.info
verbose: true
gcov: true
gcov_ignore: tests