Skip to content

Standard tests

Standard tests #2584

Workflow file for this run

name: "Standard tests"
on:
workflow_dispatch:
pull_request:
push:
branches:
- "main"
- "stable-*.*"
schedule:
# Every day at 3:15 AM UTC
- cron: '15 3 * * *'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
test:
name: "${{ matrix.gap-branch }} / ${{ matrix.os }} / ${{ matrix.ABI }}-bit"
runs-on: "${{ matrix.os }}-latest"
strategy:
fail-fast: false
matrix:
os:
- ubuntu
- macos
gap-branch:
- master
- stable-4.12
- stable-4.13
ABI:
- 64
exclude:
# We exclude this combination for the reasons discussed at:
# https://github.com/semigroups/Semigroups/pull/1015
# https://github.com/gap-system/gap/issues/5640
- os: macos
gap-branch: stable-4.12
steps:
- uses: actions/checkout@v4
- name: "Install dependencies (macOS only!)"
if: ${{ runner.os == 'macOS' }}
run: brew install automake autoconf zlib gmp pkg-config libtool
# Setup ccache, to speed up repeated compilation of the same binaries
# (i.e., GAP and the packages)
- name: "Setup ccache"
if: ${{ runner.os != 'Windows' }}
uses: Chocobo1/setup-ccache-action@v1
with:
update_packager_index: false
override_cache_key: ${{ runner.os }}-${{ matrix.gap-branch }}-${{ matrix.ABI }}-${{ github.ref }}
override_cache_key_fallback: ${{ runner.os }}-${{ matrix.gap-branch }}-${{ matrix.ABI }}
- name: "Install GAP and clone/compile necessary packages"
uses: gap-actions/setup-gap@v2
env:
# We don't understand why this is necessary. Hopefully it can be
# removed in the fullness of time.
LDFLAGS: "-pthread"
with:
GAP_PKGS_TO_CLONE: digraphs/digraphs
GAP_PKGS_TO_BUILD: "digraphs io orb datastructures profiling"
GAPBRANCH: ${{ matrix.gap-branch }}
ABI: ${{ matrix.ABI }}
- name: "Build Semigroups"
uses: gap-actions/build-pkg@v1
with:
ABI: ${{ matrix.ABI }}
CONFIGFLAGS: --disable-hpcombi
- name: "Run Semigroups package's tst/teststandard.g"
uses: gap-actions/run-pkg-tests@v2
- uses: gap-actions/process-coverage@v2
- uses: codecov/codecov-action@v5
- name: "Run GAP's tst/testinstall.g"
uses: gap-actions/run-pkg-tests@v2
with:
GAP_TESTFILE: "ci/run-gap-testinstall.g"
test-cygwin:
name: "master / cygwin / 64-bit"
runs-on: windows-latest
env:
CHERE_INVOKING: 1
steps:
- uses: actions/checkout@v4
- name: "Setup cygwin"
uses: gap-actions/setup-cygwin@v1
- name: "Setup GAP for cygwin"
uses: gap-actions/setup-gap@cygwin-v2
with:
GAP_PKGS_TO_BUILD: "digraphs io orb datastructures profiling"
- name: "Build Semigroups"
uses: gap-actions/build-pkg@cygwin-v1
with:
CONFIGFLAGS: --disable-fmt --disable-hpcombi # to try and speed up compilation FIXME don't disable hpcombi
- uses: gap-actions/run-pkg-tests@cygwin-v2
with:
GAP_TESTFILE: "tst/teststandard.g"
- uses: gap-actions/process-coverage@cygwin-v2
- uses: codecov/codecov-action@v5