Only check for overlaps in pairs that we haven't already checked #17
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: OS | |
| on: [pull_request, workflow_dispatch] | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| alpine: | |
| name: Alpine | |
| defaults: | |
| run: | |
| shell: alpine.sh {0} | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: jirutka/setup-alpine@v1 | |
| with: | |
| branch: v3.15 | |
| - name: Alpine/musl versions . . . | |
| run: | | |
| cat /etc/alpine-release | |
| apk info musl | |
| - name: Install autotools etc . . . | |
| run: | | |
| apk add build-base autoconf automake libtool | |
| shell: alpine.sh --root {0} | |
| - name: Setup ccache . . . | |
| uses: Chocobo1/setup-ccache-action@v1 | |
| with: | |
| update_packager_index: false | |
| install_ccache: true | |
| - name: Configure . . . | |
| run: ./autogen.sh && ./configure | |
| - name: Build libsemigroups . . . | |
| run: make -j4 | |
| - name: Build test_all . . . | |
| run: make test_all -j4 | |
| - name: Run the quick tests . . . | |
| run: ./test_all "[quick]" | |
| cygwin: | |
| name: Cygwin | |
| defaults: | |
| run: | |
| shell: C:\cygwin\bin\bash.exe --login -o igncr '{0}' | |
| timeout-minutes: 60 | |
| runs-on: windows-latest | |
| env: | |
| CHERE_INVOKING: 1 | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: cygwin/cygwin-install-action@v6 | |
| with: | |
| packages: gcc-g++,libtool,autoconf,automake | |
| - name: Configure . . . | |
| run: ./autogen.sh && ./configure --disable-eigen --disable-hpcombi CXXFLAGS="-Os" | |
| - name: Build libsemigroups . . . | |
| run: make -j4 | |
| - name: Run make test_all.exe . . . | |
| run: make test_all.exe -j4 | |
| - name: Run the quick tests (ex:no-cygwin) | |
| run: ./test_all "[quick][exclude:no-cygwin]" | |
| macos: | |
| name: "macOS-${{ matrix.os.arch }}" | |
| runs-on: ${{ matrix.os.image_name }} | |
| timeout-minutes: 60 | |
| strategy: | |
| matrix: | |
| os: | |
| - { image_name: macos-latest, arch: arm } | |
| - { image_name: macos-15-intel, arch: x86 } | |
| env: | |
| CXX: ccache clang++ | |
| CXXFLAGS: -fdiagnostics-color | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Setup ccache . . . | |
| uses: Chocobo1/setup-ccache-action@v1 | |
| with: | |
| update_packager_index: false | |
| install_ccache: true | |
| override_cache_key: "macos_${{ matrix.os.arch }}" | |
| - name: Runner information . . . | |
| run: uname -a | |
| - name: Install dependencies . . . | |
| run: brew install autoconf automake libtool | |
| - name: Clang version . . . | |
| run: clang++ --version | |
| - name: Configure . . . | |
| run: | | |
| mkdir -p m4 | |
| ./autogen.sh | |
| ./configure CXX="$CXX" CXXFLAGS="$CXXFLAGS" --disable-backward | |
| - name: Build libsemigroups . . . | |
| run: make -j4 | |
| - name: Build test_all . . . | |
| run: make test_all -j4 | |
| - name: Run the quick tests . . . | |
| run: ./test_all "[quick]" | |
| ubuntu-32: | |
| name: Ubuntu-32 | |
| timeout-minutes: 60 | |
| runs-on: ubuntu-latest | |
| env: | |
| GH_ACTIONS_ABI: 32 | |
| GH_ACTIONS_ARCH: x86 | |
| GH_ACTIONS_TEST_PROG: test_all | |
| GH_ACTIONS_TEST_TAGS: "[quick][exclude:no-valgrind][exclude:no-coverage][exclude:BMat8]" | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Running the quick tests in libsemigroups-docker-x86-32-base docker container . . . | |
| run: | | |
| ci/launch-docker-container.sh | |
| arm: | |
| name: Ubuntu-arm | |
| runs-on: ubuntu-24.04-arm | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Setup ccache . . . | |
| uses: Chocobo1/setup-ccache-action@v1 | |
| with: | |
| update_packager_index: false | |
| install_ccache: true | |
| - name: Install autotools etc . . . | |
| run: sudo apt-get install autoconf automake libtool | |
| - name: Configure . . . | |
| run: ./autogen.sh && ./configure | |
| - name: Build libsemigroups . . . | |
| run: make -j4 | |
| - name: Build test_all . . . | |
| run: make test_all -j4 | |
| - name: Run the quick tests . . . | |
| run: ./test_all "[quick]" | |
| aarch64: | |
| name: Ubuntu-aarch64 | |
| runs-on: ubuntu-24.04-arm | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: uraimo/run-on-arch-action@v3 | |
| with: | |
| arch: aarch64 | |
| distro: ubuntu22.04 | |
| run: | | |
| apt-get --yes update | |
| apt-get install autoconf automake libtool build-essential --yes | |
| gcc --version | |
| g++ --version | |
| ./autogen.sh && ./configure | |
| make test_all -j4 | |
| ./test_all "[quick]" | |
| FreeBSD: | |
| name: FreeBSD | |
| timeout-minutes: 60 | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Test in FreeBSD | |
| uses: vmactions/freebsd-vm@v1 | |
| with: | |
| usesh: true | |
| prepare: | | |
| pkg install -y autoconf automake libtool | |
| run: | | |
| ./autogen.sh | |
| ./configure | |
| make -j4 | |
| make test_all -j4 | |
| ./test_all [quick] | |
| OpenBSD: | |
| name: OpenBSD | |
| timeout-minutes: 60 | |
| runs-on: ubuntu-latest | |
| env: | |
| AUTOCONF_VERSION: 2.72 | |
| AUTOMAKE_VERSION: 1.17 | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Test in OpenBSD | |
| uses: vmactions/openbsd-vm@v1 | |
| with: | |
| envs: "AUTOCONF_VERSION AUTOMAKE_VERSION" | |
| usesh: true | |
| prepare: | | |
| pkg_add autoconf-2.72p0 automake-1.17 libtool | |
| run: | | |
| ./autogen.sh | |
| ./configure | |
| make -j4 | |
| make test_all -j4 | |
| ./test_all [quick] |