Skip to content

Commit bf34164

Browse files
authored
Merge pull request #617 from haskell-CI/hlint-3.5
Hlint 3.5
2 parents a5bacf0 + 3cb717e commit bf34164

File tree

8 files changed

+21
-10
lines changed

8 files changed

+21
-10
lines changed

.github/workflows/haskell-ci.yml

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,7 @@ jobs:
150150
- name: cache (tools)
151151
uses: actions/cache@v2
152152
with:
153-
key: ${{ runner.os }}-${{ matrix.compiler }}-tools-7252f917
153+
key: ${{ runner.os }}-${{ matrix.compiler }}-tools-ddfe230f
154154
path: ~/.haskell-ci-tools
155155
- name: install cabal-plan
156156
run: |
@@ -174,6 +174,12 @@ jobs:
174174
run: |
175175
if [ $((HCNUMVER < 90000)) -ne 0 ] ; then $CABAL --store-dir=$HOME/.haskell-ci-tools/store v2-install $ARG_COMPILER --ignore-project -j2 doctest --constraint='doctest ^>=0.20' ; fi
176176
if [ $((HCNUMVER < 90000)) -ne 0 ] ; then doctest --version ; fi
177+
- name: install hlint
178+
run: |
179+
if [ $((HCNUMVER >= 90200 && HCNUMVER < 90400)) -ne 0 ] ; then HLINTVER=$(cd /tmp && (${CABAL} v2-install -v $ARG_COMPILER --dry-run hlint --constraint='hlint >=3.5 && <3.6' | perl -ne 'if (/\bhlint-(\d+(\.\d+)*)\b/) { print "$1"; last; }')); echo "HLint version $HLINTVER" ; fi
180+
if [ $((HCNUMVER >= 90200 && HCNUMVER < 90400)) -ne 0 ] ; then if [ ! -e $HOME/.haskell-ci-tools/hlint-$HLINTVER/hlint ]; then echo "Downloading HLint version $HLINTVER"; mkdir -p $HOME/.haskell-ci-tools; curl --write-out 'Status Code: %{http_code} Redirects: %{num_redirects} Total time: %{time_total} Total Dsize: %{size_download}\n' --silent --location --output $HOME/.haskell-ci-tools/hlint-$HLINTVER.tar.gz "https://github.com/ndmitchell/hlint/releases/download/v$HLINTVER/hlint-$HLINTVER-x86_64-linux.tar.gz"; tar -xzv -f $HOME/.haskell-ci-tools/hlint-$HLINTVER.tar.gz -C $HOME/.haskell-ci-tools; fi ; fi
181+
if [ $((HCNUMVER >= 90200 && HCNUMVER < 90400)) -ne 0 ] ; then mkdir -p $CABAL_DIR/bin && ln -sf "$HOME/.haskell-ci-tools/hlint-$HLINTVER/hlint" $CABAL_DIR/bin/hlint ; fi
182+
if [ $((HCNUMVER >= 90200 && HCNUMVER < 90400)) -ne 0 ] ; then hlint --version ; fi
177183
- name: checkout
178184
uses: actions/checkout@v2
179185
with:
@@ -256,6 +262,11 @@ jobs:
256262
run: |
257263
$CABAL v2-build $ARG_COMPILER $ARG_TESTS $ARG_BENCH all
258264
cabal-docspec $ARG_COMPILER --verbose --timeout 2
265+
- name: hlint
266+
run: |
267+
if [ $((HCNUMVER >= 90200 && HCNUMVER < 90400)) -ne 0 ] ; then (cd ${PKGDIR_haskell_ci} && hlint -h ${GITHUB_WORKSPACE}/source/.hlint.yaml -XHaskell2010 -XNoImplicitPrelude -XBangPatterns -XDeriveAnyClass -XDeriveFoldable -XDeriveFunctor -XDeriveGeneric -XDeriveTraversable -XDerivingStrategies -XGeneralizedNewtypeDeriving -XScopedTypeVariables -XTypeOperators src) ; fi
268+
if [ $((HCNUMVER >= 90200 && HCNUMVER < 90400)) -ne 0 ] ; then (cd ${PKGDIR_haskell_ci} && hlint -h ${GITHUB_WORKSPACE}/source/.hlint.yaml -XHaskell2010 cli) ; fi
269+
if [ $((HCNUMVER >= 90200 && HCNUMVER < 90400)) -ne 0 ] ; then (cd ${PKGDIR_cabal_install_parsers} && hlint -h ${GITHUB_WORKSPACE}/source/.hlint.yaml -XHaskell2010 src) ; fi
259270
- name: cabal check
260271
run: |
261272
cd ${PKGDIR_haskell_ci} || false

