Skip to content

Commit

Permalink
GH Actions: build with all supported options, compilers, and OSes
Browse files Browse the repository at this point in the history
  • Loading branch information
Be-ing committed Feb 9, 2021
1 parent a2e20b8 commit 45830e7
Show file tree
Hide file tree
Showing 2 changed files with 58 additions and 8 deletions.
5 changes: 5 additions & 0 deletions .github/asiosdk-version.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
GitHub Actions uses the hash of this file as the cache key for the ASIO SDK.
Update this file when a new version of the ASIO SDK is released to trigger
a new download on GitHub Actions instead of using the old cache.

asiosdk_2.3.3_2019-06-14.zip
61 changes: 53 additions & 8 deletions .github/workflows/c-cpp.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,20 +12,51 @@ jobs:
fail-fast: false
matrix:
include:
- name: Ubuntu
- name: Ubuntu GCC
os: ubuntu-latest
install_dir: ~/portaudio
- name: Ubuntu mingw64
cmake_generator: "Unix Makefiles"
cmake_options:
-DOSS=ON
- name: Ubuntu MinGW
os: ubuntu-latest
install_dir: ~/portaudio
asio_sdk_cache_path: asiosdk.zip
dependencies_extras: mingw-w64
cmake_extras: -DCMAKE_TOOLCHAIN_FILE=cmake/i686-w64-mingw32.cmake
- name: Windows
cmake_generator: "Unix Makefiles"
cmake_options:
-DASIO_SDK_ZIP_PATH=asiosdk.zip
-DCMAKE_TOOLCHAIN_FILE=cmake/i686-w64-mingw32.cmake
- name: Windows MSVC
os: windows-latest
install_dir: C:\portaudio
- name: macOS
cmake_generator: "Visual Studio 16 2019"
# ASIO_SDK_ZIP_PATH needs to be quoted or CMake will save the download to
# asiosdk instead of asiosdk.zip.
asio_sdk_cache_path: "asiosdk.zip"
cmake_options:
-DASIO_SDK_ZIP_PATH="asiosdk.zip"
- name: Windows MinGW
os: windows-latest
install_dir: C:\portaudio
cmake_generator: "MinGW Makefiles"
# ASIO_SDK_ZIP_PATH needs to be quoted or CMake will save the download to
# asiosdk instead of asiosdk.zip.
asio_sdk_cache_path: "asiosdk.zip"
cmake_options:
-DASIO_SDK_ZIP_PATH="asiosdk.zip"
- name: macOS Clang
os: macOS-latest
install_dir: ~/portaudio
cmake_generator: "Unix Makefiles"
cmake_options:
-DCMAKE_FRAMEWORK=OFF
- name: macOS Clang framework
os: macOS-latest
install_dir: ~/portaudio
cmake_generator: "Unix Makefiles"
cmake_options:
-DCMAKE_FRAMEWORK=ON

runs-on: ${{ matrix.os }}
name: ${{ matrix.name }}
Expand All @@ -37,12 +68,26 @@ jobs:
- name: "[Ubuntu] install dependencies"
run: sudo apt-get install libasound2-dev libjack-dev ${{ matrix.dependencies_extras }}
if: matrix.os == 'ubuntu-latest'
- name: "[macOS] install dependencies"
run: brew install jack
if: matrix.os == 'macOS-latest'
- name: "[Windows MinGW] install dependencies"
run: choco install mingw
if: startsWith(matrix.os, 'Windows MinGW')
- name: "[Windows/MinGW] set up ASIO SDK cache"
uses: actions/cache@v2
if: matrix.asio_sdk_cache_path != null
with:
path: ${{ matrix.asio_sdk_cache_path }}
key: ${{ hashFiles('.github/asiosdk-version.txt') }}
- name: configure
run: cmake ${{ matrix.cmake_extras }}
run: cmake
-G "${{ matrix.cmake_generator }}"
${{ matrix.cmake_options }}
-DCMAKE_INSTALL_PREFIX=${{ matrix.install_dir }}
-DCMAKE_BUILD_TYPE=${{ env.cmake_build_type }}
-DPA_BUILD_TESTS=ON
-DPA_BUILD_EXAMPLES=ON
-DBUILD_TESTING=ON
-DBUILD_EXAMPLES=ON
-S .
-B build
- name: build
Expand Down

0 comments on commit 45830e7

Please sign in to comment.