diff --git a/.github/workflows/ci-mmdevice-mmcore.yml b/.github/workflows/ci-mmdevice-mmcore.yml new file mode 100644 index 000000000..bcc16bb02 --- /dev/null +++ b/.github/workflows/ci-mmdevice-mmcore.yml @@ -0,0 +1,67 @@ +name: MMDevice/MMCore experimental Meson build & tests + +on: + pull_request: + paths: + - MMDevice/** + - MMCore/** + push: + branches: + - main + paths: + - MMDevice/** + - MMCore/** + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + test: + strategy: + fail-fast: false + matrix: + os: + - windows + - macos + - ubuntu + include: + - os: windows + runner: windows-2019 + cxx: cl + - os: macos + runner: macos-11 + cxx: clang++ + - os: ubuntu + runner: ubuntu-22.04 + cxx: g++ + name: ${{ matrix.runner }}-${{ matrix.cxx }} + runs-on: ${{ matrix.runner }} + env: + CXX: ${{ matrix.cxx }} + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-python@v5 + with: + python-version: '3.11' + - name: Install tools + run: | + python -m pip install --upgrade pip meson ninja + - uses: ilammy/msvc-dev-cmd@v1 + with: + vsversion: '2019' + - name: Build and test MMDevice + run: | + cd MMDevice + meson setup builddir --buildtype debug + meson test -C builddir --print-errorlogs + - name: Prepare MMCore source + shell: bash + run: | + git clean -dxf + cp -R MMDevice MMCore/subprojects + - name: Build and test MMCore + run: | + cd MMCore + meson setup builddir --buildtype debug + meson test -C builddir --print-errorlogs