@@ -8,117 +8,67 @@
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.14.3
11+# version: 0.12
13−# REGENDATA ("0.14.3",["github","cabal.project"])
13+# REGENDATA ("0.12",["github","cabal.project"])
15name: Haskell-CI
15name: Haskell-CI
20− pull_request:
18+ - pull_request
25 name: Haskell-CI - Linux - ${{ matrix.compiler }}
21 name: Haskell-CI - Linux - ${{ matrix.compiler }}
26 runs-on: ubuntu-18.04
22 runs-on: ubuntu-18.04
29 container:
23 container:
30− image: buildpack-deps:focal
24+ image: buildpack-deps:bionic
31 continue-on-error: ${{ matrix.allow-failure }}
25 continue-on-error: ${{ matrix.allow-failure }}
35− - compiler: ghc-9.2.2
29+ - compiler: ghc-9.0.1
37− compilerVersion: 9.2.2
39 allow-failure: true
30 allow-failure: true
40− - compiler: ghc-9.0.2
31+ - compiler: ghc-8.10.4
42− compilerVersion: 9.0.2
45− - compiler: ghc-8.10.7
47− compilerVersion: 8.10.7
49 allow-failure: false
32 allow-failure: false
50 - compiler: ghc-8.8.4
33 - compiler: ghc-8.8.4
52− compilerVersion: 8.8.4
53− setup-method: hvr-ppa
54 allow-failure: false
34 allow-failure: false
55 - compiler: ghc-8.6.5
35 - compiler: ghc-8.6.5
57− compilerVersion: 8.6.5
58− setup-method: hvr-ppa
59 allow-failure: false
36 allow-failure: false
60 - compiler: ghc-8.4.4
37 - compiler: ghc-8.4.4
62− compilerVersion: 8.4.4
63− setup-method: hvr-ppa
64 allow-failure: false
38 allow-failure: false
65 fail-fast: false
39 fail-fast: false
67 - name: apt
41 - name: apt
69 apt-get update
43 apt-get update
70− apt-get install -y --no-install-recommends gnupg ca-certificates dirmngr curl git software-properties-common libtinfo5
44+ apt-get install -y --no-install-recommends gnupg ca-certificates dirmngr curl git software-properties-common
71− if [ "${{ matrix.setup-method }}" = ghcup ]; then
72− mkdir -p "$HOME/.ghcup/bin"
73− curl -sL https://downloads.haskell.org/ghcup/0.1.17.5/x86_64-linux-ghcup-0.1.17.5 > "$HOME/.ghcup/bin/ghcup"
74− chmod a+x "$HOME/.ghcup/bin/ghcup"
75− "$HOME/.ghcup/bin/ghcup" install ghc "$HCVER"
76− "$HOME/.ghcup/bin/ghcup" install cabal 3.6.2.0
78− apt-add-repository -y 'ppa:hvr/ghc'
45+ apt-add-repository -y 'ppa:hvr/ghc'
79− apt-get update
46+ apt-get update
80− apt-get install -y "$HCNAME"
47+ apt-get install -y $CC cabal-install-3.4
81− mkdir -p "$HOME/.ghcup/bin"
82− curl -sL https://downloads.haskell.org/ghcup/0.1.17.5/x86_64-linux-ghcup-0.1.17.5 > "$HOME/.ghcup/bin/ghcup"
83− chmod a+x "$HOME/.ghcup/bin/ghcup"
84− "$HOME/.ghcup/bin/ghcup" install cabal 3.6.2.0
87− HCKIND: ${{ matrix.compilerKind }}
88− HCNAME: ${{ matrix.compiler }}
49+ CC: ${{ matrix.compiler }}
89− HCVER: ${{ matrix.compilerVersion }}
90 - name: Set PATH and environment variables
50 - name: Set PATH and environment variables
92 echo "$HOME/.cabal/bin" >> $GITHUB_PATH
52 echo "$HOME/.cabal/bin" >> $GITHUB_PATH
93− echo "LANG=C.UTF-8" >> "$GITHUB_ENV"
53+ echo "LANG=C.UTF-8" >> $GITHUB_ENV
94− echo "CABAL_DIR=$HOME/.cabal" >> "$GITHUB_ENV"
54+ echo "CABAL_DIR=$HOME/.cabal" >> $GITHUB_ENV
95− echo "CABAL_CONFIG=$HOME/.cabal/config" >> "$GITHUB_ENV"
55+ echo "CABAL_CONFIG=$HOME/.cabal/config" >> $GITHUB_ENV
96− HCDIR=/opt/$HCKIND/$HCVER
56+ HCDIR=$(echo "/opt/$CC" | sed 's/-/\//')
97− if [ "${{ matrix.setup-method }}" = ghcup ]; then
57+ HCNAME=ghc
98− HC=$HOME/.ghcup/bin/$HCKIND-$HCVER
58+ HC=$HCDIR/bin/$HCNAME
99− echo "HC=$HC" >> "$GITHUB_ENV"
59+ echo "HC=$HC" >> $GITHUB_ENV
100− echo "HCPKG=$HOME/.ghcup/bin/$HCKIND-pkg-$HCVER" >> "$GITHUB_ENV"
60+ echo "HCPKG=$HCDIR/bin/$HCNAME-pkg" >> $GITHUB_ENV
101− echo "HADDOCK=$HOME/.ghcup/bin/haddock-$HCVER" >> "$GITHUB_ENV"
61+ echo "HADDOCK=$HCDIR/bin/haddock" >> $GITHUB_ENV
102− echo "CABAL=$HOME/.ghcup/bin/cabal-3.6.2.0 -vnormal+nowrap" >> "$GITHUB_ENV"
104− HC=$HCDIR/bin/$HCKIND
105− echo "HC=$HC" >> "$GITHUB_ENV"
106− echo "HCPKG=$HCDIR/bin/$HCKIND-pkg" >> "$GITHUB_ENV"
107− echo "HADDOCK=$HCDIR/bin/haddock" >> "$GITHUB_ENV"
108− echo "CABAL=$HOME/.ghcup/bin/cabal-3.6.2.0 -vnormal+nowrap" >> "$GITHUB_ENV"
62+ echo "CABAL=/opt/cabal/3.4/bin/cabal -vnormal+nowrap" >> $GITHUB_ENV
111 HCNUMVER=$(${HC} --numeric-version|perl -ne '/^(\d+)\.(\d+)\.(\d+)(\.(\d+))?$/; print(10000 * $1 + 100 * $2 + ($3 == 0 ? $5 != 1 : $3))')
63 HCNUMVER=$(${HC} --numeric-version|perl -ne '/^(\d+)\.(\d+)\.(\d+)(\.(\d+))?$/; print(10000 * $1 + 100 * $2 + ($3 == 0 ? $5 != 1 : $3))')
112− echo "HCNUMVER=$HCNUMVER" >> "$GITHUB_ENV"
64+ echo "HCNUMVER=$HCNUMVER" >> $GITHUB_ENV
113− echo "ARG_TESTS=--enable-tests" >> "$GITHUB_ENV"
65+ echo "ARG_TESTS=--enable-tests" >> $GITHUB_ENV
114− echo "ARG_BENCH=--enable-benchmarks" >> "$GITHUB_ENV"
66+ echo "ARG_BENCH=--enable-benchmarks" >> $GITHUB_ENV
115− echo "HEADHACKAGE=false" >> "$GITHUB_ENV"
67+ echo "HEADHACKAGE=false" >> $GITHUB_ENV
116− echo "ARG_COMPILER=--$HCKIND --with-compiler=$HC" >> "$GITHUB_ENV"
68+ echo "ARG_COMPILER=--$HCNAME --with-compiler=$HC" >> $GITHUB_ENV
117− echo "GHCJSARITH=0" >> "$GITHUB_ENV"
69+ echo "GHCJSARITH=0" >> $GITHUB_ENV
119− HCKIND: ${{ matrix.compilerKind }}
120− HCNAME: ${{ matrix.compiler }}
71+ CC: ${{ matrix.compiler }}
121− HCVER: ${{ matrix.compilerVersion }}
122 - name: env
72 - name: env
@@ -141,10 +91,6 @@ jobs:
141 repository hackage.haskell.org
91 repository hackage.haskell.org
142 url: http://hackage.haskell.org/
92 url: http://hackage.haskell.org/
144− cat >> $CABAL_CONFIG <<EOF
145− program-default-options
146− ghc-options: $GHCJOBS +RTS -M3G -RTS
148 cat $CABAL_CONFIG
94 cat $CABAL_CONFIG
149 - name: versions
95 - name: versions
@@ -183,8 +129,7 @@ jobs:
183 - name: generate cabal.project
129 - name: generate cabal.project
185 PKGDIR_openapi3="$(find "$GITHUB_WORKSPACE/unpacked" -maxdepth 1 -type d -regex '.*/openapi3-[0-9.]*')"
131 PKGDIR_openapi3="$(find "$GITHUB_WORKSPACE/unpacked" -maxdepth 1 -type d -regex '.*/openapi3-[0-9.]*')"
186− echo "PKGDIR_openapi3=${PKGDIR_openapi3}" >> "$GITHUB_ENV"
132+ echo "PKGDIR_openapi3=${PKGDIR_openapi3}" >> $GITHUB_ENV
187− rm -f cabal.project cabal.project.local
188 touch cabal.project
133 touch cabal.project
189 touch cabal.project.local
134 touch cabal.project.local
190 echo "packages: ${PKGDIR_openapi3}" >> cabal.project
135 echo "packages: ${PKGDIR_openapi3}" >> cabal.project
@@ -230,14 +175,3 @@ jobs:
231 rm -f cabal.project.local
176 rm -f cabal.project.local
232 $CABAL v2-build $ARG_COMPILER --disable-tests --disable-benchmarks all
177 $CABAL v2-build $ARG_COMPILER --disable-tests --disable-benchmarks all
233− - name: prepare for constraint sets
235− rm -f cabal.project.local
236− - name: constraint set aeson-2
238− $CABAL v2-build $ARG_COMPILER --disable-tests --disable-benchmarks --constraint='aeson >=2.0' --dependencies-only -j2 all
239− $CABAL v2-build $ARG_COMPILER --disable-tests --disable-benchmarks --constraint='aeson >=2.0' all
240− - name: constraint set aeson-1
242− if [ $((HCNUMVER < 90200)) -ne 0 ] ; then $CABAL v2-build $ARG_COMPILER --disable-tests --disable-benchmarks --constraint='aeson <2.0' --dependencies-only -j2 all ; fi
243− if [ $((HCNUMVER < 90200)) -ne 0 ] ; then $CABAL v2-build $ARG_COMPILER --disable-tests --disable-benchmarks --constraint='aeson <2.0' all ; fi