| agda-version | The Agda version.
Can be "latest" or a specific version number (e.g., 2.6.2.2).
| no | latest |
| agda-stdlib-version | The Agda standard library version.
Can be "none", "recommended", "latest", or a specific version number (e.g., 1.7.1).
If set to "recommended", it will install the latest version of the Agda
standard library compatible with the specified Agda version, as specified
on [the Agda Wiki](https://wiki.portal.chalmers.se/agda/Libraries/StandardLibrary).
If set to "latest" or a specific version number, it will install the
latest or that specific version, regardless of compatibility with the
specified Agda version.
| no | none |
| agda-libraries | A list of Agda libraries to install.
Libraries must be specified by their Git URL and end in a version anchor,
e.g.,
```yaml
agda-libraries: |
https://github.com/agda/agda-categories.git#v0.1.7.1
https://github.com/agda/cubical.git#v0.3
```
To setup the Agda standard library, use "agda-stdlib-version" instead, as
that ensures that the standard library and Agda versions are compatible.
This input requires that the library has a tagged release and that the
repository contains a .agda-lib file.
This input relies on the convention that the filename of the .agda-lib
file is the name of the library, and will refuse to install any library
whose .agda-lib file is simple named ".agda-lib".
| no | "" |
| agda-defaults | A list of installed Agda libraries to add to defaults.
Libraries must be specified by the name of their .agda-lib file, e.g.,
```yaml
agda-defaults: |
standard-library
agda-categories
cubical
```
| no | "" |
| agda-executables | A list of executables to register with Agda.
Executables must be specified by their name or path, e.g.,
```yaml
agda-executables: |
z3
/bin/echo
```
| no | "" |
| force-build | If specified, always build from source.
| no | — |
| force-no-build | If specified, never build from source.
| no | — |
| ghc-version | Version of GHC to use.
Can be "recommended", "latest", or a specific version number (e.g., 9.4.2).
If set to "recommended", it will get the latest version supported by
`haskell/actions/setup` which the Agda version is tested-with.
If `ghc-version-match-exact` is set to false, it will favour versions
which are supported by `haskell/actions/setup`.
If set "latest" or to a specific GHC version, this version will be used
even if it is incompatible with the Agda version.
| no | recommended |
| pre-build-hook | A shell script to be run before starting the build.
| no | "" |
| configure-options | Can be "none", "recommended", or text.
If set to "none", no configuration flags will be passed to `cabal configure`.
If set to "recommended", the recommended configuration flags will be passed to `cabal configure`.
Otherwise, the value will be passed to `cabal configure` verbatim.
Only used when building Agda from source.
| — | recommended |
| bundle | If specified, bundle Agda and its non-standard dependencies, and upload
the bundle as an artifact.
| no | — |
| bundle-name | If specified, will be used as a name for the bundle.
The value is interpreted as a [nunjucks template](https://mozilla.github.io/nunjucks/).
The template may use `{{agda}}`, `{{cabal}}`, `{{ghc}}`, `{{icu}}`,
which will be replaced by their respective versions, if used, and
`{{arch}}`, `{{platform}}`, and `{{release}}`. The variable `{{arch}}`
is replaced by the system architecture---e.g., `x64`, `arm64`, etc.
The variable `{{platform}}` is replaced by one of of `linux`, `macos`,
or `windows`. The variable `{{release}}` is replaced by a release
identifier, e.g., `ubuntu-22.04`, `macos-12`, or `windows-2022`.
Only used when `bundle` is specified.
| no | agda-{{ agda }}
-{{ arch }}
-{{ release }}
-ghc{{ ghc }}
-cabal{{ cabal }}
{% if icu %}-icu{{ icu }}{% endif %}
|
| bundle-license-report | If specified, include a license report in the bundle.
Only used when `bundle` is specified.
| no | — |
| bundle-compress | If specified, the executables are compressed with [UPX](https://upx.github.io).
Beware that on MacOS and Windows the resulting executables are unsigned,
and therefore will cause problems with security.
There is a workaround for this on MacOS:
```sh
# for each executable file in <package>/bin:
chmod +x <bin>
xattr -c <bin>
# for each library file in <package>/lib:
chmod +w <lib>
xattr -c <lib>
chmod -w <lib>
```
Only used when `bundle` is specified.
| no | — |
| bundle-retention-days | Duration after which bundle will expire in days.
0 means using default retention.
Minimum 1 day.
Maximum 90 days unless changed from the repository settings page.
| no | 0 |
| cabal-version | Version of Cabal to use. If set to "latest", it will always get the latest stable version.
| no | latest |
| stack-version | Version of Stack to use. If set to "latest", it will always get the latest stable version.
| no | latest |
| enable-stack | If specified, will setup Stack.
| no | — |
| stack-no-global | If specified, enable-stack must be set. Prevents installing GHC and Cabal globally.
| no | — |
| stack-setup-ghc | If specified, enable-stack must be set. Will run stack setup to install the specified GHC.
| no | — |
| cabal-update | If specified, will run `cabal update`.
| no | — |
| ghcup-release-channel | If specified, value is added as a ghcup release channel via `ghcup config add-release-channel`.
| no | — |
| disable-matcher | If specified, disables match messages from GHC as GitHub CI annotations.
| no | — |