Skip to content

CI: test with GAP 4.13; test with mininimal set of packages loaded #85

CI: test with GAP 4.13; test with mininimal set of packages loaded

CI: test with GAP 4.13; test with mininimal set of packages loaded #85

Workflow file for this run

name: CI
# Trigger the workflow on push or pull request
on:
push:
branches:
- master
pull_request:
# the `concurrency` settings ensure that not too many CI jobs run in parallel
concurrency:
# group by workflow and ref; the last slightly strange component ensures that for pull
# requests, we limit to 1 concurrent job, but for the master branch we don't
group: ${{ github.workflow }}-${{ github.ref }}-${{ github.ref != 'refs/heads/master' || github.run_number }}
# Cancel intermediate builds, but only if it is a pull request build.
cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }}
jobs:
# The CI test job
test:
name: ${{ matrix.gap-branch }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
gap-branch:
- master
- stable-4.13
- stable-4.12
- stable-4.11
- stable-4.10
steps:
- uses: actions/checkout@v4
- uses: gap-actions/setup-gap@v2
with:
GAP_PKGS_TO_BUILD: 'io' # exclude profiling, i.e., *this* package
GAPBRANCH: ${{ matrix.gap-branch }}
- uses: gap-actions/build-pkg@v1
- uses: gap-actions/run-pkg-tests@v2
with:
NO_COVERAGE: 'yes'
- uses: gap-actions/run-pkg-tests@v2
with:
NO_COVERAGE: 'yes'
only-needed: true
- name: "Generate source coverage reports by running gcov"
run: find . -type f -name '*.gcno' -exec gcov -pb {} +
- uses: codecov/codecov-action@v3
# The Cygwin job
test-cygwin:
name: 'cygwin64 - GAP master'
if: ${{ !(github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.repository) }}
runs-on: windows-2019
env:
CHERE_INVOKING: 1
steps:
- uses: actions/checkout@v4
- uses: gap-actions/setup-cygwin@v1
- uses: gap-actions/setup-gap@cygwin-v2
with:
GAP_PKGS_TO_BUILD: 'io'
- uses: gap-actions/build-pkg@cygwin-v1
# HACK: This test fails in GitHub Actions Cygwin
- name: "HACK: Remove failing test files"
run: rm tst/tstall/profilefile.tst
shell: bash
- uses: gap-actions/run-pkg-tests@cygwin-v2
with:
NO_COVERAGE: 'yes'
- name: "Generate source coverage reports by running gcov"
run: find . -type f -name '*.gcno' -exec gcov -pb {} +
shell: bash
- uses: codecov/codecov-action@v3
- name: "Setup tmate session"
uses: mxschmitt/action-tmate@v3
if: ${{ failure() }}
timeout-minutes: 15
# The documentation job
manual:
name: Build manuals
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: gap-actions/setup-gap@v2
with:
GAP_PKGS_TO_BUILD: "io" # exclude profiling, i.e., *this* package
- uses: gap-actions/build-pkg-docs@v1
with:
use-latex: 'true'
- name: 'Upload documentation'
uses: actions/upload-artifact@v4
with:
name: manual
path: ./doc/manual.pdf
if-no-files-found: error