Skip to content

Commit d5407cc

Browse files
authored
CI bumps: ghc 9.10, action versions, Agda to 2.6.4.3 (#2398)
* Haskell CI (for GenerateEverything) and dependencies bumped to GHC 9.10.1 * CI: bump some versions, satisfy some shellcheck complaints
1 parent bfd7a7b commit d5407cc

File tree

3 files changed

+49
-64
lines changed

3 files changed

+49
-64
lines changed

.github/workflows/ci-ubuntu.yml

+11-13
Original file line numberDiff line numberDiff line change
@@ -75,17 +75,17 @@ jobs:
7575
if [[ '${{ github.ref }}' == 'refs/heads/experimental' \
7676
|| '${{ github.base_ref }}' == 'experimental' ]]; then
7777
# Pick Agda version for experimental
78-
echo "AGDA_COMMIT=4d36cb37f8bfb765339b808b13356d760aa6f0ec" >> $GITHUB_ENV;
79-
echo "AGDA_HTML_DIR=html/experimental" >> $GITHUB_ENV
78+
echo "AGDA_COMMIT=4d36cb37f8bfb765339b808b13356d760aa6f0ec" >> "${GITHUB_ENV}";
79+
echo "AGDA_HTML_DIR=html/experimental" >> "${GITHUB_ENV}"
8080
else
8181
# Pick Agda version for master
82-
echo "AGDA_COMMIT=tags/v2.6.4.1" >> $GITHUB_ENV;
83-
echo "AGDA_HTML_DIR=html/master" >> $GITHUB_ENV
82+
echo "AGDA_COMMIT=tags/v2.6.4.3" >> "${GITHUB_ENV}";
83+
echo "AGDA_HTML_DIR=html/master" >> "${GITHUB_ENV}"
8484
fi
8585
8686
if [[ '${{ github.ref }}' == 'refs/heads/master' \
8787
|| '${{ github.ref }}' == 'refs/heads/experimental' ]]; then
88-
echo "AGDA_DEPLOY=true" >> $GITHUB_ENV
88+
echo "AGDA_DEPLOY=true" >> "${GITHUB_ENV}"
8989
fi
9090
9191
########################################################################
@@ -98,7 +98,7 @@ jobs:
9898
# i.e. if we change either the version of Agda, ghc, or cabal that we want
9999
# to use for the build.
100100
- name: Cache ~/.cabal directories
101-
uses: actions/cache@v2
101+
uses: actions/cache@v4
102102
id: cache-cabal
103103
with:
104104
path: |
@@ -113,16 +113,14 @@ jobs:
113113
########################################################################
114114

115115
- name: Install ghc & cabal
116-
uses: haskell/actions/setup@v1
116+
uses: haskell-actions/setup@v2
117117
with:
118118
ghc-version: ${{ env.GHC_VERSION }}
119119
cabal-version: ${{ env.CABAL_VERSION }}
120+
cabal-update: true
120121

121122
- name: Put cabal programs in PATH
122-
run: echo "~/.cabal/bin" >> $GITHUB_PATH
123-
124-
- name: Cabal update
125-
run: cabal update
123+
run: echo "~/.cabal/bin" >> "${GITHUB_PATH}"
126124

127125
- name: Install alex & happy
128126
if: steps.cache-cabal.outputs.cache-hit != 'true'
@@ -147,7 +145,7 @@ jobs:
147145

148146
# By default github actions do not pull the repo
149147
- name: Checkout stdlib
150-
uses: actions/checkout@v2
148+
uses: actions/checkout@v4
151149

152150
- name: Test stdlib
153151
run: |
@@ -191,7 +189,7 @@ jobs:
191189
192190
- name: Deploy HTML
193191
uses: JamesIves/[email protected]
194-
if: ${{ success() && env.AGDA_DEPLOY }}
192+
if: success() && env.AGDA_DEPLOY
195193

196194
with:
197195
branch: gh-pages

.github/workflows/haskell-ci.yml

+32-46
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@
88
#
99
# For more information, see https://github.com/haskell-CI/haskell-ci
1010
#
11-
# version: 0.17.20231010
11+
# version: 0.19.20240514
1212
#
13-
# REGENDATA ("0.17.20231010",["github","--no-cabal-check","agda-stdlib-utils.cabal"])
13+
# REGENDATA ("0.19.20240514",["github","--no-cabal-check","agda-stdlib-utils.cabal"])
1414
#
1515
name: Haskell-CI
1616
on:
@@ -40,24 +40,29 @@ jobs:
4040
timeout-minutes:
4141
60
4242
container:
43-
image: buildpack-deps:bionic
43+
image: buildpack-deps:jammy
4444
continue-on-error: ${{ matrix.allow-failure }}
4545
strategy:
4646
matrix:
4747
include:
48-
- compiler: ghc-9.8.1
48+
- compiler: ghc-9.10.1
4949
compilerKind: ghc
50-
compilerVersion: 9.8.1
50+
compilerVersion: 9.10.1
5151
setup-method: ghcup
5252
allow-failure: false
53-
- compiler: ghc-9.6.3
53+
- compiler: ghc-9.8.2
5454
compilerKind: ghc
55-
compilerVersion: 9.6.3
55+
compilerVersion: 9.8.2
5656
setup-method: ghcup
5757
allow-failure: false
58-
- compiler: ghc-9.4.7
58+
- compiler: ghc-9.6.5
5959
compilerKind: ghc
60-
compilerVersion: 9.4.7
60+
compilerVersion: 9.6.5
61+
setup-method: ghcup
62+
allow-failure: false
63+
- compiler: ghc-9.4.8
64+
compilerKind: ghc
65+
compilerVersion: 9.4.8
6166
setup-method: ghcup
6267
allow-failure: false
6368
- compiler: ghc-9.2.8
@@ -78,34 +83,24 @@ jobs:
7883
- compiler: ghc-8.8.4
7984
compilerKind: ghc
8085
compilerVersion: 8.8.4
81-
setup-method: hvr-ppa
86+
setup-method: ghcup
8287
allow-failure: false
8388
- compiler: ghc-8.6.5
8489
compilerKind: ghc
8590
compilerVersion: 8.6.5
86-
setup-method: hvr-ppa
91+
setup-method: ghcup
8792
allow-failure: false
8893
fail-fast: false
8994
steps:
9095
- name: apt
9196
run: |
9297
apt-get update
9398
apt-get install -y --no-install-recommends gnupg ca-certificates dirmngr curl git software-properties-common libtinfo5
94-
if [ "${{ matrix.setup-method }}" = ghcup ]; then
95-
mkdir -p "$HOME/.ghcup/bin"
96-
curl -sL https://downloads.haskell.org/ghcup/0.1.19.5/x86_64-linux-ghcup-0.1.19.5 > "$HOME/.ghcup/bin/ghcup"
97-
chmod a+x "$HOME/.ghcup/bin/ghcup"
98-
"$HOME/.ghcup/bin/ghcup" install ghc "$HCVER" || (cat "$HOME"/.ghcup/logs/*.* && false)
99-
"$HOME/.ghcup/bin/ghcup" install cabal 3.10.1.0 || (cat "$HOME"/.ghcup/logs/*.* && false)
100-
else
101-
apt-add-repository -y 'ppa:hvr/ghc'
102-
apt-get update
103-
apt-get install -y "$HCNAME"
104-
mkdir -p "$HOME/.ghcup/bin"
105-
curl -sL https://downloads.haskell.org/ghcup/0.1.19.5/x86_64-linux-ghcup-0.1.19.5 > "$HOME/.ghcup/bin/ghcup"
106-
chmod a+x "$HOME/.ghcup/bin/ghcup"
107-
"$HOME/.ghcup/bin/ghcup" install cabal 3.10.1.0 || (cat "$HOME"/.ghcup/logs/*.* && false)
108-
fi
99+
mkdir -p "$HOME/.ghcup/bin"
100+
curl -sL https://downloads.haskell.org/ghcup/0.1.20.0/x86_64-linux-ghcup-0.1.20.0 > "$HOME/.ghcup/bin/ghcup"
101+
chmod a+x "$HOME/.ghcup/bin/ghcup"
102+
"$HOME/.ghcup/bin/ghcup" install ghc "$HCVER" || (cat "$HOME"/.ghcup/logs/*.* && false)
103+
"$HOME/.ghcup/bin/ghcup" install cabal 3.10.2.0 || (cat "$HOME"/.ghcup/logs/*.* && false)
109104
env:
110105
HCKIND: ${{ matrix.compilerKind }}
111106
HCNAME: ${{ matrix.compiler }}
@@ -117,22 +112,13 @@ jobs:
117112
echo "CABAL_DIR=$HOME/.cabal" >> "$GITHUB_ENV"
118113
echo "CABAL_CONFIG=$HOME/.cabal/config" >> "$GITHUB_ENV"
119114
HCDIR=/opt/$HCKIND/$HCVER
120-
if [ "${{ matrix.setup-method }}" = ghcup ]; then
121-
HC=$("$HOME/.ghcup/bin/ghcup" whereis ghc "$HCVER")
122-
HCPKG=$(echo "$HC" | sed 's#ghc$#ghc-pkg#')
123-
HADDOCK=$(echo "$HC" | sed 's#ghc$#haddock#')
124-
echo "HC=$HC" >> "$GITHUB_ENV"
125-
echo "HCPKG=$HCPKG" >> "$GITHUB_ENV"
126-
echo "HADDOCK=$HADDOCK" >> "$GITHUB_ENV"
127-
echo "CABAL=$HOME/.ghcup/bin/cabal-3.10.1.0 -vnormal+nowrap" >> "$GITHUB_ENV"
128-
else
129-
HC=$HCDIR/bin/$HCKIND
130-
echo "HC=$HC" >> "$GITHUB_ENV"
131-
echo "HCPKG=$HCDIR/bin/$HCKIND-pkg" >> "$GITHUB_ENV"
132-
echo "HADDOCK=$HCDIR/bin/haddock" >> "$GITHUB_ENV"
133-
echo "CABAL=$HOME/.ghcup/bin/cabal-3.10.1.0 -vnormal+nowrap" >> "$GITHUB_ENV"
134-
fi
135-
115+
HC=$("$HOME/.ghcup/bin/ghcup" whereis ghc "$HCVER")
116+
HCPKG=$(echo "$HC" | sed 's#ghc$#ghc-pkg#')
117+
HADDOCK=$(echo "$HC" | sed 's#ghc$#haddock#')
118+
echo "HC=$HC" >> "$GITHUB_ENV"
119+
echo "HCPKG=$HCPKG" >> "$GITHUB_ENV"
120+
echo "HADDOCK=$HADDOCK" >> "$GITHUB_ENV"
121+
echo "CABAL=$HOME/.ghcup/bin/cabal-3.10.2.0 -vnormal+nowrap" >> "$GITHUB_ENV"
136122
HCNUMVER=$(${HC} --numeric-version|perl -ne '/^(\d+)\.(\d+)\.(\d+)(\.(\d+))?$/; print(10000 * $1 + 100 * $2 + ($3 == 0 ? $5 != 1 : $3))')
137123
echo "HCNUMVER=$HCNUMVER" >> "$GITHUB_ENV"
138124
echo "ARG_TESTS=--enable-tests" >> "$GITHUB_ENV"
@@ -189,7 +175,7 @@ jobs:
189175
chmod a+x $HOME/.cabal/bin/cabal-plan
190176
cabal-plan --version
191177
- name: checkout
192-
uses: actions/checkout@v3
178+
uses: actions/checkout@v4
193179
with:
194180
path: source
195181
- name: initial cabal.project for sdist
@@ -217,15 +203,15 @@ jobs:
217203
echo " ghc-options: -Werror=missing-methods" >> cabal.project
218204
cat >> cabal.project <<EOF
219205
EOF
220-
$HCPKG list --simple-output --names-only | perl -ne 'for (split /\s+/) { print "constraints: $_ installed\n" unless /^(agda-stdlib-utils)$/; }' >> cabal.project.local
206+
$HCPKG list --simple-output --names-only | perl -ne 'for (split /\s+/) { print "constraints: any.$_ installed\n" unless /^(agda-stdlib-utils)$/; }' >> cabal.project.local
221207
cat cabal.project
222208
cat cabal.project.local
223209
- name: dump install plan
224210
run: |
225211
$CABAL v2-build $ARG_COMPILER $ARG_TESTS $ARG_BENCH --dry-run all
226212
cabal-plan
227213
- name: restore cache
228-
uses: actions/cache/restore@v3
214+
uses: actions/cache/restore@v4
229215
with:
230216
key: ${{ runner.os }}-${{ matrix.compiler }}-${{ github.sha }}
231217
path: ~/.cabal/store
@@ -248,7 +234,7 @@ jobs:
248234
rm -f cabal.project.local
249235
$CABAL v2-build $ARG_COMPILER --disable-tests --disable-benchmarks all
250236
- name: save cache
251-
uses: actions/cache/save@v3
237+
uses: actions/cache/save@v4
252238
if: always()
253239
with:
254240
key: ${{ runner.os }}-${{ matrix.compiler }}-${{ github.sha }}

agda-stdlib-utils.cabal

+6-5
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,10 @@ description: Helper programs for setting up the Agda standard library.
66
license: MIT
77

88
tested-with:
9-
GHC == 9.8.1
10-
GHC == 9.6.3
11-
GHC == 9.4.7
9+
GHC == 9.10.1
10+
GHC == 9.8.2
11+
GHC == 9.6.5
12+
GHC == 9.4.8
1213
GHC == 9.2.8
1314
GHC == 9.0.2
1415
GHC == 8.10.7
@@ -23,7 +24,7 @@ common common-build-parameters
2324
PatternSynonyms
2425

2526
build-depends:
26-
base >= 4.12.0.0 && < 4.20
27+
base >= 4.12.0.0 && < 4.21
2728
, filemanip >= 0.3.6.2 && < 0.4
2829

2930
executable GenerateEverything
@@ -33,7 +34,7 @@ executable GenerateEverything
3334

3435
build-depends:
3536
directory >= 1.0.0.0 && < 1.4
36-
, filepath >= 1.4.1.0 && < 1.5
37+
, filepath >= 1.4.1.0 && < 1.6
3738
, mtl >= 2.2.2 && < 2.4
3839

3940
executable AllNonAsciiChars

0 commit comments

Comments
 (0)