diff --git a/.github/workflows/ci_macos.yml b/.github/workflows/ci_macos.yml index 65f446f1..53d3d2f0 100644 --- a/.github/workflows/ci_macos.yml +++ b/.github/workflows/ci_macos.yml @@ -9,6 +9,8 @@ on: branches: - 'main' pull_request: + types: + - unlabeled workflow_dispatch: concurrency: @@ -25,49 +27,39 @@ defaults: jobs: build: - name: test + name: ${{ matrix.compiler }} runs-on: macos-12 if: github.repository_owner == 'seqan' || github.event_name == 'workflow_dispatch' || github.event.label.name == 'lint' + strategy: + fail-fast: false + matrix: + compiler: ["clang-18", "clang-17", "gcc-14", "gcc-13", "gcc-12", "gcc-11"] + include: + - cxx_flags: "-std=c++23 -Wno-interference-size" + - compiler: "clang-18" + cxx_flags: "-std=c++23" + - compiler: "clang-17" + cxx_flags: "-std=c++20" steps: - name: Checkout uses: actions/checkout@v4 - - name: Setup Homebrew - uses: Homebrew/actions/setup-homebrew@master - - - name: Configure Homebrew - run: | - echo "HOMEBREW_NO_INSTALL_CLEANUP=1" >> "$GITHUB_ENV" - echo "HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK=1" >> "$GITHUB_ENV" + - name: Setup toolchain + uses: seqan/actions/setup-toolchain@main + with: + compiler: ${{ matrix.compiler }} + ccache_size: 75M - name: Install CMake uses: seqan/actions/setup-cmake@main with: cmake: 3.28.5 - - name: install ccache - run: | - echo "version" - brew list --versions ccache - echo $? - brew list --versions gcc - echo $? - if [[ -z $(brew list --versions ccache) ]]; then - echo "install" - brew install --force-bottle ccache || true - else - # Unlink the package. brew unlink does not take a version. - echo "unlink" - brew unlink ccache || true - echo "upgrade" - brew upgrade --force-bottle ccache - fi - - name: Configure tests run: | mkdir build cd build - cmake ../test/unit -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="-std=c++23" + cmake ../test/unit -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="${{ matrix.cxx_flags }}" make -j gtest_main - name: Build tests