on master help sign in
Add --skip-flags and pbEnableTests (#3976)
787db34Chris Done
Stackage/CompleteBuild.hs+9−2
@@ -4,6 +4,7 @@
4module Stackage.CompleteBuild
4module Stackage.CompleteBuild
5 ( BuildType (..)
5 ( BuildType (..)
6 , BumpType (..)
6 , BumpType (..)
7+ , BuildFlags (..)
7 , completeBuild
8 , completeBuild
8 , justCheck
9 , justCheck
9 ) where
10 ) where
@@ -24,6 +25,11 @@ import Stackage.UpdateBuildPlan
24import Stackage.Upload
25import Stackage.Upload
25import System.IO (BufferMode (LineBuffering), hSetBuffering)
26import System.IO (BufferMode (LineBuffering), hSetBuffering)
26
27
28+-- | Flags passed in from the command line.
29+data BuildFlags = BuildFlags
30+ { bfEnableTests :: !Bool
31+ } deriving (Show)
32+
27data BuildType = Nightly | LTS BumpType
33data BuildType = Nightly | LTS BumpType
28 deriving (Show, Read, Eq, Ord)
34 deriving (Show, Read, Eq, Ord)
29
35
@@ -149,8 +155,8 @@ justCheck = withManager tlsManagerSettings $ \man -> do
149
155
150 putStrLn "Plan seems valid!"
156 putStrLn "Plan seems valid!"
151
157
152−completeBuild :: BuildType -> IO ()
158+completeBuild :: BuildType -> BuildFlags -> IO ()
153−completeBuild buildType = withManager tlsManagerSettings $ \man -> do
159+completeBuild buildType buildFlags = withManager tlsManagerSettings $ \man -> do
154 hSetBuffering stdout LineBuffering
160 hSetBuffering stdout LineBuffering
155
161
156 putStrLn $ "Loading settings for: " ++ tshow buildType
162 putStrLn $ "Loading settings for: " ++ tshow buildType
@@ -170,6 +176,7 @@ completeBuild buildType = withManager tlsManagerSettings $ \man -> do
170 , pbLog = hPut stdout
176 , pbLog = hPut stdout
171 , pbJobs = 8
177 , pbJobs = 8
172 , pbGlobalInstall = False
178 , pbGlobalInstall = False
179+ , pbEnableTests = bfEnableTests buildFlags
173 }
180 }
174 performBuild pb >>= mapM_ putStrLn
181 performBuild pb >>= mapM_ putStrLn
175
182
Stackage/PerformBuild.hs+2−1
@@ -61,6 +61,7 @@ data PerformBuild = PerformBuild
61 , pbJobs :: Int
61 , pbJobs :: Int
62 , pbGlobalInstall :: Bool
62 , pbGlobalInstall :: Bool
63 -- ^ Register packages in the global database
63 -- ^ Register packages in the global database
64+ , pbEnableTests :: Bool
64 }
65 }
65
66
66data PackageInfo = PackageInfo
67data PackageInfo = PackageInfo
@@ -378,7 +379,7 @@ singleBuild pb@PerformBuild {..} SingleBuild {..} =
378 runTests = wf testOut $ \outH -> do
379 runTests = wf testOut $ \outH -> do
379 let run = runChild outH
380 let run = runChild outH
380
381
381− when (pcTests /= Don'tBuild) $ do
382+ when (pbEnableTests && pcTests /= Don'tBuild) $ do
382 log' $ "Test configure " ++ namever
383 log' $ "Test configure " ++ namever
383 run "cabal" $ "configure" : "--enable-tests" : configArgs
384 run "cabal" $ "configure" : "--enable-tests" : configArgs
384
385