Only check for overlaps in pairs that we haven't already checked #5
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: Compilers | |
| on: [pull_request, workflow_dispatch] | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| tests: | |
| name: ${{ matrix.sys.compiler }}-${{ matrix.sys.version }} | |
| timeout-minutes: 60 | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| sys: | |
| - { compiler: g++, version: 9 } | |
| - { compiler: g++, version: 10 } | |
| - { compiler: g++, version: 11 } | |
| - { compiler: g++, version: 12 } | |
| - { compiler: g++, version: 13 } | |
| - { compiler: g++, version: 14 } | |
| - { compiler: clang++, version: 14 } | |
| - { compiler: clang++, version: 15 } | |
| - { compiler: clang++, version: 16 } | |
| - { compiler: clang++, version: 17 } | |
| - { compiler: clang++, version: 18 } | |
| - { compiler: clang++, version: 19 } | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Setup ccache . . . | |
| uses: Chocobo1/setup-ccache-action@v1 | |
| with: | |
| update_packager_index: false | |
| install_ccache: true | |
| - name: Setup compiler . . . | |
| run: | | |
| sudo add-apt-repository ppa:ubuntu-toolchain-r/ppa -y | |
| sudo apt-get --yes update | |
| sudo apt-get install ${{ matrix.sys.compiler }}-${{ matrix.sys.version }} | |
| CXX="ccache ${{ matrix.sys.compiler }}-${{ matrix.sys.version }}" | |
| echo "CXX=$CXX" >> $GITHUB_ENV | |
| - name: Compiler information | |
| run: | | |
| echo $CXX | |
| $CXX --version | |
| - name: Configure . . . | |
| env: | |
| CXX: ${{ env.CXX }} | |
| run: | | |
| mkdir -p m4 | |
| ./autogen.sh | |
| ./configure CXX="$CXX" | |
| - name: Build libsemigroups . . . | |
| run: make -j4 | |
| - name: Build test_all . . . | |
| run: make test_all -j4 | |
| - name: Run the quick and standard tests . . . | |
| run: ./test_all "[quick],[standard]" | |
| conda: | |
| name: conda ${{ matrix.sys.compiler }} (${{ matrix.sys.os }}) | |
| timeout-minutes: 60 | |
| runs-on: ${{ matrix.sys.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| sys: | |
| - { package: gxx, compiler: g++, os: ubuntu-latest } | |
| - { package: clangxx, compiler: clang++, os: macOS-latest } | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Setup ccache . . . | |
| uses: Chocobo1/setup-ccache-action@v1 | |
| with: | |
| update_packager_index: false | |
| install_ccache: true | |
| - name: "Create micromamba environment" | |
| uses: mamba-org/setup-micromamba@v3 | |
| with: | |
| environment-name: builder | |
| cache-environment: true | |
| create-args: >- | |
| libcxx | |
| make | |
| automake | |
| autoconf | |
| libtool | |
| pkg-config | |
| compiler-rt | |
| ld64 | |
| ${{ matrix.sys.package }} | |
| - name: "Set environment variables . . ." | |
| run: | | |
| echo "PKG_CONFIG_PATH=$MAMBA_ROOT_PREFIX/envs/builder/lib/pkgconfig:$MAMBA_ROOT_PREFIX/envs/builder/share/pkgconfig:/usr/local/lib/pkgconfig" >> $GITHUB_ENV | |
| echo "LD_LIBRARY_PATH=$MAMBA_ROOT_PREFIX/envs/builder/lib:/usr/local/lib" >> $GITHUB_ENV | |
| echo "PATH=$MAMBA_ROOT_PREFIX/envs/builder/bin:$PATH" >> $GITHUB_ENV | |
| - name: Compiler info . . . | |
| run: | | |
| ${{ matrix.sys.compiler }} --version | |
| ld -v | |
| - name: Configure . . . | |
| run: | | |
| ./autogen.sh | |
| ./configure CXX="ccache ${{ matrix.sys.compiler }}" | |
| - name: Build libsemigroups . . . | |
| run: make -j4 | |
| - name: Build test_all . . . | |
| run: make test_all -j4 | |
| - name: Run the quick and standard tests . . . | |
| run: ./test_all "[quick],[standard]" |