Skip to content

Latest commit

 

History

History
99 lines (78 loc) · 3.7 KB

File metadata and controls

99 lines (78 loc) · 3.7 KB

build-pkg

This GitHub action builds a GAP package.

Supported OSes

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.

Usage

The action build-pkg has to be called by the workflow of a GAP package. It compiles the package.

Inputs

All of the following inputs are optional.

  • coverage:
    • Boolean that determines whether code coverage is turned on by adding --coverage to CFLAGS, CXXFLAGS and LDFLAGS.
    • default: 'true'
  • configflags:
    • Additional arguments to be passed to configure.
    • default: ''
  • build-needed-pkgs:
    • Build GAP packages needed by this package, as defined by Dependencies.NeededPackages in PackageInfo.g. Options are: true, false, recursive.
    • default: 'recursive'
  • build-suggested-pkgs:
    • Build GAP packages suggested by this package, as defined by Dependencies.SuggestedOtherPackages in PackageInfo.g. Options are: true, false, recursive.
    • default: 'true'
  • build-extensions:
    • Build GAP packages needed for extensions by this package, as defined by Extensions in PackageInfo.g. Options are: true, false, recursive.
    • default: 'true'
  • build-system-pkgs:
    • Build system packages needed by this package, as defined by Dependencies.NeededSystemPackages in PackageInfo.g. Options are: true, false, recursive.
    • default: 'recursive'
  • build-test-pkgs:
    • Build GAP packages needed for CI testing, as defined by Dependencies.TestPackages in PackageInfo.g. Options are: true, false, recursive.
    • default: 'true'
  • extra-pkgs:
    • Additional packages to build that do not appear in PackageInfo.g. Should be a space- or newline-separated list.
    • default: ''

What's new in v3

  • Dropped support for GAP packages that have a configure script which does not support the --with-gaproot=PATH argument.
  • The inputs build-needed-pkgs, build-suggested-pkgs, build-extensions, build-system-pkgs and build-test-pkgs were added. Setting these to true will also compile the relevant dependencies, and setting them to recursive will also compile the dependencies' dependencies, etc.
  • The input extra-pkgs was added. You can use this to build any additional packages that do not appear in the PackageInfo.g file.
  • The ABI input 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 CONFIGFLAGS input was renamed to configflags.

What's new in v2

  • The environment variable NO_COVERAGE was replaced by the action input coverage. To disable compiling code with coverage collection enabled, previously one had to set NO_COVERAGE to any non-empty value. This can now be achieved by setting the coverage input to false.

Examples

See below for a minimal example to run this action.

Minimal example

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@v3

Contact

Please submit bug reports, suggestions for improvements and patches via the issue tracker.

License

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.