on master help sign in
skip-check option to nightly (good for 7.10 builds)
548578cMichael Snoyman
ChangeLog.md+2−1
@@ -1,7 +1,8 @@
1−## 0.4.1
1+## 0.5.0
2
2
3* Print "Still Alive" while checking, to avoid Travis timeouts
3* Print "Still Alive" while checking, to avoid Travis timeouts
4* Include `stackage upload-nightly` command
4* Include `stackage upload-nightly` command
5+* Optional plan checking
5
6
6## 0.4.0
7## 0.4.0
7
8
Stackage/CompleteBuild.hs+7−2
@@ -35,6 +35,7 @@ data BuildFlags = BuildFlags
35 , bfDoUpload :: !Bool
35 , bfDoUpload :: !Bool
36 , bfEnableLibProfile :: !Bool
36 , bfEnableLibProfile :: !Bool
37 , bfVerbose :: !Bool
37 , bfVerbose :: !Bool
38+ , bfSkipCheck :: !Bool
38 } deriving (Show)
39 } deriving (Show)
39
40
40data BuildType = Nightly | LTS BumpType
41data BuildType = Nightly | LTS BumpType
@@ -200,6 +201,7 @@ getPerformBuild buildFlags Settings {..} = PerformBuild
200 , pbEnableTests = bfEnableTests buildFlags
201 , pbEnableTests = bfEnableTests buildFlags
201 , pbEnableLibProfiling = bfEnableLibProfile buildFlags
202 , pbEnableLibProfiling = bfEnableLibProfile buildFlags
202 , pbVerbose = bfVerbose buildFlags
203 , pbVerbose = bfVerbose buildFlags
204+ , pbAllowNewer = bfSkipCheck buildFlags
203 }
205 }
204
206
205-- | Make a complete plan, build, test and upload bundle, docs and
207-- | Make a complete plan, build, test and upload bundle, docs and
@@ -214,8 +216,11 @@ completeBuild buildType buildFlags = withManager tlsManagerSettings $ \man -> do
214 putStrLn $ "Writing build plan to: " ++ fpToText planFile
216 putStrLn $ "Writing build plan to: " ++ fpToText planFile
215 encodeFile (fpToString planFile) plan
217 encodeFile (fpToString planFile) plan
216
218
219+ if bfSkipCheck buildFlags
220+ then putStrLn "Skipping build plan check"
221+ else do
217− putStrLn "Checking build plan"
222+ putStrLn "Checking build plan"
218− checkBuildPlan plan
223+ checkBuildPlan plan
219
224
220 putStrLn "Performing build"
225 putStrLn "Performing build"
221 performBuild (getPerformBuild buildFlags settings) >>= mapM_ putStrLn
226 performBuild (getPerformBuild buildFlags settings) >>= mapM_ putStrLn
Stackage/PerformBuild.hs+3
@@ -64,6 +64,8 @@ data PerformBuild = PerformBuild
64 , pbEnableTests :: Bool
64 , pbEnableTests :: Bool
65 , pbEnableLibProfiling :: Bool
65 , pbEnableLibProfiling :: Bool
66 , pbVerbose :: Bool
66 , pbVerbose :: Bool
67+ , pbAllowNewer :: Bool
68+ -- ^ Pass --allow-newer to cabal configure
67 }
69 }
68
70
69data PackageInfo = PackageInfo
71data PackageInfo = PackageInfo
@@ -293,6 +295,7 @@ singleBuild pb@PerformBuild {..} SingleBuild {..} =
293 withBinaryFile (fpToString fp) WriteMode inner'
295 withBinaryFile (fpToString fp) WriteMode inner'
294
296
295 configArgs = ($ []) $ execWriter $ do
297 configArgs = ($ []) $ execWriter $ do
298+ when pbAllowNewer $ tell' "--allow-newer"
296 tell' "--package-db=clear"
299 tell' "--package-db=clear"
297 tell' "--package-db=global"
300 tell' "--package-db=global"
298 forM_ (pbDatabase pb) $ \db -> tell' $ "--package-db=" ++ fpToText db
301 forM_ (pbDatabase pb) $ \db -> tell' $ "--package-db=" ++ fpToText db
app/stackage.hs+4−1
@@ -78,7 +78,10 @@ main =
78 help "Enable profiling when building") <*>
78 help "Enable profiling when building") <*>
79 switch
79 switch
80 (long "verbose" <> short 'v' <>
80 (long "verbose" <> short 'v' <>
81− help "Output verbose detail about the build steps")
81+ help "Output verbose detail about the build steps") <*>
82+ switch
83+ (long "skip-check" <>
84+ help "Skip the check phase, and pass --allow-newer to cabal configure")
82
85
83 nightlyUploadFlags = fromString <$> strArgument
86 nightlyUploadFlags = fromString <$> strArgument
84 (metavar "DATE" <>
87 (metavar "DATE" <>
stackage.cabal+1−1
@@ -1,5 +1,5 @@
1name: stackage
1name: stackage
2−version: 0.4.1
2+version: 0.5.0
3synopsis: "Stable Hackage," tools for creating a vetted set of packages from Hackage.
3synopsis: "Stable Hackage," tools for creating a vetted set of packages from Hackage.
4description: Please see <http://www.stackage.org/package/stackage> for a description and documentation.
4description: Please see <http://www.stackage.org/package/stackage> for a description and documentation.
5homepage: https://github.com/fpco/stackage
5homepage: https://github.com/fpco/stackage