@@ -8,9 +8,9 @@
9# For more information, see https://github.com/haskell-CI/haskell-ci
9# For more information, see https://github.com/haskell-CI/haskell-ci
11−# version: 0.13.20211030
11+# version: 0.15.20220808
13−# REGENDATA ("0.13.20211030",["github","--project","cabal.bench.project","-o",".github/workflows/haskell-ci-bench.yml","--github-action-name","Benchmarks"])
13+# REGENDATA ("0.15.20220808",["github","--project","cabal.bench.project","-o",".github/workflows/haskell-ci-bench.yml","--github-action-name","Benchmarks"])
15name: Benchmarks
15name: Benchmarks
@@ -23,17 +23,19 @@ on:
25 name: Benchmarks - Linux - ${{ matrix.compiler }}
25 name: Benchmarks - Linux - ${{ matrix.compiler }}
26− runs-on: ubuntu-18.04
26+ runs-on: ubuntu-20.04
27 container:
29 container:
28 image: buildpack-deps:bionic
30 image: buildpack-deps:bionic
29 continue-on-error: ${{ matrix.allow-failure }}
31 continue-on-error: ${{ matrix.allow-failure }}
33− - compiler: ghc-8.10.3
35+ - compiler: ghc-8.10.7
34 compilerKind: ghc
36 compilerKind: ghc
35− compilerVersion: 8.10.3
37+ compilerVersion: 8.10.7
36− setup-method: hvr-ppa
38+ setup-method: ghcup
37 allow-failure: false
39 allow-failure: false
38 - compiler: ghc-8.8.4
40 - compiler: ghc-8.8.4
39 compilerKind: ghc
41 compilerKind: ghc
@@ -66,13 +68,21 @@ jobs:
67 apt-get update
69 apt-get update
68 apt-get install -y --no-install-recommends gnupg ca-certificates dirmngr curl git software-properties-common libtinfo5
70 apt-get install -y --no-install-recommends gnupg ca-certificates dirmngr curl git software-properties-common libtinfo5
71+ if [ "${{ matrix.setup-method }}" = ghcup ]; then
72+ mkdir -p "$HOME/.ghcup/bin"
73+ curl -sL https://downloads.haskell.org/ghcup/0.1.18.0/x86_64-linux-ghcup-0.1.18.0 > "$HOME/.ghcup/bin/ghcup"
74+ chmod a+x "$HOME/.ghcup/bin/ghcup"
75+ "$HOME/.ghcup/bin/ghcup" install ghc "$HCVER" || (cat "$HOME"/.ghcup/logs/*.* && false)
76+ "$HOME/.ghcup/bin/ghcup" install cabal 3.6.2.0 || (cat "$HOME"/.ghcup/logs/*.* && false)
69− apt-add-repository -y 'ppa:hvr/ghc'
78+ apt-add-repository -y 'ppa:hvr/ghc'
70− apt-get update
79+ apt-get update
71− apt-get install -y "$HCNAME"
80+ apt-get install -y "$HCNAME"
72− mkdir -p "$HOME/.ghcup/bin"
81+ mkdir -p "$HOME/.ghcup/bin"
73− curl -sL https://downloads.haskell.org/ghcup/0.1.17.3/x86_64-linux-ghcup-0.1.17.3 > "$HOME/.ghcup/bin/ghcup"
82+ curl -sL https://downloads.haskell.org/ghcup/0.1.18.0/x86_64-linux-ghcup-0.1.18.0 > "$HOME/.ghcup/bin/ghcup"
74− chmod a+x "$HOME/.ghcup/bin/ghcup"
83+ chmod a+x "$HOME/.ghcup/bin/ghcup"
75− "$HOME/.ghcup/bin/ghcup" install cabal 3.6.2.0
84+ "$HOME/.ghcup/bin/ghcup" install cabal 3.6.2.0 || (cat "$HOME"/.ghcup/logs/*.* && false)
77 HCKIND: ${{ matrix.compilerKind }}
87 HCKIND: ${{ matrix.compilerKind }}
78 HCNAME: ${{ matrix.compiler }}
88 HCNAME: ${{ matrix.compiler }}
@@ -84,11 +94,20 @@ jobs:
84 echo "CABAL_DIR=$HOME/.cabal" >> "$GITHUB_ENV"
94 echo "CABAL_DIR=$HOME/.cabal" >> "$GITHUB_ENV"
85 echo "CABAL_CONFIG=$HOME/.cabal/config" >> "$GITHUB_ENV"
95 echo "CABAL_CONFIG=$HOME/.cabal/config" >> "$GITHUB_ENV"
86 HCDIR=/opt/$HCKIND/$HCVER
96 HCDIR=/opt/$HCKIND/$HCVER
97+ if [ "${{ matrix.setup-method }}" = ghcup ]; then
98+ HC=$HOME/.ghcup/bin/$HCKIND-$HCVER
99+ echo "HC=$HC" >> "$GITHUB_ENV"
100+ echo "HCPKG=$HOME/.ghcup/bin/$HCKIND-pkg-$HCVER" >> "$GITHUB_ENV"
101+ echo "HADDOCK=$HOME/.ghcup/bin/haddock-$HCVER" >> "$GITHUB_ENV"
102+ echo "CABAL=$HOME/.ghcup/bin/cabal-3.6.2.0 -vnormal+nowrap" >> "$GITHUB_ENV"
87− HC=$HCDIR/bin/$HCKIND
104+ HC=$HCDIR/bin/$HCKIND
88− echo "HC=$HC" >> "$GITHUB_ENV"
105+ echo "HC=$HC" >> "$GITHUB_ENV"
89− echo "HCPKG=$HCDIR/bin/$HCKIND-pkg" >> "$GITHUB_ENV"
106+ echo "HCPKG=$HCDIR/bin/$HCKIND-pkg" >> "$GITHUB_ENV"
90− echo "HADDOCK=$HCDIR/bin/haddock" >> "$GITHUB_ENV"
107+ echo "HADDOCK=$HCDIR/bin/haddock" >> "$GITHUB_ENV"
91− echo "CABAL=$HOME/.ghcup/bin/cabal-3.6.2.0 -vnormal+nowrap" >> "$GITHUB_ENV"
108+ echo "CABAL=$HOME/.ghcup/bin/cabal-3.6.2.0 -vnormal+nowrap" >> "$GITHUB_ENV"
92 HCNUMVER=$(${HC} --numeric-version|perl -ne '/^(\d+)\.(\d+)\.(\d+)(\.(\d+))?$/; print(10000 * $1 + 100 * $2 + ($3 == 0 ? $5 != 1 : $3))')
111 HCNUMVER=$(${HC} --numeric-version|perl -ne '/^(\d+)\.(\d+)\.(\d+)(\.(\d+))?$/; print(10000 * $1 + 100 * $2 + ($3 == 0 ? $5 != 1 : $3))')
93 echo "HCNUMVER=$HCNUMVER" >> "$GITHUB_ENV"
112 echo "HCNUMVER=$HCNUMVER" >> "$GITHUB_ENV"
94 echo "ARG_TESTS=--enable-tests" >> "$GITHUB_ENV"
113 echo "ARG_TESTS=--enable-tests" >> "$GITHUB_ENV"
@@ -122,6 +141,10 @@ jobs:
122 repository hackage.haskell.org
141 repository hackage.haskell.org
123 url: http://hackage.haskell.org/
142 url: http://hackage.haskell.org/
144+ cat >> $CABAL_CONFIG <<EOF
145+ program-default-options
146+ ghc-options: $GHCJOBS +RTS -M3G -RTS
125 cat $CABAL_CONFIG
148 cat $CABAL_CONFIG
126 - name: versions
149 - name: versions
@@ -198,7 +221,7 @@ jobs:
198 ${CABAL} -vnormal check
221 ${CABAL} -vnormal check
199 - name: haddock
222 - name: haddock
201− $CABAL v2-haddock $ARG_COMPILER --with-haddock $HADDOCK $ARG_TESTS $ARG_BENCH all
224+ $CABAL v2-haddock --haddock-all $ARG_COMPILER --with-haddock $HADDOCK $ARG_TESTS $ARG_BENCH all
202 - name: unconstrained build
225 - name: unconstrained build
204 rm -f cabal.project.local
227 rm -f cabal.project.local