|
8 | 8 | # |
9 | 9 | # For more information, see https://github.com/haskell-CI/haskell-ci |
10 | 10 | # |
11 | | -# version: 0.14 |
| 11 | +# version: 0.15.20220525 |
12 | 12 | # |
13 | | -# REGENDATA ("0.14",["github","haskell-src.cabal"]) |
| 13 | +# REGENDATA ("0.15.20220525",["github","haskell-src.cabal"]) |
14 | 14 | # |
15 | 15 | name: Haskell-CI |
16 | 16 | on: |
17 | | - - push |
18 | | - - pull_request |
| 17 | + push: |
| 18 | + branches: |
| 19 | + - master |
| 20 | + pull_request: |
| 21 | + branches: |
| 22 | + - master |
19 | 23 | jobs: |
20 | 24 | linux: |
21 | 25 | name: Haskell-CI - Linux - ${{ matrix.compiler }} |
22 | | - runs-on: ubuntu-18.04 |
| 26 | + runs-on: ubuntu-20.04 |
23 | 27 | timeout-minutes: |
24 | 28 | 60 |
25 | 29 | container: |
|
28 | 32 | strategy: |
29 | 33 | matrix: |
30 | 34 | include: |
31 | | - - compiler: ghc-9.2.1 |
| 35 | + - compiler: ghc-9.4.0.20220501 |
32 | 36 | compilerKind: ghc |
33 | | - compilerVersion: 9.2.1 |
| 37 | + compilerVersion: 9.4.0.20220501 |
| 38 | + setup-method: ghcup |
| 39 | + allow-failure: true |
| 40 | + - compiler: ghc-9.2.2 |
| 41 | + compilerKind: ghc |
| 42 | + compilerVersion: 9.2.2 |
34 | 43 | setup-method: ghcup |
35 | 44 | allow-failure: false |
36 | 45 | - compiler: ghc-9.0.2 |
@@ -106,16 +115,17 @@ jobs: |
106 | 115 | apt-get install -y --no-install-recommends gnupg ca-certificates dirmngr curl git software-properties-common libtinfo5 |
107 | 116 | if [ "${{ matrix.setup-method }}" = ghcup ]; then |
108 | 117 | mkdir -p "$HOME/.ghcup/bin" |
109 | | - curl -sL https://downloads.haskell.org/ghcup/0.1.17.3/x86_64-linux-ghcup-0.1.17.3 > "$HOME/.ghcup/bin/ghcup" |
| 118 | + curl -sL https://downloads.haskell.org/ghcup/0.1.17.8/x86_64-linux-ghcup-0.1.17.8 > "$HOME/.ghcup/bin/ghcup" |
110 | 119 | chmod a+x "$HOME/.ghcup/bin/ghcup" |
| 120 | + if $HEADHACKAGE; then "$HOME/.ghcup/bin/ghcup" config add-release-channel https://raw.githubusercontent.com/haskell/ghcup-metadata/master/ghcup-prereleases-0.0.7.yaml; fi |
111 | 121 | "$HOME/.ghcup/bin/ghcup" install ghc "$HCVER" |
112 | 122 | "$HOME/.ghcup/bin/ghcup" install cabal 3.6.2.0 |
113 | 123 | else |
114 | 124 | apt-add-repository -y 'ppa:hvr/ghc' |
115 | 125 | apt-get update |
116 | 126 | apt-get install -y "$HCNAME" |
117 | 127 | mkdir -p "$HOME/.ghcup/bin" |
118 | | - curl -sL https://downloads.haskell.org/ghcup/0.1.17.3/x86_64-linux-ghcup-0.1.17.3 > "$HOME/.ghcup/bin/ghcup" |
| 128 | + curl -sL https://downloads.haskell.org/ghcup/0.1.17.8/x86_64-linux-ghcup-0.1.17.8 > "$HOME/.ghcup/bin/ghcup" |
119 | 129 | chmod a+x "$HOME/.ghcup/bin/ghcup" |
120 | 130 | "$HOME/.ghcup/bin/ghcup" install cabal 3.6.2.0 |
121 | 131 | fi |
@@ -148,7 +158,7 @@ jobs: |
148 | 158 | echo "HCNUMVER=$HCNUMVER" >> "$GITHUB_ENV" |
149 | 159 | echo "ARG_TESTS=--enable-tests" >> "$GITHUB_ENV" |
150 | 160 | echo "ARG_BENCH=--enable-benchmarks" >> "$GITHUB_ENV" |
151 | | - echo "HEADHACKAGE=false" >> "$GITHUB_ENV" |
| 161 | + if [ $((HCNUMVER >= 90400)) -ne 0 ] ; then echo "HEADHACKAGE=true" >> "$GITHUB_ENV" ; else echo "HEADHACKAGE=false" >> "$GITHUB_ENV" ; fi |
152 | 162 | echo "ARG_COMPILER=--$HCKIND --with-compiler=$HC" >> "$GITHUB_ENV" |
153 | 163 | echo "GHCJSARITH=0" >> "$GITHUB_ENV" |
154 | 164 | env: |
@@ -177,6 +187,17 @@ jobs: |
177 | 187 | repository hackage.haskell.org |
178 | 188 | url: http://hackage.haskell.org/ |
179 | 189 | EOF |
| 190 | + if $HEADHACKAGE; then |
| 191 | + cat >> $CABAL_CONFIG <<EOF |
| 192 | + repository head.hackage.ghc.haskell.org |
| 193 | + url: https://ghc.gitlab.haskell.org/head.hackage/ |
| 194 | + secure: True |
| 195 | + root-keys: 7541f32a4ccca4f97aea3b22f5e593ba2c0267546016b992dfadcd2fe944e55d |
| 196 | + 26021a13b401500c8eb2761ca95c61f2d625bfef951b939a8124ed12ecf07329 |
| 197 | + f76d08be13e9a61a377a85e2fb63f4c5435d40f8feb3e12eb05905edb8cdea89 |
| 198 | + key-threshold: 3 |
| 199 | + EOF |
| 200 | + fi |
180 | 201 | cat >> $CABAL_CONFIG <<EOF |
181 | 202 | program-default-options |
182 | 203 | ghc-options: $GHCJOBS +RTS -M3G -RTS |
@@ -228,6 +249,9 @@ jobs: |
228 | 249 | if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo " ghc-options: -Werror=missing-methods" >> cabal.project ; fi |
229 | 250 | cat >> cabal.project <<EOF |
230 | 251 | EOF |
| 252 | + if $HEADHACKAGE; then |
| 253 | + echo "allow-newer: $($HCPKG list --simple-output | sed -E 's/([a-zA-Z-]+)-[0-9.]+/*:\1,/g')" >> cabal.project |
| 254 | + fi |
231 | 255 | $HCPKG list --simple-output --names-only | perl -ne 'for (split /\s+/) { print "constraints: $_ installed\n" unless /^(haskell-src)$/; }' >> cabal.project.local |
232 | 256 | cat cabal.project |
233 | 257 | cat cabal.project.local |
@@ -257,7 +281,7 @@ jobs: |
257 | 281 | ${CABAL} -vnormal check |
258 | 282 | - name: haddock |
259 | 283 | run: | |
260 | | - $CABAL v2-haddock $ARG_COMPILER --with-haddock $HADDOCK $ARG_TESTS $ARG_BENCH all |
| 284 | + $CABAL v2-haddock --haddock-all $ARG_COMPILER --with-haddock $HADDOCK $ARG_TESTS $ARG_BENCH all |
261 | 285 | - name: unconstrained build |
262 | 286 | run: | |
263 | 287 | rm -f cabal.project.local |
|
0 commit comments