mirror of
https://github.com/commercialhaskell/stackage.git
synced 2026-01-11 23:08:30 +01:00
LTSHaskell distro name haskell/hackage-server#307
This commit is contained in:
parent
cd23e9856b
commit
b08210debd
@ -54,6 +54,7 @@ data Settings = Settings
|
||||
, slug :: Text
|
||||
, setArgs :: Text -> UploadBundle -> UploadBundle
|
||||
, postBuild :: IO ()
|
||||
, distroName :: Text -- ^ distro name on Hackage
|
||||
}
|
||||
|
||||
nightlyPlanFile :: Text -- ^ day
|
||||
@ -77,6 +78,7 @@ nightlySettings day plan' = Settings
|
||||
, setArgs = \ghcVer ub -> ub { ubNightly = Just ghcVer }
|
||||
, plan = plan'
|
||||
, postBuild = return ()
|
||||
, distroName = "Stackage"
|
||||
}
|
||||
where
|
||||
slug' = "nightly-" ++ day
|
||||
@ -137,6 +139,7 @@ getSettings man (LTS bumpType) = do
|
||||
git ["commit", "-m", "Added new LTS release: " ++ show new]
|
||||
putStrLn "Pushing to Git repository"
|
||||
git ["push"]
|
||||
, distroName = "LTSHaskell"
|
||||
}
|
||||
|
||||
data LTSVer = LTSVer !Int !Int
|
||||
@ -274,7 +277,7 @@ finallyUpload settings@Settings{..} man = do
|
||||
case map encodeUtf8 $ words $ decodeUtf8 $ either (const "") id ecreds of
|
||||
[username, password] -> do
|
||||
putStrLn "Uploading as Hackage distro"
|
||||
res2 <- uploadHackageDistro plan username password man
|
||||
res2 <- uploadHackageDistroNamed distroName plan username password man
|
||||
putStrLn $ "Distro upload response: " ++ tshow res2
|
||||
_ -> putStrLn "No creds found, skipping Hackage distro upload"
|
||||
|
||||
|
||||
@ -11,6 +11,7 @@ module Stackage.Upload
|
||||
, UploadDocs (..)
|
||||
, uploadDocs
|
||||
, uploadHackageDistro
|
||||
, uploadHackageDistroNamed
|
||||
, UploadDocMap (..)
|
||||
, uploadDocMap
|
||||
) where
|
||||
@ -149,8 +150,28 @@ uploadHackageDistro :: BuildPlan
|
||||
-> ByteString -- ^ Hackage password
|
||||
-> Manager
|
||||
-> IO (Response LByteString)
|
||||
uploadHackageDistro bp username password =
|
||||
httpLbs (applyBasicAuth username password req)
|
||||
uploadHackageDistro = uploadHackageDistroNamed "Stackage"
|
||||
|
||||
uploadHackageDistroNamed
|
||||
:: Text -- ^ distro name
|
||||
-> BuildPlan
|
||||
-> ByteString -- ^ Hackage username
|
||||
-> ByteString -- ^ Hackage password
|
||||
-> Manager
|
||||
-> IO (Response LByteString)
|
||||
uploadHackageDistroNamed name bp username password manager = do
|
||||
req1 <- parseUrl $ concat
|
||||
[ "http://hackage.haskell.org/distro/"
|
||||
, unpack name
|
||||
, "/packages.csv"
|
||||
]
|
||||
let req2 = req1
|
||||
{ requestHeaders = [("Content-Type", "text/csv")]
|
||||
, requestBody = RequestBodyLBS csv
|
||||
, checkStatus = \_ _ _ -> Nothing
|
||||
, method = "PUT"
|
||||
}
|
||||
httpLbs (applyBasicAuth username password req2) manager
|
||||
where
|
||||
csv = encodeUtf8
|
||||
$ builderToLazy
|
||||
@ -168,13 +189,6 @@ uploadHackageDistro bp username password =
|
||||
(toBuilder $ display name) ++
|
||||
"\""
|
||||
|
||||
req = "http://hackage.haskell.org/distro/Stackage/packages.csv"
|
||||
{ requestHeaders = [("Content-Type", "text/csv")]
|
||||
, requestBody = RequestBodyLBS csv
|
||||
, checkStatus = \_ _ _ -> Nothing
|
||||
, method = "PUT"
|
||||
}
|
||||
|
||||
data UploadDocMap = UploadDocMap
|
||||
{ udmServer :: StackageServer
|
||||
, udmAuthToken :: Text
|
||||
|
||||
Loading…
Reference in New Issue
Block a user