Merge pull request #787 from marktsuchida/mmdevice-meson-tests-disable #3
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: MMDevice/MMCore experimental Meson build & tests | |
| on: | |
| pull_request: | |
| paths: | |
| - MMDevice/** | |
| - MMCore/** | |
| - .github/workflows/ci-mmdevice-mmcore.yml | |
| push: | |
| branches: | |
| - main | |
| paths: | |
| - MMDevice/** | |
| - MMCore/** | |
| - .github/workflows/ci-mmdevice-mmcore.yml | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| test: | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: | |
| - windows | |
| - macos | |
| - macos-intel | |
| - ubuntu | |
| cppstd: # Test the oldest and newest standards we support | |
| - c++14 | |
| - c++17 | |
| include: | |
| - os: windows | |
| runner: windows-latest | |
| cxx: cl | |
| - os: macos | |
| runner: macos-latest | |
| cxx: clang++ | |
| - os: macos-intel | |
| runner: macos-15-intel | |
| cxx: clang++ | |
| - os: ubuntu | |
| runner: ubuntu-latest | |
| cxx: g++ | |
| name: ${{ matrix.runner }}-${{ matrix.cxx }}-${{ matrix.cppstd }} | |
| runs-on: ${{ matrix.runner }} | |
| env: | |
| CXX: ${{ matrix.cxx }} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.12' | |
| - name: Install tools | |
| run: | | |
| python -m pip install --upgrade pip meson ninja | |
| - uses: ilammy/msvc-dev-cmd@v1 | |
| with: | |
| vsversion: '2022' | |
| - name: Build and test MMDevice | |
| run: | | |
| cd MMDevice | |
| meson setup builddir --buildtype debug -Dcpp_std=${{ matrix.cppstd }} | |
| meson test -C builddir --print-errorlogs | |
| - name: Prepare MMCore source | |
| shell: bash | |
| run: | | |
| git clean -dxf | |
| # Manually populate the mmdevice subproject to avoid fetching via | |
| # wrap from the mmdevice mirror repository. | |
| cp -R MMDevice MMCore/subprojects/mmdevice | |
| - name: Build and test MMCore | |
| run: | | |
| cd MMCore | |
| meson setup builddir --buildtype debug -Dcpp_std=${{ matrix.cppstd }} | |
| meson test -C builddir --print-errorlogs |