8
8
#
9
9
# For more information, see https://github.com/haskell-CI/haskell-ci
10
10
#
11
- # version: 0.12
11
+ # version: 0.13.20211111
12
12
#
13
- # REGENDATA ("0.12 ",["github","postgresql-libpq.cabal"])
13
+ # REGENDATA ("0.13.20211111 ",["github","postgresql-libpq.cabal"])
14
14
#
15
15
name : Haskell-CI
16
16
on :
24
24
linux :
25
25
name : Haskell-CI - Linux - ${{ matrix.compiler }}
26
26
runs-on : ubuntu-18.04
27
+ timeout-minutes :
28
+ 60
27
29
container :
28
30
image : buildpack-deps:bionic
29
31
services :
@@ -36,65 +38,133 @@ jobs:
36
38
strategy :
37
39
matrix :
38
40
include :
41
+ - compiler : ghc-9.2.1
42
+ compilerKind : ghc
43
+ compilerVersion : 9.2.1
44
+ setup-method : ghcup
45
+ allow-failure : false
39
46
- compiler : ghc-9.0.1
47
+ compilerKind : ghc
48
+ compilerVersion : 9.0.1
49
+ setup-method : hvr-ppa
40
50
allow-failure : false
41
- - compiler : ghc-8.10.4
51
+ - compiler : ghc-8.10.7
52
+ compilerKind : ghc
53
+ compilerVersion : 8.10.7
54
+ setup-method : ghcup
42
55
allow-failure : false
43
56
- compiler : ghc-8.8.4
57
+ compilerKind : ghc
58
+ compilerVersion : 8.8.4
59
+ setup-method : hvr-ppa
44
60
allow-failure : false
45
61
- compiler : ghc-8.6.5
62
+ compilerKind : ghc
63
+ compilerVersion : 8.6.5
64
+ setup-method : hvr-ppa
46
65
allow-failure : false
47
66
- compiler : ghc-8.4.4
67
+ compilerKind : ghc
68
+ compilerVersion : 8.4.4
69
+ setup-method : hvr-ppa
48
70
allow-failure : false
49
71
- compiler : ghc-8.2.2
72
+ compilerKind : ghc
73
+ compilerVersion : 8.2.2
74
+ setup-method : hvr-ppa
50
75
allow-failure : false
51
76
- compiler : ghc-8.0.2
77
+ compilerKind : ghc
78
+ compilerVersion : 8.0.2
79
+ setup-method : hvr-ppa
52
80
allow-failure : false
53
81
- compiler : ghc-7.10.3
82
+ compilerKind : ghc
83
+ compilerVersion : 7.10.3
84
+ setup-method : hvr-ppa
54
85
allow-failure : false
55
86
- compiler : ghc-7.8.4
87
+ compilerKind : ghc
88
+ compilerVersion : 7.8.4
89
+ setup-method : hvr-ppa
56
90
allow-failure : false
57
91
- compiler : ghc-7.6.3
92
+ compilerKind : ghc
93
+ compilerVersion : 7.6.3
94
+ setup-method : hvr-ppa
58
95
allow-failure : false
59
96
- compiler : ghc-7.4.2
97
+ compilerKind : ghc
98
+ compilerVersion : 7.4.2
99
+ setup-method : hvr-ppa
60
100
allow-failure : false
61
101
- compiler : ghc-7.2.2
102
+ compilerKind : ghc
103
+ compilerVersion : 7.2.2
104
+ setup-method : hvr-ppa
62
105
allow-failure : false
63
106
- compiler : ghc-7.0.4
107
+ compilerKind : ghc
108
+ compilerVersion : 7.0.4
109
+ setup-method : hvr-ppa
64
110
allow-failure : false
65
111
fail-fast : false
66
112
steps :
67
113
- name : apt
68
114
run : |
69
115
apt-get update
70
- apt-get install -y --no-install-recommends gnupg ca-certificates dirmngr curl git software-properties-common
71
- apt-add-repository -y 'ppa:hvr/ghc'
72
- apt-get update
73
- apt-get install -y $CC cabal-install-3.4
116
+ apt-get install -y --no-install-recommends gnupg ca-certificates dirmngr curl git software-properties-common libtinfo5
117
+ if [ "${{ matrix.setup-method }}" = ghcup ]; then
118
+ mkdir -p "$HOME/.ghcup/bin"
119
+ curl -sL https://downloads.haskell.org/ghcup/0.1.17.3/x86_64-linux-ghcup-0.1.17.3 > "$HOME/.ghcup/bin/ghcup"
120
+ chmod a+x "$HOME/.ghcup/bin/ghcup"
121
+ "$HOME/.ghcup/bin/ghcup" install ghc "$HCVER"
122
+ "$HOME/.ghcup/bin/ghcup" install cabal 3.6.2.0
123
+ else
124
+ apt-add-repository -y 'ppa:hvr/ghc'
125
+ apt-get update
126
+ apt-get install -y "$HCNAME"
127
+ mkdir -p "$HOME/.ghcup/bin"
128
+ curl -sL https://downloads.haskell.org/ghcup/0.1.17.3/x86_64-linux-ghcup-0.1.17.3 > "$HOME/.ghcup/bin/ghcup"
129
+ chmod a+x "$HOME/.ghcup/bin/ghcup"
130
+ "$HOME/.ghcup/bin/ghcup" install cabal 3.6.2.0
131
+ fi
74
132
env :
75
- CC : ${{ matrix.compiler }}
133
+ HCKIND : ${{ matrix.compilerKind }}
134
+ HCNAME : ${{ matrix.compiler }}
135
+ HCVER : ${{ matrix.compilerVersion }}
76
136
- name : Set PATH and environment variables
77
137
run : |
78
138
echo "$HOME/.cabal/bin" >> $GITHUB_PATH
79
- echo "LANG=C.UTF-8" >> $GITHUB_ENV
80
- echo "CABAL_DIR=$HOME/.cabal" >> $GITHUB_ENV
81
- echo "CABAL_CONFIG=$HOME/.cabal/config" >> $GITHUB_ENV
82
- HCDIR=$(echo "/opt/$CC" | sed 's/-/\//')
83
- HCNAME=ghc
84
- HC=$HCDIR/bin/$HCNAME
85
- echo "HC=$HC" >> $GITHUB_ENV
86
- echo "HCPKG=$HCDIR/bin/$HCNAME-pkg" >> $GITHUB_ENV
87
- echo "HADDOCK=$HCDIR/bin/haddock" >> $GITHUB_ENV
88
- echo "CABAL=/opt/cabal/3.4/bin/cabal -vnormal+nowrap" >> $GITHUB_ENV
139
+ echo "LANG=C.UTF-8" >> "$GITHUB_ENV"
140
+ echo "CABAL_DIR=$HOME/.cabal" >> "$GITHUB_ENV"
141
+ echo "CABAL_CONFIG=$HOME/.cabal/config" >> "$GITHUB_ENV"
142
+ HCDIR=/opt/$HCKIND/$HCVER
143
+ if [ "${{ matrix.setup-method }}" = ghcup ]; then
144
+ HC=$HOME/.ghcup/bin/$HCKIND-$HCVER
145
+ echo "HC=$HC" >> "$GITHUB_ENV"
146
+ echo "HCPKG=$HOME/.ghcup/bin/$HCKIND-pkg-$HCVER" >> "$GITHUB_ENV"
147
+ echo "HADDOCK=$HOME/.ghcup/bin/haddock-$HCVER" >> "$GITHUB_ENV"
148
+ echo "CABAL=$HOME/.ghcup/bin/cabal-3.6.2.0 -vnormal+nowrap" >> "$GITHUB_ENV"
149
+ else
150
+ HC=$HCDIR/bin/$HCKIND
151
+ echo "HC=$HC" >> "$GITHUB_ENV"
152
+ echo "HCPKG=$HCDIR/bin/$HCKIND-pkg" >> "$GITHUB_ENV"
153
+ echo "HADDOCK=$HCDIR/bin/haddock" >> "$GITHUB_ENV"
154
+ echo "CABAL=$HOME/.ghcup/bin/cabal-3.6.2.0 -vnormal+nowrap" >> "$GITHUB_ENV"
155
+ fi
156
+
89
157
HCNUMVER=$(${HC} --numeric-version|perl -ne '/^(\d+)\.(\d+)\.(\d+)(\.(\d+))?$/; print(10000 * $1 + 100 * $2 + ($3 == 0 ? $5 != 1 : $3))')
90
- echo "HCNUMVER=$HCNUMVER" >> $GITHUB_ENV
91
- echo "ARG_TESTS=--enable-tests" >> $GITHUB_ENV
92
- echo "ARG_BENCH=--enable-benchmarks" >> $GITHUB_ENV
93
- echo "HEADHACKAGE=false" >> $GITHUB_ENV
94
- echo "ARG_COMPILER=--$HCNAME --with-compiler=$HC" >> $GITHUB_ENV
95
- echo "GHCJSARITH=0" >> $GITHUB_ENV
158
+ echo "HCNUMVER=$HCNUMVER" >> " $GITHUB_ENV"
159
+ echo "ARG_TESTS=--enable-tests" >> " $GITHUB_ENV"
160
+ echo "ARG_BENCH=--enable-benchmarks" >> " $GITHUB_ENV"
161
+ echo "HEADHACKAGE=false" >> " $GITHUB_ENV"
162
+ echo "ARG_COMPILER=--$HCKIND --with-compiler=$HC" >> " $GITHUB_ENV"
163
+ echo "GHCJSARITH=0" >> " $GITHUB_ENV"
96
164
env :
97
- CC : ${{ matrix.compiler }}
165
+ HCKIND : ${{ matrix.compilerKind }}
166
+ HCNAME : ${{ matrix.compiler }}
167
+ HCVER : ${{ matrix.compilerVersion }}
98
168
- name : env
99
169
run : |
100
170
env
@@ -117,6 +187,10 @@ jobs:
117
187
repository hackage.haskell.org
118
188
url: http://hackage.haskell.org/
119
189
EOF
190
+ cat >> $CABAL_CONFIG <<EOF
191
+ program-default-options
192
+ ghc-options: $GHCJOBS +RTS -M3G -RTS
193
+ EOF
120
194
cat $CABAL_CONFIG
121
195
- name : versions
122
196
run : |
@@ -155,7 +229,8 @@ jobs:
155
229
- name : generate cabal.project
156
230
run : |
157
231
PKGDIR_postgresql_libpq="$(find "$GITHUB_WORKSPACE/unpacked" -maxdepth 1 -type d -regex '.*/postgresql-libpq-[0-9.]*')"
158
- echo "PKGDIR_postgresql_libpq=${PKGDIR_postgresql_libpq}" >> $GITHUB_ENV
232
+ echo "PKGDIR_postgresql_libpq=${PKGDIR_postgresql_libpq}" >> "$GITHUB_ENV"
233
+ rm -f cabal.project cabal.project.local
159
234
touch cabal.project
160
235
touch cabal.project.local
161
236
echo "packages: ${PKGDIR_postgresql_libpq}" >> cabal.project
0 commit comments