-
Notifications
You must be signed in to change notification settings - Fork 242
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
release 1.7.3 #2132
release 1.7.3 #2132
Changes from all commits
db41636
c38f140
2f2c413
84c16c1
3f869a3
d883ecc
d622fa5
3d2002b
44bd3be
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2,12 +2,10 @@ name: Ubuntu build | |
on: | ||
push: | ||
branches: | ||
- master | ||
- experimental | ||
- release-1.7.3-base | ||
pull_request: | ||
branches: | ||
- master | ||
- experimental | ||
- release-1.7.3-base | ||
|
||
######################################################################## | ||
## CONFIGURATION | ||
|
@@ -46,11 +44,11 @@ on: | |
######################################################################## | ||
|
||
env: | ||
GHC_VERSION: 8.6.5 | ||
CABAL_VERSION: 3.2.0.0 | ||
GHC_VERSION: 9.6.3 | ||
CABAL_VERSION: 3.10.1.0 | ||
CABAL_INSTALL: cabal v1-install --ghc-options='-O1 +RTS -M6G -RTS' | ||
# CABAL_INSTALL: cabal install --overwrite-policy=always --ghc-options='-O1 +RTS -M6G -RTS' | ||
AGDA: agda -Werror +RTS -M3.5G -H3.5G -A128M -RTS -i. -i src/ | ||
AGDA: agda -Werror +RTS -M6G -H3.5G -A128M -RTS -i. -i src/ | ||
|
||
jobs: | ||
test-stdlib: | ||
|
@@ -71,22 +69,10 @@ jobs: | |
|
||
- name: Initialise variables | ||
run: | | ||
if [[ '${{ github.ref }}' == 'refs/heads/master' \ | ||
|| '${{ github.base_ref }}' == 'master' ]]; then | ||
# Pick Agda version for master | ||
echo "AGDA_COMMIT=tags/v2.6.1.3.20210524" >> $GITHUB_ENV; | ||
echo "AGDA_HTML_DIR=html" >> $GITHUB_ENV | ||
elif [[ '${{ github.ref }}' == 'refs/heads/experimental' \ | ||
|| '${{ github.base_ref }}' == 'experimental' ]]; then | ||
# Pick Agda version for experimental | ||
echo "AGDA_COMMIT=9047e32a1b0cba98a299ed439a08d35bc4846f99" >> $GITHUB_ENV; | ||
echo "AGDA_HTML_DIR=html/experimental" >> $GITHUB_ENV | ||
fi | ||
|
||
if [[ '${{ github.ref }}' == 'refs/heads/master' \ | ||
|| '${{ github.ref }}' == 'refs/heads/experimental' ]]; then | ||
echo "AGDA_DEPLOY=true" >> $GITHUB_ENV | ||
fi | ||
echo "AGDA_COMMIT=tags/v2.6.4" >> "$GITHUB_ENV" | ||
echo "AGDA_HTML_DIR=html/v1.7.3" >> "$GITHUB_ENV" | ||
echo "AGDA_DEPLOY=true" >> "$GITHUB_ENV" | ||
|
||
|
||
######################################################################## | ||
## CACHING | ||
|
@@ -98,31 +84,37 @@ jobs: | |
# i.e. if we change either the version of Agda, ghc, or cabal that we want | ||
# to use for the build. | ||
- name: Cache cabal packages | ||
uses: actions/cache@v2 | ||
uses: actions/cache@v3 | ||
id: cache-cabal | ||
with: | ||
path: | | ||
~/.cabal/packages | ||
~/.cabal/store | ||
~/.cabal/bin | ||
key: ${{ runner.os }}-${{ env.GHC_VERSION }}-${{ env.CABAL_VERSION }}-${{ env.AGDA_COMMIT }} | ||
key: ${{ runner.os }}-${{ env.GHC_VERSION }}-${{ env.CABAL_VERSION }}-${{ env.AGDA_COMMIT }}-${{ github.sha }} | ||
restore-keys: | | ||
${{ runner.os }}-${{ env.GHC_VERSION }}-${{ env.CABAL_VERSION }}-${{ env.AGDA_COMMIT }}- | ||
${{ runner.os }}-${{ env.GHC_VERSION }}-${{ env.CABAL_VERSION }}- | ||
|
||
######################################################################## | ||
## INSTALLATION STEPS | ||
######################################################################## | ||
|
||
- name: Install cabal | ||
if: steps.cache-cabal.outputs.cache-hit != 'true' | ||
uses: actions/setup[email protected] | ||
uses: haskell-actions/setup@v2 | ||
with: | ||
ghc-version: ${{ env.GHC_VERSION }} | ||
cabal-version: ${{ env.CABAL_VERSION }} | ||
cabal-update: true | ||
|
||
- name: Put cabal programs in PATH | ||
run: echo "~/.cabal/bin" >> $GITHUB_PATH | ||
run: echo "~/.cabal/bin" >> "$GITHUB_PATH" | ||
|
||
- name: Cabal update | ||
run: cabal update | ||
- name: Install alex and happy | ||
if: steps.cache-cabal.outputs.cache-hit != 'true' | ||
run: | | ||
${{ env.CABAL_INSTALL }} alex happy | ||
|
||
- name: Download and install Agda from github | ||
if: steps.cache-cabal.outputs.cache-hit != 'true' | ||
|
@@ -141,7 +133,7 @@ jobs: | |
|
||
# By default github actions do not pull the repo | ||
- name: Checkout stdlib | ||
uses: actions/checkout@v2 | ||
uses: actions/checkout@v4 | ||
|
||
- name: Test stdlib | ||
run: | | ||
|
@@ -182,10 +174,10 @@ jobs: | |
|
||
|
||
- name: Deploy HTML | ||
uses: JamesIves/github-pages-deploy-action@4.1.3 | ||
uses: JamesIves/github-pages-deploy-action@v4 | ||
if: ${{ success() && env.AGDA_DEPLOY }} | ||
|
||
with: | ||
branch: gh-pages | ||
folder: html | ||
git-config-name: Github Actions | ||
git-config-name: Github Actions |
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -6,79 +6,148 @@ | |
# | ||
# haskell-ci regenerate | ||
# | ||
# For more information, see https://github.com/haskell-CI/haskell-ci | ||
# For more information, see https://github.com/andreasabel/haskell-ci | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Could you explain why we're switching to your own fork? Have to confess I'm a bit reluctant to, unless strictly necessarily. If it necessary, then documentation as to the reason should be added here. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. My fork uses the There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. And why do we need the latest version of There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Not needed. If it matters to you, I can install the original haskell-ci and recreate this workflow. But this is anyway just customary CI for 1.7.3 which won't end up in master. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yes, I guess that's my real question! Why are we trying to make a custom CI pass for v1.7.3? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I don't want to release without having run CI. But I now I am passing the bucket to you, so I make #2141 without CI changes. |
||
# | ||
# version: 0.12.1 | ||
# version: 0.17.20231010 | ||
# | ||
# REGENDATA ("0.12.1",["github","--no-cabal-check","agda-stdlib-utils.cabal"]) | ||
# REGENDATA ("0.17.20231010",["github","--no-cabal-check","agda-stdlib-utils.cabal"]) | ||
# | ||
name: Haskell-CI | ||
on: | ||
push: | ||
branches: | ||
- master | ||
- experimental | ||
- release-1.7.3-base | ||
pull_request: | ||
branches: | ||
- master | ||
- experimental | ||
- release-1.7.3-base | ||
jobs: | ||
linux: | ||
name: Haskell-CI - Linux - ${{ matrix.compiler }} | ||
runs-on: ubuntu-18.04 | ||
runs-on: ubuntu-20.04 | ||
timeout-minutes: | ||
60 | ||
container: | ||
image: buildpack-deps:xenial | ||
image: buildpack-deps:focal | ||
continue-on-error: ${{ matrix.allow-failure }} | ||
strategy: | ||
matrix: | ||
include: | ||
- compiler: ghc-9.0.1 | ||
- compiler: ghc-9.8.1 | ||
compilerKind: ghc | ||
compilerVersion: 9.8.1 | ||
setup-method: ghcup | ||
allow-failure: false | ||
- compiler: ghc-8.10.4 | ||
- compiler: ghc-9.6.3 | ||
compilerKind: ghc | ||
compilerVersion: 9.6.3 | ||
setup-method: ghcup | ||
allow-failure: false | ||
- compiler: ghc-9.4.7 | ||
compilerKind: ghc | ||
compilerVersion: 9.4.7 | ||
setup-method: ghcup | ||
allow-failure: false | ||
- compiler: ghc-9.2.8 | ||
compilerKind: ghc | ||
compilerVersion: 9.2.8 | ||
setup-method: ghcup | ||
allow-failure: false | ||
- compiler: ghc-9.0.2 | ||
compilerKind: ghc | ||
compilerVersion: 9.0.2 | ||
setup-method: ghcup | ||
allow-failure: false | ||
- compiler: ghc-8.10.7 | ||
compilerKind: ghc | ||
compilerVersion: 8.10.7 | ||
setup-method: ghcup | ||
allow-failure: false | ||
- compiler: ghc-8.8.4 | ||
compilerKind: ghc | ||
compilerVersion: 8.8.4 | ||
setup-method: hvr-ppa | ||
allow-failure: false | ||
- compiler: ghc-8.6.5 | ||
compilerKind: ghc | ||
compilerVersion: 8.6.5 | ||
setup-method: hvr-ppa | ||
allow-failure: false | ||
- compiler: ghc-8.4.4 | ||
compilerKind: ghc | ||
compilerVersion: 8.4.4 | ||
setup-method: hvr-ppa | ||
allow-failure: false | ||
- compiler: ghc-8.2.2 | ||
compilerKind: ghc | ||
compilerVersion: 8.2.2 | ||
setup-method: hvr-ppa | ||
allow-failure: false | ||
- compiler: ghc-8.0.2 | ||
compilerKind: ghc | ||
compilerVersion: 8.0.2 | ||
setup-method: hvr-ppa | ||
allow-failure: false | ||
fail-fast: false | ||
steps: | ||
- name: apt | ||
run: | | ||
apt-get update | ||
apt-get install -y --no-install-recommends gnupg ca-certificates dirmngr curl git software-properties-common | ||
apt-add-repository -y 'ppa:hvr/ghc' | ||
apt-get update | ||
apt-get install -y $CC cabal-install-3.4 | ||
apt-get install -y --no-install-recommends gnupg ca-certificates dirmngr curl git software-properties-common libtinfo5 | ||
if [ "${{ matrix.setup-method }}" = ghcup ]; then | ||
mkdir -p "$HOME/.ghcup/bin" | ||
curl -sL https://downloads.haskell.org/ghcup/0.1.19.5/x86_64-linux-ghcup-0.1.19.5 > "$HOME/.ghcup/bin/ghcup" | ||
chmod a+x "$HOME/.ghcup/bin/ghcup" | ||
"$HOME/.ghcup/bin/ghcup" config add-release-channel https://raw.githubusercontent.com/haskell/ghcup-metadata/master/ghcup-prereleases-0.0.7.yaml; | ||
"$HOME/.ghcup/bin/ghcup" install ghc "$HCVER" || (cat "$HOME"/.ghcup/logs/*.* && false) | ||
"$HOME/.ghcup/bin/ghcup" install cabal 3.10.1.0 || (cat "$HOME"/.ghcup/logs/*.* && false) | ||
else | ||
apt-add-repository -y 'ppa:hvr/ghc' | ||
apt-get update | ||
apt-get install -y "$HCNAME" | ||
mkdir -p "$HOME/.ghcup/bin" | ||
curl -sL https://downloads.haskell.org/ghcup/0.1.19.5/x86_64-linux-ghcup-0.1.19.5 > "$HOME/.ghcup/bin/ghcup" | ||
chmod a+x "$HOME/.ghcup/bin/ghcup" | ||
"$HOME/.ghcup/bin/ghcup" config add-release-channel https://raw.githubusercontent.com/haskell/ghcup-metadata/master/ghcup-prereleases-0.0.7.yaml; | ||
"$HOME/.ghcup/bin/ghcup" install cabal 3.10.1.0 || (cat "$HOME"/.ghcup/logs/*.* && false) | ||
fi | ||
env: | ||
CC: ${{ matrix.compiler }} | ||
HCKIND: ${{ matrix.compilerKind }} | ||
HCNAME: ${{ matrix.compiler }} | ||
HCVER: ${{ matrix.compilerVersion }} | ||
- name: Set PATH and environment variables | ||
run: | | ||
echo "$HOME/.cabal/bin" >> $GITHUB_PATH | ||
echo "LANG=C.UTF-8" >> $GITHUB_ENV | ||
echo "CABAL_DIR=$HOME/.cabal" >> $GITHUB_ENV | ||
echo "CABAL_CONFIG=$HOME/.cabal/config" >> $GITHUB_ENV | ||
HCDIR=$(echo "/opt/$CC" | sed 's/-/\//') | ||
HCNAME=ghc | ||
HC=$HCDIR/bin/$HCNAME | ||
echo "HC=$HC" >> $GITHUB_ENV | ||
echo "HCPKG=$HCDIR/bin/$HCNAME-pkg" >> $GITHUB_ENV | ||
echo "HADDOCK=$HCDIR/bin/haddock" >> $GITHUB_ENV | ||
echo "CABAL=/opt/cabal/3.4/bin/cabal -vnormal+nowrap" >> $GITHUB_ENV | ||
echo "LANG=C.UTF-8" >> "$GITHUB_ENV" | ||
echo "CABAL_DIR=$HOME/.cabal" >> "$GITHUB_ENV" | ||
echo "CABAL_CONFIG=$HOME/.cabal/config" >> "$GITHUB_ENV" | ||
HCDIR=/opt/$HCKIND/$HCVER | ||
if [ "${{ matrix.setup-method }}" = ghcup ]; then | ||
HC=$("$HOME/.ghcup/bin/ghcup" whereis ghc "$HCVER") | ||
HCPKG=$(echo "$HC" | sed 's#ghc$#ghc-pkg#') | ||
HADDOCK=$(echo "$HC" | sed 's#ghc$#haddock#') | ||
echo "HC=$HC" >> "$GITHUB_ENV" | ||
echo "HCPKG=$HCPKG" >> "$GITHUB_ENV" | ||
echo "HADDOCK=$HADDOCK" >> "$GITHUB_ENV" | ||
echo "CABAL=$HOME/.ghcup/bin/cabal-3.10.1.0 -vnormal+nowrap" >> "$GITHUB_ENV" | ||
else | ||
HC=$HCDIR/bin/$HCKIND | ||
echo "HC=$HC" >> "$GITHUB_ENV" | ||
echo "HCPKG=$HCDIR/bin/$HCKIND-pkg" >> "$GITHUB_ENV" | ||
echo "HADDOCK=$HCDIR/bin/haddock" >> "$GITHUB_ENV" | ||
echo "CABAL=$HOME/.ghcup/bin/cabal-3.10.1.0 -vnormal+nowrap" >> "$GITHUB_ENV" | ||
fi | ||
|
||
HCNUMVER=$(${HC} --numeric-version|perl -ne '/^(\d+)\.(\d+)\.(\d+)(\.(\d+))?$/; print(10000 * $1 + 100 * $2 + ($3 == 0 ? $5 != 1 : $3))') | ||
echo "HCNUMVER=$HCNUMVER" >> $GITHUB_ENV | ||
echo "ARG_TESTS=--enable-tests" >> $GITHUB_ENV | ||
echo "ARG_BENCH=--enable-benchmarks" >> $GITHUB_ENV | ||
echo "HEADHACKAGE=false" >> $GITHUB_ENV | ||
echo "ARG_COMPILER=--$HCNAME --with-compiler=$HC" >> $GITHUB_ENV | ||
echo "GHCJSARITH=0" >> $GITHUB_ENV | ||
echo "HCNUMVER=$HCNUMVER" >> "$GITHUB_ENV" | ||
echo "ARG_TESTS=--enable-tests" >> "$GITHUB_ENV" | ||
echo "ARG_BENCH=--enable-benchmarks" >> "$GITHUB_ENV" | ||
echo "HEADHACKAGE=false" >> "$GITHUB_ENV" | ||
echo "ARG_COMPILER=--$HCKIND --with-compiler=$HC" >> "$GITHUB_ENV" | ||
echo "GHCJSARITH=0" >> "$GITHUB_ENV" | ||
env: | ||
CC: ${{ matrix.compiler }} | ||
HCKIND: ${{ matrix.compilerKind }} | ||
HCNAME: ${{ matrix.compiler }} | ||
HCVER: ${{ matrix.compilerVersion }} | ||
- name: env | ||
run: | | ||
env | ||
|
@@ -101,6 +170,10 @@ jobs: | |
repository hackage.haskell.org | ||
url: http://hackage.haskell.org/ | ||
EOF | ||
cat >> $CABAL_CONFIG <<EOF | ||
program-default-options | ||
ghc-options: $GHCJOBS +RTS -M3G -RTS | ||
EOF | ||
cat $CABAL_CONFIG | ||
- name: versions | ||
run: | | ||
|
@@ -113,14 +186,14 @@ jobs: | |
- name: install cabal-plan | ||
run: | | ||
mkdir -p $HOME/.cabal/bin | ||
curl -sL https://github.com/haskell-hvr/cabal-plan/releases/download/v0.6.2.0/cabal-plan-0.6.2.0-x86_64-linux.xz > cabal-plan.xz | ||
echo 'de73600b1836d3f55e32d80385acc055fd97f60eaa0ab68a755302685f5d81bc cabal-plan.xz' | sha256sum -c - | ||
curl -sL https://github.com/haskell-hvr/cabal-plan/releases/download/v0.7.3.0/cabal-plan-0.7.3.0-x86_64-linux.xz > cabal-plan.xz | ||
echo 'f62ccb2971567a5f638f2005ad3173dba14693a45154c1508645c52289714cb2 cabal-plan.xz' | sha256sum -c - | ||
xz -d < cabal-plan.xz > $HOME/.cabal/bin/cabal-plan | ||
rm -f cabal-plan.xz | ||
chmod a+x $HOME/.cabal/bin/cabal-plan | ||
cabal-plan --version | ||
- name: checkout | ||
uses: actions/checkout@v2 | ||
uses: actions/checkout@v4 | ||
with: | ||
path: source | ||
- name: initial cabal.project for sdist | ||
|
@@ -139,7 +212,8 @@ jobs: | |
- name: generate cabal.project | ||
run: | | ||
PKGDIR_agda_stdlib_utils="$(find "$GITHUB_WORKSPACE/unpacked" -maxdepth 1 -type d -regex '.*/agda-stdlib-utils-[0-9.]*')" | ||
echo "PKGDIR_agda_stdlib_utils=${PKGDIR_agda_stdlib_utils}" >> $GITHUB_ENV | ||
echo "PKGDIR_agda_stdlib_utils=${PKGDIR_agda_stdlib_utils}" >> "$GITHUB_ENV" | ||
rm -f cabal.project cabal.project.local | ||
touch cabal.project | ||
touch cabal.project.local | ||
echo "packages: ${PKGDIR_agda_stdlib_utils}" >> cabal.project | ||
|
@@ -154,8 +228,8 @@ jobs: | |
run: | | ||
$CABAL v2-build $ARG_COMPILER $ARG_TESTS $ARG_BENCH --dry-run all | ||
cabal-plan | ||
- name: cache | ||
uses: actions/cache@v2 | ||
- name: restore cache | ||
uses: actions/cache/restore@v3 | ||
with: | ||
key: ${{ runner.os }}-${{ matrix.compiler }}-${{ github.sha }} | ||
path: ~/.cabal/store | ||
|
@@ -170,7 +244,16 @@ jobs: | |
- name: build | ||
run: | | ||
$CABAL v2-build $ARG_COMPILER $ARG_TESTS $ARG_BENCH all --write-ghc-environment-files=always | ||
- name: haddock | ||
run: | | ||
$CABAL v2-haddock --disable-documentation --haddock-all $ARG_COMPILER --with-haddock $HADDOCK $ARG_TESTS $ARG_BENCH all | ||
- name: unconstrained build | ||
run: | | ||
rm -f cabal.project.local | ||
$CABAL v2-build $ARG_COMPILER --disable-tests --disable-benchmarks all | ||
- name: save cache | ||
uses: actions/cache/save@v3 | ||
if: always() | ||
with: | ||
key: ${{ runner.os }}-${{ matrix.compiler }}-${{ github.sha }} | ||
path: ~/.cabal/store |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,9 +1,18 @@ | ||
Version 1.7.2 | ||
Version 1.7.3 | ||
============= | ||
|
||
The library has been tested using Agda 2.6.3. | ||
The library has been tested using Agda 2.6.4. | ||
|
||
* In accordance with changes to the flags in Agda 2.6.3, all modules that previously used | ||
the `--without-K` flag now use the `--cubical-compatible` flag instead. | ||
|
||
* Updated the code using `primFloatToWord64` - the library API has remained unchanged. | ||
* To avoid _large indices_ that are by default no longer allowed in Agda 2.6.4, | ||
universe levels have been increased in the following definitions: | ||
- `Data.Star.Decoration.DecoratedWith` | ||
- `Data.Star.Pointer.Pointer` | ||
- `Reflection.AnnotatedAST.Typeₐ` | ||
- `Reflection.AnnotatedAST.AnnotationFun` | ||
|
||
* The following aliases have been added: | ||
- `IO.Primitive.pure` as alias for `IO.Primitive.return` | ||
- modules `Effect.*` as aliases for modules `Category.*` | ||
|
||
These allow to address said objects with the new name they will have in v2.0 of the library, | ||
to ease the transition from v1.7.3 to v2.0. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So I imagine that we'd be merging this branch back into
master
at some point. While a lot of the changes to this CI file are enhancements (e.g. bumping versions), can we avoid removing functionality like this?In particular it's important that if we're on the experimental branch, we install a different version of Agda!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh, apologies, I didn't know this would be merged back into master.
What are the reasons for merging it in there?
master
already contains the relevant patch to remove the use of large indices (I cherry-picked it from there).E.g. for the release of Agda-2.6.4, I am not merging the release branch back in. It only contains changes that are relevant for the release. The tag
v2.6.4
will sit on some leaf three commits away from the trunk. Is there a problem with this approach I have chosen?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Well on principle, I don't think we should be making any changes that we don't want to merge back across. Furthermore you're making various improvements to the CI for example right? Bumping versions etc. it would nice if those were added back across. I guess we can cherry-pick them...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The versions are already bumped in
master
, the last CI bumps are in: