Skip to content

[sh4lt] Implementation of input and output devices #2051

[sh4lt] Implementation of input and output devices

[sh4lt] Implementation of input and output devices #2051

Workflow file for this run

name: Template check
on: [push,pull_request]
jobs:
init_template:
name: Template generation
runs-on: ubuntu-latest
strategy:
matrix:
template:
- score-vfx-template
- score-process-template
- score-device-template
- score-audio-addon-template
- score-offline-process-template
steps:
- name: Install git
run: |
sudo apt-get update -qq
sudo apt-get install -qq --force-yes git rename perl
- name: Checkout template
uses: actions/checkout@v4
with:
repository: ossia-templates/${{ matrix.template }}
submodules: "recursive"
path: ${{ matrix.template }}
- name: Init template
run: |
cd ${{ matrix.template }}
./init.sh Build
./release.sh
- uses: actions/upload-artifact@v4
with:
name: ${{ matrix.template }}
path: "**/score-addon-build.zip"
check:
name: ${{ matrix.template }} (${{ matrix.config.name }})
runs-on: ${{ matrix.config.os }}
needs: init_template
strategy:
fail-fast: false
matrix:
config:
- {
name: "Windows",
os: windows-latest,
path: "/c/ossia-sdk/llvm/bin",
common_flags: "-GNinja -DCMAKE_C_COMPILER=c:/ossia-sdk/llvm/bin/clang.exe -DCMAKE_CXX_COMPILER=c:/ossia-sdk/llvm/bin/clang++.exe -DCMAKE_UNITY_BUILD=1",
debug_flags: "-DCMAKE_BUILD_TYPE=Debug",
release_flags: "-DCMAKE_BUILD_TYPE=Release",
dependencies: "choco install -y ninja",
sdk: "/c/ossia-sdk",
}
- {
name: "Ubuntu",
os: ubuntu-latest,
path: "/opt/ossia-sdk/llvm/bin",
common_flags: "-DCMAKE_C_COMPILER=/opt/ossia-sdk/llvm/bin/clang -DCMAKE_CXX_COMPILER=/opt/ossia-sdk/llvm/bin/clang++ -DCMAKE_UNITY_BUILD=1",
debug_flags: "-DCMAKE_BUILD_TYPE=Debug",
release_flags: "-DCMAKE_BUILD_TYPE=Release",
dependencies: "sudo apt-get -yq update; sudo apt-get -yq install libgl-dev libegl-dev libdrm-dev libxcomposite-dev libxkbcommon-dev libxkbcommon-x11-dev libwayland-dev libxcb-*-dev libX11-*-dev libz-dev libtinfo5 libxext-dev",
sdk: "/opt/ossia-sdk",
}
- {
name: "macOS",
os: macos-latest,
common_flags: "-DCMAKE_UNITY_BUILD=1",
debug_flags: "-DCMAKE_BUILD_TYPE=Debug",
release_flags: "-DCMAKE_BUILD_TYPE=Release",
sdk: "/opt/ossia-sdk-x86_64",
}
template:
- score-vfx-template
- score-process-template
- score-device-template
- score-audio-addon-template
- score-offline-process-template
steps:
- name: Checkout score
uses: actions/checkout@v4
with:
submodules: "recursive"
path: score
fetch-depth: 0 # Needed for getting tags
- uses: actions/download-artifact@v4
with:
name: ${{ matrix.template }}
path: .
- name: Install dependencies
shell: bash
run: |
export DEBIAN_FRONTEND=noninteractive
${{ matrix.config.dependencies }}
- name: Download SDK
shell: bash
run: |
cd score
tools/fetch-sdk.sh
- name: Extract artifact
shell: bash
run: |
find ${{ matrix.template }} -name '*.zip' -exec cmake -E tar xz {} \;
ls
find score-addon-build
ls score-addon-build
- name: Build debug
shell: bash
run: |
mkdir build-debug
cd build-debug
if [[ "${{ matrix.config.path }}" != "" ]]; then
export PATH=${{ matrix.config.path }}:$PATH
fi
cmake ../score-addon-build \
-DSCORE_SOURCE_DIR=../score \
-DOSSIA_SDK=${{ matrix.config.sdk }} \
${{ matrix.config.common_flags }} \
${{ matrix.config.debug_flags }}
cmake --build .
- name: Build release
shell: bash
run: |
mkdir build-release
cd build-release
if [[ "${{ matrix.config.path }}" != "" ]]; then
export PATH=${{ matrix.config.path }}:$PATH
fi
cmake ../score-addon-build \
-DSCORE_SOURCE_DIR=../score \
-DOSSIA_SDK=${{ matrix.config.sdk }} \
${{ matrix.config.common_flags }} \
${{ matrix.config.release_flags }}
cmake --build .