cabal.haskell-ci

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ folds: constraint-sets
6969

7070
-- Run HLint
7171
hlint: True
72-
hlint-job: 9.0.1
72+
hlint-job: 9.2.4
7373
hlint-yaml: .hlint.yaml
7474
hlint-download-binary: True
7575
-- hlint-version: ==3.1.*

haskell-ci.cabal

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
cabal-version: 2.2
22
name: haskell-ci
3-
version: 0.15.20220826
3+
version: 0.15.20220920
44
synopsis: Cabal package script generator for Travis-CI
55
description:
66
Script generator (@haskell-ci@) for

src/HaskellCI/Auxiliary.hs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -88,9 +88,9 @@ auxiliary Config {..} prj JobVersions {..} = Auxiliary {..}
8888
extraCabalProjectFields rootdir = buildList $ do
8989
-- generate package fields for URI packages.
9090
for_ uris $ \uri ->
91-
item $ C.PrettyField () "packages" $ PP.text $ if
92-
| URI.uriScheme uri == "file:" -> rootdir ++ URI.uriPath uri
93-
| otherwise -> uriToString id uri ""
91+
item $ C.PrettyField () "packages" $ PP.text $ case URI.uriScheme uri of
92+
"file:" -> rootdir ++ URI.uriPath uri
93+
_ -> uriToString id uri ""
9494

9595
-- copy fields from original cabal.project
9696
case cfgCopyFields of

src/HaskellCI/Bash.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -198,7 +198,7 @@ makeBash _argv config@Config {..} prj jobs@JobVersions {..} = do
198198
change_dir "$BUILDDIR"
199199

200200
-- haddock
201-
when (not (equivVersionRanges C.noVersion cfgHaddock)) $ step "haddock" $ do
201+
unless (equivVersionRanges C.noVersion cfgHaddock) $ step "haddock" $ do
202202
let range = RangeGHC /\ Range cfgHaddock
203203
run_cmd_if range "$CABAL v2-haddock --haddock-all $ARG_COMPILER --with-haddock $HADDOCK $ARG_TESTS $ARG_BENCH all"
204204

src/HaskellCI/Compiler.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,7 @@ previewGHC
190190
-> CompilerVersion
191191
-> Bool
192192
previewGHC _vr GHCHead = True
193-
previewGHC vr (GHC v) = withinRange v vr || odd (snd (ghcMajVer v)) || maybe False (v >=) (fmap fst ghcAlpha)
193+
previewGHC vr (GHC v) = withinRange v vr || odd (snd (ghcMajVer v)) || maybe False (\(v', _) -> v >= v') ghcAlpha
194194
previewGHC _vr (GHCJS _) = False
195195

196196
ghcMajVer :: Version -> (Int,Int)

src/HaskellCI/Config/HLint.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ data HLintConfig = HLintConfig
3131
-------------------------------------------------------------------------------
3232

3333
defaultHLintVersion :: VersionRange
34-
defaultHLintVersion = withinVersion (mkVersion [3,3])
34+
defaultHLintVersion = withinVersion (mkVersion [3,5])
3535

3636
-------------------------------------------------------------------------------
3737
-- HLintJob

src/HaskellCI/Travis.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -375,7 +375,7 @@ makeTravis argv config@Config {..} prj jobs@JobVersions {..} = do
375375
"(cd " ++ pkgNameDirVariable pkgName ++ " && ${CABAL} -vnormal check)"
376376

377377
-- haddock
378-
when (not (equivVersionRanges C.noVersion cfgHaddock)) $
378+
unless (equivVersionRanges C.noVersion cfgHaddock) $
379379
foldedSh FoldHaddock "haddock..." cfgFolds $
380380
shForJob (RangeGHC /\ Range cfgHaddock) $ cabal $ "v2-haddock --haddock-all $WITHCOMPILER " ++ withHaddock ++ " ${TEST} ${BENCH} all"
381381

0 commit comments

Comments
 (0)