gfx: GPU video interop layer (from #2109) #4423
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Template check | |
| on: | |
| pull_request: | |
| push: | |
| branches: | |
| - master | |
| tags: | |
| - v* | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| init_template: | |
| name: Template generation | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| template: | |
| - score-avnd-simple-template | |
| - score-vfx-template | |
| - score-process-template | |
| - score-device-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@v6 | |
| 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@v7 | |
| 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-x86_64/llvm/bin", | |
| common_flags: "-GNinja -DCMAKE_C_COMPILER=c:/ossia-sdk-x86_64/llvm/bin/clang.exe -DCMAKE_CXX_COMPILER=c:/ossia-sdk-x86_64/llvm/bin/clang++.exe -DCMAKE_UNITY_BUILD=1", | |
| dependencies: "choco install -y ninja", | |
| sdk: "/c/ossia-sdk-x86_64", | |
| } | |
| - { | |
| name: "Ubuntu", | |
| os: ubuntu-latest, | |
| path: "/opt/ossia-sdk-x86_64/llvm/bin", | |
| common_flags: "-DCMAKE_C_COMPILER=/opt/ossia-sdk-x86_64/llvm/bin/clang -DCMAKE_CXX_COMPILER=/opt/ossia-sdk-x86_64/llvm/bin/clang++ -DCMAKE_UNITY_BUILD=1", | |
| dependencies: "sudo apt-get -yq update; sudo apt-get -yq install libgl-dev libegl-dev libdrm-dev libgbm-dev libxcomposite-dev libxkbcommon-dev libxkbcommon-x11-dev libwayland-dev libxcb-*-dev libX11-*-dev libz-dev libtinfo-dev libxext-dev", | |
| sdk: "/opt/ossia-sdk-x86_64", | |
| } | |
| - { | |
| name: "macOS (AArch64)", | |
| os: macos-15, | |
| common_flags: "-DCMAKE_UNITY_BUILD=1", | |
| sdk: "/opt/ossia-sdk-aarch64", | |
| } | |
| template: | |
| - score-vfx-template | |
| - score-process-template | |
| - score-device-template | |
| - score-avnd-simple-template | |
| - score-offline-process-template | |
| steps: | |
| - uses: maxim-lobanov/setup-xcode@v1 | |
| if: ${{ matrix.config.os == 'macos-15' }} | |
| with: | |
| xcode-version: '>=16.4' | |
| - name: Checkout score | |
| uses: actions/checkout@v6 | |
| with: | |
| submodules: "recursive" | |
| path: score | |
| fetch-depth: 0 # Needed for getting tags | |
| - uses: actions/download-artifact@v8 | |
| 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: | | |
| if [[ "${{ matrix.config.path }}" != "" ]]; then | |
| export PATH=${{ matrix.config.path }}:$PATH | |
| fi | |
| cmake -S score-addon-build -B build-debug \ | |
| -DCMAKE_BUILD_TYPE=Debug \ | |
| -DSCORE_SOURCE_DIR=$PWD/score \ | |
| -DCMAKE_MODULE_PATH=$PWD/score/cmake \ | |
| -DOSSIA_SDK=${{ matrix.config.sdk }} \ | |
| ${{ matrix.config.common_flags }} | |
| cmake --build build-debug | |
| - name: Build release | |
| shell: bash | |
| run: | | |
| if [[ "${{ matrix.config.path }}" != "" ]]; then | |
| export PATH=${{ matrix.config.path }}:$PATH | |
| fi | |
| cmake -S score-addon-build -B build-release \ | |
| -DCMAKE_BUILD_TYPE=Release \ | |
| -DSCORE_SOURCE_DIR=$PWD/score \ | |
| -DCMAKE_MODULE_PATH=$PWD/score/cmake \ | |
| -DOSSIA_SDK=${{ matrix.config.sdk }} \ | |
| ${{ matrix.config.common_flags }} | |
| cmake --build build-release | |