Skip to content

Commit 6cafb52

Browse files
authored
Update haskell-ci config (#206)
Context: ndmitchell/hlint#1291
1 parent 7f9af88 commit 6cafb52

File tree

1 file changed

+68
-31
lines changed

1 file changed

+68
-31
lines changed

.github/workflows/haskell-ci.yml

Lines changed: 68 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@
88
#
99
# For more information, see https://github.com/haskell-CI/haskell-ci
1010
#
11-
# version: 0.13.20210525
11+
# version: 0.13.20210901
1212
#
13-
# REGENDATA ("0.13.20210525",["github","--config=cabal.haskell-ci","cabal.project"])
13+
# REGENDATA ("0.13.20210901",["github","--config=cabal.haskell-ci","cabal.project"])
1414
#
1515
name: Haskell-CI
1616
on:
@@ -25,66 +25,102 @@ jobs:
2525
name: Haskell-CI - Linux - ${{ matrix.compiler }}
2626
runs-on: ubuntu-18.04
2727
container:
28-
image: buildpack-deps:xenial
28+
image: buildpack-deps:bionic
2929
continue-on-error: ${{ matrix.allow-failure }}
3030
strategy:
3131
matrix:
3232
include:
3333
- compiler: ghc-9.0.1
34+
compilerKind: ghc
35+
compilerVersion: 9.0.1
36+
setup-method: hvr-ppa
3437
allow-failure: false
3538
- compiler: ghc-8.10.4
39+
compilerKind: ghc
40+
compilerVersion: 8.10.4
41+
setup-method: hvr-ppa
3642
allow-failure: false
3743
- compiler: ghc-8.8.4
44+
compilerKind: ghc
45+
compilerVersion: 8.8.4
46+
setup-method: hvr-ppa
3847
allow-failure: false
3948
- compiler: ghc-8.6.5
49+
compilerKind: ghc
50+
compilerVersion: 8.6.5
51+
setup-method: hvr-ppa
4052
allow-failure: false
4153
- compiler: ghc-8.4.4
54+
compilerKind: ghc
55+
compilerVersion: 8.4.4
56+
setup-method: hvr-ppa
4257
allow-failure: false
4358
- compiler: ghc-8.2.2
59+
compilerKind: ghc
60+
compilerVersion: 8.2.2
61+
setup-method: hvr-ppa
4462
allow-failure: false
4563
- compiler: ghc-8.0.2
64+
compilerKind: ghc
65+
compilerVersion: 8.0.2
66+
setup-method: hvr-ppa
4667
allow-failure: false
4768
- compiler: ghc-7.10.3
69+
compilerKind: ghc
70+
compilerVersion: 7.10.3
71+
setup-method: hvr-ppa
4872
allow-failure: false
4973
- compiler: ghc-7.8.4
74+
compilerKind: ghc
75+
compilerVersion: 7.8.4
76+
setup-method: hvr-ppa
5077
allow-failure: false
5178
- compiler: ghc-7.6.3
79+
compilerKind: ghc
80+
compilerVersion: 7.6.3
81+
setup-method: hvr-ppa
5282
allow-failure: false
5383
- compiler: ghc-7.4.2
84+
compilerKind: ghc
85+
compilerVersion: 7.4.2
86+
setup-method: hvr-ppa
5487
allow-failure: false
5588
fail-fast: false
5689
steps:
5790
- name: apt
5891
run: |
5992
apt-get update
60-
apt-get install -y --no-install-recommends gnupg ca-certificates dirmngr curl git software-properties-common
93+
apt-get install -y --no-install-recommends gnupg ca-certificates dirmngr curl git software-properties-common libtinfo5
6194
apt-add-repository -y 'ppa:hvr/ghc'
6295
apt-get update
63-
apt-get install -y $CC cabal-install-3.4
96+
apt-get install -y "$HCNAME" cabal-install-3.4
6497
env:
65-
CC: ${{ matrix.compiler }}
98+
HCKIND: ${{ matrix.compilerKind }}
99+
HCNAME: ${{ matrix.compiler }}
100+
HCVER: ${{ matrix.compilerVersion }}
66101
- name: Set PATH and environment variables
67102
run: |
68103
echo "$HOME/.cabal/bin" >> $GITHUB_PATH
69-
echo "LANG=C.UTF-8" >> $GITHUB_ENV
70-
echo "CABAL_DIR=$HOME/.cabal" >> $GITHUB_ENV
71-
echo "CABAL_CONFIG=$HOME/.cabal/config" >> $GITHUB_ENV
72-
HCDIR=$(echo "/opt/$CC" | sed 's/-/\//')
73-
HCNAME=ghc
74-
HC=$HCDIR/bin/$HCNAME
75-
echo "HC=$HC" >> $GITHUB_ENV
76-
echo "HCPKG=$HCDIR/bin/$HCNAME-pkg" >> $GITHUB_ENV
77-
echo "HADDOCK=$HCDIR/bin/haddock" >> $GITHUB_ENV
78-
echo "CABAL=/opt/cabal/3.4/bin/cabal -vnormal+nowrap" >> $GITHUB_ENV
104+
echo "LANG=C.UTF-8" >> "$GITHUB_ENV"
105+
echo "CABAL_DIR=$HOME/.cabal" >> "$GITHUB_ENV"
106+
echo "CABAL_CONFIG=$HOME/.cabal/config" >> "$GITHUB_ENV"
107+
HCDIR=/opt/$HCKIND/$HCVER
108+
HC=$HCDIR/bin/$HCKIND
109+
echo "HC=$HC" >> "$GITHUB_ENV"
110+
echo "HCPKG=$HCDIR/bin/$HCKIND-pkg" >> "$GITHUB_ENV"
111+
echo "HADDOCK=$HCDIR/bin/haddock" >> "$GITHUB_ENV"
112+
echo "CABAL=/opt/cabal/3.4/bin/cabal -vnormal+nowrap" >> "$GITHUB_ENV"
79113
HCNUMVER=$(${HC} --numeric-version|perl -ne '/^(\d+)\.(\d+)\.(\d+)(\.(\d+))?$/; print(10000 * $1 + 100 * $2 + ($3 == 0 ? $5 != 1 : $3))')
80-
echo "HCNUMVER=$HCNUMVER" >> $GITHUB_ENV
81-
if [ $((HCNUMVER >= 80000)) -ne 0 ] ; then echo "ARG_TESTS=--enable-tests" >> $GITHUB_ENV ; else echo "ARG_TESTS=--disable-tests" >> $GITHUB_ENV ; fi
82-
if [ $((HCNUMVER >= 70800)) -ne 0 ] ; then echo "ARG_BENCH=--enable-benchmarks" >> $GITHUB_ENV ; else echo "ARG_BENCH=--disable-benchmarks" >> $GITHUB_ENV ; fi
83-
echo "HEADHACKAGE=false" >> $GITHUB_ENV
84-
echo "ARG_COMPILER=--$HCNAME --with-compiler=$HC" >> $GITHUB_ENV
85-
echo "GHCJSARITH=0" >> $GITHUB_ENV
114+
echo "HCNUMVER=$HCNUMVER" >> "$GITHUB_ENV"
115+
if [ $((HCNUMVER >= 80000)) -ne 0 ] ; then echo "ARG_TESTS=--enable-tests" >> "$GITHUB_ENV" ; else echo "ARG_TESTS=--disable-tests" >> "$GITHUB_ENV" ; fi
116+
if [ $((HCNUMVER >= 70800)) -ne 0 ] ; then echo "ARG_BENCH=--enable-benchmarks" >> "$GITHUB_ENV" ; else echo "ARG_BENCH=--disable-benchmarks" >> "$GITHUB_ENV" ; fi
117+
echo "HEADHACKAGE=false" >> "$GITHUB_ENV"
118+
echo "ARG_COMPILER=--$HCKIND --with-compiler=$HC" >> "$GITHUB_ENV"
119+
echo "GHCJSARITH=0" >> "$GITHUB_ENV"
86120
env:
87-
CC: ${{ matrix.compiler }}
121+
HCKIND: ${{ matrix.compilerKind }}
122+
HCNAME: ${{ matrix.compiler }}
123+
HCVER: ${{ matrix.compilerVersion }}
88124
- name: env
89125
run: |
90126
env
@@ -119,7 +155,7 @@ jobs:
119155
- name: cache (tools)
120156
uses: actions/cache@v2
121157
with:
122-
key: ${{ runner.os }}-${{ matrix.compiler }}-tools-1f766cec
158+
key: ${{ runner.os }}-${{ matrix.compiler }}-tools-a23eff0a
123159
path: ~/.haskell-ci-tools
124160
- name: install cabal-plan
125161
run: |
@@ -161,17 +197,18 @@ jobs:
161197
- name: generate cabal.project
162198
run: |
163199
PKGDIR_prettyprinter="$(find "$GITHUB_WORKSPACE/unpacked" -maxdepth 1 -type d -regex '.*/prettyprinter-[0-9.]*')"
164-
echo "PKGDIR_prettyprinter=${PKGDIR_prettyprinter}" >> $GITHUB_ENV
200+
echo "PKGDIR_prettyprinter=${PKGDIR_prettyprinter}" >> "$GITHUB_ENV"
165201
PKGDIR_prettyprinter_ansi_terminal="$(find "$GITHUB_WORKSPACE/unpacked" -maxdepth 1 -type d -regex '.*/prettyprinter-ansi-terminal-[0-9.]*')"
166-
echo "PKGDIR_prettyprinter_ansi_terminal=${PKGDIR_prettyprinter_ansi_terminal}" >> $GITHUB_ENV
202+
echo "PKGDIR_prettyprinter_ansi_terminal=${PKGDIR_prettyprinter_ansi_terminal}" >> "$GITHUB_ENV"
167203
PKGDIR_prettyprinter_compat_wl_pprint="$(find "$GITHUB_WORKSPACE/unpacked" -maxdepth 1 -type d -regex '.*/prettyprinter-compat-wl-pprint-[0-9.]*')"
168-
echo "PKGDIR_prettyprinter_compat_wl_pprint=${PKGDIR_prettyprinter_compat_wl_pprint}" >> $GITHUB_ENV
204+
echo "PKGDIR_prettyprinter_compat_wl_pprint=${PKGDIR_prettyprinter_compat_wl_pprint}" >> "$GITHUB_ENV"
169205
PKGDIR_prettyprinter_compat_ansi_wl_pprint="$(find "$GITHUB_WORKSPACE/unpacked" -maxdepth 1 -type d -regex '.*/prettyprinter-compat-ansi-wl-pprint-[0-9.]*')"
170-
echo "PKGDIR_prettyprinter_compat_ansi_wl_pprint=${PKGDIR_prettyprinter_compat_ansi_wl_pprint}" >> $GITHUB_ENV
206+
echo "PKGDIR_prettyprinter_compat_ansi_wl_pprint=${PKGDIR_prettyprinter_compat_ansi_wl_pprint}" >> "$GITHUB_ENV"
171207
PKGDIR_prettyprinter_convert_ansi_wl_pprint="$(find "$GITHUB_WORKSPACE/unpacked" -maxdepth 1 -type d -regex '.*/prettyprinter-convert-ansi-wl-pprint-[0-9.]*')"
172-
echo "PKGDIR_prettyprinter_convert_ansi_wl_pprint=${PKGDIR_prettyprinter_convert_ansi_wl_pprint}" >> $GITHUB_ENV
208+
echo "PKGDIR_prettyprinter_convert_ansi_wl_pprint=${PKGDIR_prettyprinter_convert_ansi_wl_pprint}" >> "$GITHUB_ENV"
173209
PKGDIR_prettyprinter_compat_annotated_wl_pprint="$(find "$GITHUB_WORKSPACE/unpacked" -maxdepth 1 -type d -regex '.*/prettyprinter-compat-annotated-wl-pprint-[0-9.]*')"
174-
echo "PKGDIR_prettyprinter_compat_annotated_wl_pprint=${PKGDIR_prettyprinter_compat_annotated_wl_pprint}" >> $GITHUB_ENV
210+
echo "PKGDIR_prettyprinter_compat_annotated_wl_pprint=${PKGDIR_prettyprinter_compat_annotated_wl_pprint}" >> "$GITHUB_ENV"
211+
rm -f cabal.project cabal.project.local
175212
touch cabal.project
176213
touch cabal.project.local
177214
echo "packages: ${PKGDIR_prettyprinter}" >> cabal.project
@@ -222,7 +259,7 @@ jobs:
222259
if [ $((HCNUMVER >= 80000)) -ne 0 ] ; then $CABAL v2-test $ARG_COMPILER $ARG_TESTS $ARG_BENCH all --test-show-details=direct ; fi
223260
- name: hlint
224261
run: |
225-
if [ $((HCNUMVER >= 90000)) -ne 0 ] ; then (cd ${PKGDIR_prettyprinter} && hlint -h ${GITHUB_WORKSPACE}/source/.hlint.yaml --cpp-include=misc src) ; fi
262+
if [ $((HCNUMVER >= 90000)) -ne 0 ] ; then (cd ${PKGDIR_prettyprinter} && hlint -h ${GITHUB_WORKSPACE}/source/.hlint.yaml --cpp-include=misc src src-text) ; fi
226263
if [ $((HCNUMVER >= 90000)) -ne 0 ] ; then (cd ${PKGDIR_prettyprinter} && hlint -h ${GITHUB_WORKSPACE}/source/.hlint.yaml --cpp-include=misc app) ; fi
227264
if [ $((HCNUMVER >= 90000)) -ne 0 ] ; then (cd ${PKGDIR_prettyprinter_ansi_terminal} && hlint -h ${GITHUB_WORKSPACE}/source/.hlint.yaml --cpp-include=misc src) ; fi
228265
if [ $((HCNUMVER >= 90000)) -ne 0 ] ; then (cd ${PKGDIR_prettyprinter_compat_wl_pprint} && hlint -h ${GITHUB_WORKSPACE}/source/.hlint.yaml --cpp-include=misc src) ; fi

0 commit comments

Comments
 (0)