Skip to content

Only check for overlaps in pairs that we haven't already checked #5

Only check for overlaps in pairs that we haven't already checked

Only check for overlaps in pairs that we haven't already checked #5

Workflow file for this run

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]"