Skip to content

[Performance] allow for multithreaded channel extraction #167

[Performance] allow for multithreaded channel extraction

[Performance] allow for multithreaded channel extraction #167

Workflow file for this run

name: Test
on:
workflow_dispatch:
push:
branches:
- dev
pull_request:
branches:
- master
release:
types:
- published
env:
BUILD_TYPE: Release
jobs:
test:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
include:
- name: Ubuntu GCC
os: ubuntu-24.04
compiler: gcc-13
compilercxx: g++-13
- name: Ubuntu Clang
os: ubuntu-24.04
compiler: clang
compilercxx: clang++
- name: Windows MSVC
os: windows-latest
compiler: msvc
compilercxx: msvc
- name: MacOS ARM GCC
os: macos-latest
compiler: gcc-13
compilercxx: g++-13
steps:
- uses: actions/checkout@v4
with:
submodules: 'recursive'
# We need to specify Xcode15.3 here as the default for macos-14 runners is 15.01 which has a bug
# causing linking to fail.
- name: Setup Xcode 15.3
if: matrix.os == 'macos-latest'
uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: '15.3'
- name: Configure CMake ${{ matrix.os }}-${{ matrix.compilercxx }}
env:
CC: ${{ matrix.compiler }}
CXX: ${{ matrix.compilercxx }}
run: |
cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DPSAPI_BUILD_DOCS=OFF -DPSAPI_BUILD_BENCHMARKS=OFF -DPSAPI_BUILD_EXAMPLES=OFF -DPSAPI_BUILD_PYTHON=OFF
- name: Build ${{ matrix.os }}-${{ matrix.compilercxx }}
env:
CC: ${{ matrix.compiler }}
CXX: ${{ matrix.compilercxx }}
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}
- name: Copy Testfiles on Windows
if: runner.os == 'Windows'
working-directory: ${{github.workspace}}/build/PhotoshopTest
run: xcopy ".\\${{env.BUILD_TYPE}}\\documents" ".\\documents" /E /I
- name: Test ${{ matrix.os }}-${{ matrix.compilercxx }}
working-directory: ${{github.workspace}}/build/PhotoshopTest
run: ctest -C ${{env.BUILD_TYPE}} --extra-verbose --stop-on-failure