File tree Expand file tree Collapse file tree 6 files changed +33
-19
lines changed Expand file tree Collapse file tree 6 files changed +33
-19
lines changed Original file line number Diff line number Diff line change @@ -292,6 +292,12 @@ jobs:
292
292
- name : prepare for constraint sets
293
293
run : |
294
294
rm -f cabal.project.local
295
+ - name : constraint set prefer-oldest
296
+ run : |
297
+ $CABAL v2-build $ARG_COMPILER --disable-tests --disable-benchmarks --prefer-oldest all --dry-run
298
+ cabal-plan topo | sort
299
+ $CABAL v2-build $ARG_COMPILER --disable-tests --disable-benchmarks --prefer-oldest --dependencies-only -j2 all
300
+ $CABAL v2-build $ARG_COMPILER --disable-tests --disable-benchmarks --prefer-oldest all
295
301
- name : save cache
296
302
if : always()
297
303
uses : actions/cache/save@v4
Original file line number Diff line number Diff line change @@ -91,21 +91,24 @@ macos-jobs: ==8.10.*
91
91
-- Package will be build with different constraints.
92
92
-- This is useful to check compatibility with older versions of dependencies.
93
93
94
- constraint-set deepseq-1.4
95
- ghc: (>= 7.8 && <7.10) || == 8.2.2
96
- constraints: deepseq ==1.4.*
97
- constraints: binary installed
94
+ constraint-set prefer-oldest
95
+ -- we can limit GHC's and add extra constraints for each constraint-set
96
+ -- for haskell-ci itself, we don't.
97
+
98
+ -- ghc: (>= 7.8 && <7.10) || == 8.2.2
99
+ -- constraints: deepseq ==1.4.*
98
100
99
101
-- Constraint sets accept booleans for few steps, as the main script
100
102
-- Defaults are False.
101
103
-- These fields don't accept version ranges: you should rather create
102
104
-- another constraint set.
103
105
104
- -- tests: False
105
- -- run-tests: False
106
+ tests: False
107
+ run-tests: False
108
+ prefer-oldest: True
106
109
-- docspec: False
107
110
-- benchmarks: False
108
- haddock: True
111
+ -- haddock: True
109
112
110
113
-- Copy over additional properties specified in a cabal.project file.
111
114
-- Possible values are:
Original file line number Diff line number Diff line change 1
1
cabal-version : 2.2
2
2
name : haskell-ci
3
- version : 0.19.20250506
3
+ version : 0.19.20250531
4
4
synopsis : Haskell CI script generator
5
5
description :
6
6
Script generator (@haskell-ci@) for
Original file line number Diff line number Diff line change @@ -549,7 +549,9 @@ run_cmd $CABAL v2-build $ARG_COMPILER --disable-tests --disable-benchmarks all
549
549
# constraint sets
550
550
put_info " constraint sets"
551
551
run_cmd rm -f cabal.project.local
552
- put_info " constraint set deepseq-1.4"
552
+ put_info " constraint set prefer-oldest"
553
+ run_cmd $CABAL v2-build $ARG_COMPILER --disable-tests --disable-benchmarks --dependencies-only -j all
554
+ run_cmd $CABAL v2-build $ARG_COMPILER --disable-tests --disable-benchmarks all
553
555
554
556
555
557
# Done
Original file line number Diff line number Diff line change @@ -11,15 +11,16 @@ import HaskellCI.Newtypes
11
11
import HaskellCI.OptionsGrammar
12
12
13
13
data ConstraintSet = ConstraintSet
14
- { csName :: String
15
- , csGhcVersions :: VersionRange
16
- , csGhcjs :: Bool
17
- , csConstraints :: [String ] -- we parse these simply as strings
18
- , csTests :: Bool
19
- , csRunTests :: Bool
20
- , csDocspec :: Bool
21
- , csBenchmarks :: Bool
22
- , csHaddock :: Bool
14
+ { csName :: String
15
+ , csGhcVersions :: VersionRange
16
+ , csGhcjs :: Bool
17
+ , csConstraints :: [String ] -- we parse these simply as strings
18
+ , csTests :: Bool
19
+ , csRunTests :: Bool
20
+ , csDocspec :: Bool
21
+ , csBenchmarks :: Bool
22
+ , csHaddock :: Bool
23
+ , csPreferOldest :: Bool
23
24
}
24
25
deriving (Show , Generic )
25
26
@@ -40,3 +41,4 @@ constraintSetGrammar name = ConstraintSet name
40
41
<*> C. booleanFieldDef " docspec" (field @ " csDocspec" ) False
41
42
<*> C. booleanFieldDef " benchmarks" (field @ " csBenchmarks" ) False
42
43
<*> C. booleanFieldDef " haddock" (field @ " csHaddock" ) False
44
+ <*> C. booleanFieldDef " prefer-oldest" (field @ " csPreferOldest" ) False
Original file line number Diff line number Diff line change @@ -497,7 +497,8 @@ makeGitHub _argv config@Config {..} gitconfig prj jobs@JobVersions {..} = do
497
497
let testFlag = if csTests cs then " --enable-tests" else " --disable-tests"
498
498
let benchFlag = if csBenchmarks cs then " --enable-benchmarks" else " --disable-benchmarks"
499
499
let constraintFlags = map (\ x -> " --constraint='" ++ x ++ " '" ) (csConstraints cs)
500
- let allFlags = unwords (testFlag : benchFlag : constraintFlags)
500
+ let preferFlags = if csPreferOldest cs then [" --prefer-oldest" ] else []
501
+ let allFlags = unwords (testFlag : benchFlag : constraintFlags ++ preferFlags)
501
502
502
503
sh_cs $ " $CABAL v2-build $ARG_COMPILER " ++ allFlags ++ " all --dry-run"
503
504
sh_cs $ " cabal-plan topo | sort"
You can’t perform that action at this time.
0 commit comments