diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index af20391..d1b4296 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -12,7 +12,18 @@ env: jobs: test: + name: ${{ matrix.gap-branch }} runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + gap-branch: + - master + - stable-4.14 + - stable-4.13 + - stable-4.12 + - stable-4.11 + - stable-4.10 steps: # the order of the checkout actions is important because all contents of @@ -26,6 +37,9 @@ jobs: with: path: this-action/ - uses: gap-actions/setup-gap@v2 + with: + GAPBRANCH: ${{ matrix.gap-branch }} + GAP_PKGS_TO_BUILD: '' - uses: gap-actions/build-pkg@v1 - uses: gap-actions/run-pkg-tests@v3 - uses: ./this-action/ diff --git a/action.yml b/action.yml index eb988f2..6dece31 100644 --- a/action.yml +++ b/action.yml @@ -4,6 +4,31 @@ description: 'Process coverage data' runs: using: "composite" steps: + - name: "Build io and profiling packages if necessary" + shell: bash + run: | + set -ex + GAPROOT=${GAPROOT-$HOME/gap} + + # the following somewhat awkward `cd` invocation ensures + # compatibility with both GAP <= 4.11 (with package dir names like + # `pkg/io-1.2.3`) and GAP >= 4.12 (where it is `pkg/io`) + cd $GAPROOT/pkg/io || cd $GAPROOT/pkg/io-* + if [[ ! -f config.status ]] ; then + ./configure --with-gaproot=$GAPROOT + fi + make -j$(nproc) + + cd $GAPROOT/pkg/profiling || cd $GAPROOT/pkg/profiling-* + if [[ ! -f Makefile ]] ; then + if [[ -f configure.ac ]] ; then + ./configure --with-gaproot=$GAPROOT + else + ./configure $GAPROOT + fi + fi + make -j$(nproc) + - name: "Process coverage data" shell: bash run: |