Skip to content

Commit

Permalink
Support for v2.7.0.1 (#224)
Browse files Browse the repository at this point in the history
  • Loading branch information
wenkokke authored Oct 19, 2024
1 parent 52f1e70 commit 13475d9
Show file tree
Hide file tree
Showing 9 changed files with 235 additions and 107 deletions.
27 changes: 27 additions & 0 deletions .github/workflows/build-legacy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,33 @@ concurrency:
cancel-in-progress: true

jobs:
# Build Agda 2.7.0.1
build-legacy-2_7_0_1:
name: Build Agda (2.7.0.1) on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- name: Build Agda (2.7.0.1)
uses: ./
with:
agda-version: '2.7.0.1'
bundle: true
bundle-name: |
agda-{{ agda }}
-{{ arch }}
-{{ release }}
-ghc{{ ghc }}
{% if icu %}-icu{{ icu }}{% endif %}
bundle-compress: ${{ runner.os == 'Linux' }}
bundle-license-report: true
cabal-version: '3.8'
force-build: true
ghc-version: '9.10.1'
strategy:
fail-fast: false
matrix:
os: [ubuntu-20.04, ubuntu-22.04, macos-12, windows-2022]

# Build Agda 2.7.0
build-legacy-2_7_0:
name: Build Agda (2.7.0) on ${{ matrix.os }}
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/setup-legacy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@ jobs:
]
agda-version:
[
'2.7.0.1',
'2.7.0',
'2.6.4.3',
'2.6.4.1',
Expand Down
91 changes: 41 additions & 50 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,6 @@ If an older version of GHC is needed to build the specified version, `setup-agda

## Samples



### Minimal

[![minimal](https://github.com/wenkokke/setup-agda/actions/workflows/sample-minimal.yml/badge.svg)](https://github.com/wenkokke/setup-agda/actions/workflows/sample-minimal.yml)
Expand All @@ -51,8 +49,6 @@ jobs:
working-directory: tests/agda
```
### Basic
[![basic](https://github.com/wenkokke/setup-agda/actions/workflows/sample-basic.yml/badge.svg)](https://github.com/wenkokke/setup-agda/actions/workflows/sample-basic.yml)
Expand Down Expand Up @@ -80,8 +76,6 @@ jobs:
working-directory: tests/agda-stdlib
```
### Matrix
[![matrix](https://github.com/wenkokke/setup-agda/actions/workflows/sample-matrix.yml/badge.svg)](https://github.com/wenkokke/setup-agda/actions/workflows/sample-matrix.yml)
Expand Down Expand Up @@ -119,8 +113,6 @@ jobs:
working-directory: tests/agda-stdlib
```
### Complex
[![complex](https://github.com/wenkokke/setup-agda/actions/workflows/sample-complex.yml/badge.svg)](https://github.com/wenkokke/setup-agda/actions/workflows/sample-complex.yml)
Expand Down Expand Up @@ -169,25 +161,24 @@ jobs:
./scripts/test-fail.sh
```
## Supported Versions
| Agda | Ubuntu | macOS (Intel) | macOS (Apple) | Windows |
| Agda | Ubuntu | macOS (Intel) | macOS (Apple) | Windows |
| :------ | :-----: | :-----------: | :-----------: | :-----: |
| 2.7.0 | >=20.04 | >=12 | >=14 | >=2019 |
| 2.6.4.3 | >=20.04 | >=11 | >=14 | >=2019 |
| 2.6.4.1 | >=20.04 | >=11 | >=14 | >=2019 |
| 2.6.4 | >=20.04 | >=11 | >=14 | >=2019 |
| 2.6.3 | >=20.04 | >=11 | >=14 | >=2019 |
| 2.6.2.2 | >=20.04 | >=11 | | >=2019 |
| 2.6.2.1 | >=20.04 | >=11 | | >=2019 |
| 2.6.2 | >=20.04 | >=11 | | >=2019 |
| 2.6.1.3 | >=20.04 | >=11 | | |
| 2.6.0.1 | >=20.04 | >=11 | | |
| 2.5.4.2 | >=20.04 | >=11 | | |
| 2.5.3 | >=20.04 | >=11 | | |
| 2.5.2 | >=20.04 | >=11 | | |
| 2.7.0.1 | >=20.04 | >=12 | >=14 | >=2019 |
| 2.7.0 | >=20.04 | >=12 | >=14 | >=2019 |
| 2.6.4.3 | >=20.04 | >=11 | >=14 | >=2019 |
| 2.6.4.1 | >=20.04 | >=11 | >=14 | >=2019 |
| 2.6.4 | >=20.04 | >=11 | >=14 | >=2019 |
| 2.6.3 | >=20.04 | >=11 | >=14 | >=2019 |
| 2.6.2.2 | >=20.04 | >=11 | | >=2019 |
| 2.6.2.1 | >=20.04 | >=11 | | >=2019 |
| 2.6.2 | >=20.04 | >=11 | | >=2019 |
| 2.6.1.3 | >=20.04 | >=11 | | |
| 2.6.0.1 | >=20.04 | >=11 | | |
| 2.5.4.2 | >=20.04 | >=11 | | |
| 2.5.3 | >=20.04 | >=11 | | |
| 2.5.2 | >=20.04 | >=11 | | |
We encourage using the binary distributions. The binary distributions are tested on every commit. Building the latest Agda version is tested weekly on all platforms except Windows 2019. Please do not rely on the legacy builds, as these are not regularly tested. Please report any failing build _that is listed as working_, and we will update the table.
Expand All @@ -202,21 +193,21 @@ This section describes all inputs:
- `agda-version`

The Agda version.

Can be "latest" or a specific version number (e.g., 2.6.2.2).

Default: `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.
Expand All @@ -226,22 +217,22 @@ This section describes all inputs:
- `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".
Expand All @@ -251,9 +242,9 @@ This section describes all inputs:
- `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
Expand All @@ -266,9 +257,9 @@ This section describes all inputs:
- `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
Expand All @@ -292,14 +283,14 @@ This section describes all inputs:
- `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.

Expand All @@ -314,11 +305,11 @@ This section describes all inputs:
- `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.

Default: `recommended`
Expand All @@ -333,7 +324,7 @@ This section describes all inputs:
- `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
Expand All @@ -342,7 +333,7 @@ This section describes all inputs:
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.

Default: `agda-{{ agda }}
Expand All @@ -356,30 +347,30 @@ This section describes all inputs:
- `bundle-license-report`

If specified, include a license report in the bundle.

Only used when `bundle` is specified.

Default: `false`

- `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.

Default: `false`
Expand All @@ -388,7 +379,7 @@ This section describes all inputs:

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.

Expand Down
40 changes: 39 additions & 1 deletion data/Agda.versions.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,45 @@ nightly:
- url: https://github.com/agda/agda/releases/download/nightly/Agda-nightly-win64.zip
dir: Agda-nightly
compatibility:
agda-stdlib: '2.1'
agda-stdlib: '2.1 - 2.1.1'
2.7.0.1:
binary:
macos:
arm64:
- url: https://github.com/wenkokke/setup-agda/releases/download/latest/agda-2.7.0.1-arm64-macos-14-ghc9.8.2-icu74.2.zip
sha256: 1b26e25e26ae1469fc5969fa6026ffa7a8c1b0d598d63ff741992cd2de795323
target: macos-14
x64:
- url: https://github.com/wenkokke/setup-agda/releases/download/latest/agda-2.7.0.1-x64-macos-12-ghc9.10.1-icu74.2.zip
sha256: 3bb4c906bbdca94bf2a6dcd0585c49c7b97cbc47e0f17bef3c5f55637e332825
target: macos-12
linux:
x64:
- url: https://github.com/wenkokke/setup-agda/releases/download/latest/agda-2.7.0.1-x64-ubuntu-20.04-ghc9.10.1-icu66.1.zip
sha256: b247afe5e08e570b1afd46b308f0e8d886f4c3fc0e18bd086d72976de8acf870
target: ubuntu-20.04
- url: https://github.com/wenkokke/setup-agda/releases/download/latest/agda-2.7.0.1-x64-ubuntu-22.04-ghc9.10.1-icu70.1.zip
sha256: 4c332f1a04b5410cc13ffcbac750a811c31af9b4d0a072fe059de42e2e35779f
target: ubuntu-22.04
windows:
x64:
- url: https://github.com/wenkokke/setup-agda/releases/download/latest/agda-2.7.0.1-x64-windows-2022-ghc9.10.1-icu75.1.zip
sha256: eabf9608d4a3a7a122ff44bbf911a33c986db7fbb942dd306f8a4438c50ffcbc
target: windows-2022
compatibility:
agda-stdlib: '2.1 - 2.1.1'
ghc: '8.6.5 - 9.10.1'
configuration:
macos: |
--flags=+enable-cluster-counting
--flags=+optimise-heavily
linux: |
--enable-split-sections
--flags=+enable-cluster-counting
--flags=+optimise-heavily
windows: |
--enable-split-sections
--flags=+enable-cluster-counting
2.7.0:
binary:
macos:
Expand Down
5 changes: 5 additions & 0 deletions data/agda-stdlib.versions.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
'2.1.1':
source:
url: 'https://github.com/agda/agda-stdlib/archive/refs/tags/v2.1.1.zip'
tag: 'v2.1.1'
dir: 'agda-stdlib-2.1.1'
'2.1':
source:
url: 'https://github.com/agda/agda-stdlib/archive/refs/tags/v2.1.zip'
Expand Down
Loading

0 comments on commit 13475d9

Please sign in to comment.