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 ",["--config=cabal.haskell-ci","github","cabal.project"])
13+ # REGENDATA ("0.13.20211111 ",["--config=cabal.haskell-ci","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
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 : |
@@ -185,14 +217,13 @@ jobs:
185217 if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo "package github-samples" >> cabal.project ; fi
186218 if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo " ghc-options: -Werror=missing-methods" >> cabal.project ; fi
187219 cat >> cabal.project <<EOF
188- constraints: hashable ^ >=1.3
220+ constraints: hashable >=1.3
189221 constraints: semigroups ^>=0.19
190222 constraints: github +openssl
191223 constraints: github-samples +openssl
192224 allow-newer: deepseq-generics-0.2.0.0:base
193225 allow-newer: deepseq-generics-0.2.0.0:ghc-prim
194- allow-newer: cryptohash-sha1-0.11.100.1:base
195- allow-newer: http-link-header-1.2.0:attoparsec
226+ allow-newer: HsOpenSSL:bytestring
196227 optimization: False
197228 EOF
198229 $HCPKG list --simple-output --names-only | perl -ne 'for (split /\s+/) { print "constraints: $_ installed\n" unless /^(github|github-samples)$/; }' >> cabal.project.local
0 commit comments