@@ -8,9 +8,9 @@
88#
99# For more information, see https://github.com/haskell-CI/haskell-ci
1010#
11−# version: 0.13.20210827
11+# version: 0.13.20211111
1212#
13−# REGENDATA ("0.13.20210827",["github","cabal.project"])
13+# REGENDATA ("0.13.20211111",["github","cabal.project"])
1414#
1515name: Haskell-CI
1616on:
@@ -24,21 +24,28 @@ jobs:
2424 linux:
2525 name: Haskell-CI - Linux - ${{ matrix.compiler }}
2626 runs-on: ubuntu-18.04
27+ timeout-minutes:
28+ 60
2729 container:
2830 image: buildpack-deps:bionic
2931 continue-on-error: ${{ matrix.allow-failure }}
3032 strategy:
3133 matrix:
3234 include:
35+ - compiler: ghc-9.2.1
36+ compilerKind: ghc
37+ compilerVersion: 9.2.1
38+ setup-method: ghcup
39+ allow-failure: false
3340 - compiler: ghc-9.0.1
3441 compilerKind: ghc
3542 compilerVersion: 9.0.1
3643 setup-method: hvr-ppa
3744 allow-failure: false
38− - compiler: ghc-8.10.4
45+ - compiler: ghc-8.10.7
3946 compilerKind: ghc
40− compilerVersion: 8.10.4
41− setup-method: hvr-ppa
47+ compilerVersion: 8.10.7
48+ setup-method: ghcup
4249 allow-failure: false
4350 - compiler: ghc-8.8.4
4451 compilerKind: ghc
@@ -81,9 +88,21 @@ jobs:
8188 run: |
8289 apt-get update
8390 apt-get install -y --no-install-recommends gnupg ca-certificates dirmngr curl git software-properties-common libtinfo5
84− apt-add-repository -y 'ppa:hvr/ghc'
85− apt-get update
86− apt-get install -y "$HCNAME" cabal-install-3.4
91+ if [ "${{ matrix.setup-method }}" = ghcup ]; then
92+ mkdir -p "$HOME/.ghcup/bin"
93+ curl -sL https://downloads.haskell.org/ghcup/0.1.17.3/x86_64-linux-ghcup-0.1.17.3 > "$HOME/.ghcup/bin/ghcup"
94+ chmod a+x "$HOME/.ghcup/bin/ghcup"
95+ "$HOME/.ghcup/bin/ghcup" install ghc "$HCVER"
96+ "$HOME/.ghcup/bin/ghcup" install cabal 3.6.2.0
97+ else
98+ apt-add-repository -y 'ppa:hvr/ghc'
99+ apt-get update
100+ apt-get install -y "$HCNAME"
101+ mkdir -p "$HOME/.ghcup/bin"
102+ curl -sL https://downloads.haskell.org/ghcup/0.1.17.3/x86_64-linux-ghcup-0.1.17.3 > "$HOME/.ghcup/bin/ghcup"
103+ chmod a+x "$HOME/.ghcup/bin/ghcup"
104+ "$HOME/.ghcup/bin/ghcup" install cabal 3.6.2.0
105+ fi
87106 env:
88107 HCKIND: ${{ matrix.compilerKind }}
89108 HCNAME: ${{ matrix.compiler }}
@@ -95,11 +114,20 @@ jobs:
95114 echo "CABAL_DIR=$HOME/.cabal" >> "$GITHUB_ENV"
96115 echo "CABAL_CONFIG=$HOME/.cabal/config" >> "$GITHUB_ENV"
97116 HCDIR=/opt/$HCKIND/$HCVER
98− HC=$HCDIR/bin/$HCKIND
99− echo "HC=$HC" >> "$GITHUB_ENV"
100− echo "HCPKG=$HCDIR/bin/$HCKIND-pkg" >> "$GITHUB_ENV"
101− echo "HADDOCK=$HCDIR/bin/haddock" >> "$GITHUB_ENV"
102− echo "CABAL=/opt/cabal/3.4/bin/cabal -vnormal+nowrap" >> "$GITHUB_ENV"
117+ if [ "${{ matrix.setup-method }}" = ghcup ]; then
118+ HC=$HOME/.ghcup/bin/$HCKIND-$HCVER
119+ echo "HC=$HC" >> "$GITHUB_ENV"
120+ echo "HCPKG=$HOME/.ghcup/bin/$HCKIND-pkg-$HCVER" >> "$GITHUB_ENV"
121+ echo "HADDOCK=$HOME/.ghcup/bin/haddock-$HCVER" >> "$GITHUB_ENV"
122+ echo "CABAL=$HOME/.ghcup/bin/cabal-3.6.2.0 -vnormal+nowrap" >> "$GITHUB_ENV"
123+ else
124+ HC=$HCDIR/bin/$HCKIND
125+ echo "HC=$HC" >> "$GITHUB_ENV"
126+ echo "HCPKG=$HCDIR/bin/$HCKIND-pkg" >> "$GITHUB_ENV"
127+ echo "HADDOCK=$HCDIR/bin/haddock" >> "$GITHUB_ENV"
128+ echo "CABAL=$HOME/.ghcup/bin/cabal-3.6.2.0 -vnormal+nowrap" >> "$GITHUB_ENV"
129+ fi
130+
103131 HCNUMVER=$(${HC} --numeric-version|perl -ne '/^(\d+)\.(\d+)\.(\d+)(\.(\d+))?$/; print(10000 * $1 + 100 * $2 + ($3 == 0 ? $5 != 1 : $3))')
104132 echo "HCNUMVER=$HCNUMVER" >> "$GITHUB_ENV"
105133 echo "ARG_TESTS=--enable-tests" >> "$GITHUB_ENV"
@@ -133,6 +161,10 @@ jobs:
133161 repository hackage.haskell.org
134162 url: http://hackage.haskell.org/
135163 EOF
164+ cat >> $CABAL_CONFIG <<EOF
165+ program-default-options
166+ ghc-options: $GHCJOBS +RTS -M3G -RTS
167+ EOF
136168 cat $CABAL_CONFIG
137169 - name: versions
138170 run: |