Skip to content

[ci] More fixes

[ci] More fixes #164

Workflow file for this run

name: Build
on:
push:
paths-ignore:
- 'docs/**'
- '**.md'
pull_request:
paths-ignore:
- '**.md'
- 'docs/**'
jobs:
build:
name: ${{ matrix.config.name }}
runs-on: ${{ matrix.config.os }}
strategy:
fail-fast: false
matrix:
boost: [0, 1]
header_only: [0, 1]
config:
- {
name: "Windows (MSVC)",
os: windows-latest,
cmakeflags: "-DLIBREMIDI_NO_WINUWP=0 -DBOOST_ROOT=$PWD/boost_1_82_0"
}
- {
name: "Ubuntu (gcc)",
os: ubuntu-latest,
cmakeflags: ""
}
- {
name: "Ubuntu (clang, libstdc++)",
os: ubuntu-latest,
cmakeflags: "-DCMAKE_CXX_COMPILER=clang++"
}
- {
name: "Ubuntu (clang, libc++)",
os: ubuntu-latest,
cmakeflags: "-DCMAKE_CXX_COMPILER=clang++ -DCMAKE_CXX_FLAGS=-stdlib=libc++"
}
- {
name: 'Tarball',
os: ubuntu-latest,
cmakeflags: ""
}
- {
name: "macOS",
os: macos-latest,
cmakeflags: ""
}
steps:
- uses: actions/checkout@v3
- name: Get latest release version number
id: get_version
uses: battila7/get-version-action@v2
- name: Install dependencies
if: matrix.config.name != 'Tarball'
run: |
git submodule update --init --recursive
if [ "$RUNNER_OS" == "Linux" ]; then
sudo apt update
sudo apt install cmake libboost-dev libasound-dev libjack-jackd2-dev clang libc++-dev
elif [ "$RUNNER_OS" == "Windows" ]; then
curl -L https://github.com/ossia/sdk/releases/download/sdk28/boost_1_82_0.tar.gz > boost.tar.gz
tar -xzf boost.tar.gz
rm boost.tar.gz
else
brew install boost
fi
shell: bash
- name: Configure
if: matrix.config.name != 'Tarball'
shell: bash
run: |
cmake -S . -B build \
${{ matrix.config.cmakeflags }} \
-DLIBREMIDI_FIND_BOOST=${{ matrix.boost }} \
-DLIBREMIDI_HEADER_ONLY=${{ matrix.header_only }} \
-DLIBREMIDI_EXAMPLES=1 \
-DLIBREMIDI_TESTS=1 \
-DCMAKE_INSTALL_PREFIX=install
- name: Build
if: matrix.config.name != 'Tarball'
run: |
cmake --build build
cmake --build build --target install
- name: Test
if: matrix.config.name != 'Tarball'
run: |
cd build && ctest -V
shell: bash