This GitHub action builds a GAP package.
This action can be run on macOS, Ubuntu and Windows (when preceded by the setup-cygwin action). The building of system packages is only supported on macOS and Ubuntu.
The action build-pkg has to be called by the workflow of a GAP
package.
It compiles the package.
All of the following inputs are optional.
coverage:- Boolean that determines whether code coverage is turned on by adding
--coveragetoCFLAGS,CXXFLAGSandLDFLAGS. - default:
'true'
- Boolean that determines whether code coverage is turned on by adding
configflags:- Additional arguments to be passed to configure.
- default:
''
build-needed-pkgs:- Build GAP packages needed by this package, as defined by
Dependencies.NeededPackagesinPackageInfo.g. Options are: true, false, recursive. - default:
'recursive'
- Build GAP packages needed by this package, as defined by
build-suggested-pkgs:- Build GAP packages suggested by this package, as defined by
Dependencies.SuggestedOtherPackagesinPackageInfo.g. Options are: true, false, recursive. - default:
'true'
- Build GAP packages suggested by this package, as defined by
build-extensions:- Build GAP packages needed for extensions by this package, as defined by
ExtensionsinPackageInfo.g. Options are: true, false, recursive. - default:
'true'
- Build GAP packages needed for extensions by this package, as defined by
build-system-pkgs:- Build system packages needed by this package, as defined by
Dependencies.NeededSystemPackagesinPackageInfo.g. Options are: true, false, recursive. - default:
'recursive'
- Build system packages needed by this package, as defined by
build-test-pkgs:- Build GAP packages needed for CI testing, as defined by
Dependencies.TestPackagesinPackageInfo.g. Options are: true, false, recursive. - default:
'true'
- Build GAP packages needed for CI testing, as defined by
extra-pkgs:- Additional packages to build that do not appear in
PackageInfo.g. Should be a space- or newline-separated list. - default:
''
- Additional packages to build that do not appear in
- Dropped support for GAP packages that have a
configurescript which does not support the--with-gaproot=PATHargument. - The inputs
build-needed-pkgs,build-suggested-pkgs,build-extensions,build-system-pkgsandbuild-test-pkgswere added. Setting these totruewill also compile the relevant dependencies, and setting them torecursivewill also compile the dependencies' dependencies, etc. - The input
extra-pkgswas added. You can use this to build any additional packages that do not appear in thePackageInfo.gfile. - The
ABIinput was dropped. It previously made it easy to build 32-bit versions of packages, but we are phasing that out, so workflows should stop passing this input. - The
CONFIGFLAGSinput was renamed toconfigflags.
- The environment variable
NO_COVERAGEwas replaced by the action inputcoverage. To disable compiling code with coverage collection enabled, previously one had to setNO_COVERAGEto any non-empty value. This can now be achieved by setting thecoverageinput tofalse.
See below for a minimal example to run this action.
name: CI
# Trigger the workflow on push or pull request
on:
push:
pull_request:
jobs:
test:
name: Test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: gap-actions/setup-gap@v3
- uses: gap-actions/build-pkg@v3Please submit bug reports, suggestions for improvements and patches via the issue tracker.
The action build-pkg is free software; you can redistribute
and/or modify it under the terms of the GNU General Public License as published
by the Free Software Foundation; either version 2 of the License, or (at your
opinion) any later version. For details, see the file LICENSE distributed
with this action or the FSF's own site.