Standard tests #2371
This file contains 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: "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_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@v3 | |
- 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@v3 |