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
|
, slug :: Text
|
||||||
, setArgs :: Text -> UploadBundle -> UploadBundle
|
, setArgs :: Text -> UploadBundle -> UploadBundle
|
||||||
, postBuild :: IO ()
|
, postBuild :: IO ()
|
||||||
|
, distroName :: Text -- ^ distro name on Hackage
|
||||||
}
|
}
|
||||||
|
|
||||||
nightlyPlanFile :: Text -- ^ day
|
nightlyPlanFile :: Text -- ^ day
|
||||||
@ -77,6 +78,7 @@ nightlySettings day plan' = Settings
|
|||||||
, setArgs = \ghcVer ub -> ub { ubNightly = Just ghcVer }
|
, setArgs = \ghcVer ub -> ub { ubNightly = Just ghcVer }
|
||||||
, plan = plan'
|
, plan = plan'
|
||||||
, postBuild = return ()
|
, postBuild = return ()
|
||||||
|
, distroName = "Stackage"
|
||||||
}
|
}
|
||||||
where
|
where
|
||||||
slug' = "nightly-" ++ day
|
slug' = "nightly-" ++ day
|
||||||
@ -137,6 +139,7 @@ getSettings man (LTS bumpType) = do
|
|||||||
git ["commit", "-m", "Added new LTS release: " ++ show new]
|
git ["commit", "-m", "Added new LTS release: " ++ show new]
|
||||||
putStrLn "Pushing to Git repository"
|
putStrLn "Pushing to Git repository"
|
||||||
git ["push"]
|
git ["push"]
|
||||||
|
, distroName = "LTSHaskell"
|
||||||
}
|
}
|
||||||
|
|
||||||
data LTSVer = LTSVer !Int !Int
|
data LTSVer = LTSVer !Int !Int
|
||||||
@ -274,7 +277,7 @@ finallyUpload settings@Settings{..} man = do
|
|||||||
case map encodeUtf8 $ words $ decodeUtf8 $ either (const "") id ecreds of
|
case map encodeUtf8 $ words $ decodeUtf8 $ either (const "") id ecreds of
|
||||||
[username, password] -> do
|
[username, password] -> do
|
||||||
putStrLn "Uploading as Hackage distro"
|
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 $ "Distro upload response: " ++ tshow res2
|
||||||
_ -> putStrLn "No creds found, skipping Hackage distro upload"
|
_ -> putStrLn "No creds found, skipping Hackage distro upload"
|
||||||
|
|
||||||
|
|||||||
@ -11,6 +11,7 @@ module Stackage.Upload
|
|||||||
, UploadDocs (..)
|
, UploadDocs (..)
|
||||||
, uploadDocs
|
, uploadDocs
|
||||||
, uploadHackageDistro
|
, uploadHackageDistro
|
||||||
|
, uploadHackageDistroNamed
|
||||||
, UploadDocMap (..)
|
, UploadDocMap (..)
|
||||||
, uploadDocMap
|
, uploadDocMap
|
||||||
) where
|
) where
|
||||||
@ -149,8 +150,28 @@ uploadHackageDistro :: BuildPlan
|
|||||||
-> ByteString -- ^ Hackage password
|
-> ByteString -- ^ Hackage password
|
||||||
-> Manager
|
-> Manager
|
||||||
-> IO (Response LByteString)
|
-> IO (Response LByteString)
|
||||||
uploadHackageDistro bp username password =
|
uploadHackageDistro = uploadHackageDistroNamed "Stackage"
|
||||||
httpLbs (applyBasicAuth username password req)
|
|
||||||
|
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
|
where
|
||||||
csv = encodeUtf8
|
csv = encodeUtf8
|
||||||
$ builderToLazy
|
$ builderToLazy
|
||||||
@ -168,13 +189,6 @@ uploadHackageDistro bp username password =
|
|||||||
(toBuilder $ display name) ++
|
(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
|
data UploadDocMap = UploadDocMap
|
||||||
{ udmServer :: StackageServer
|
{ udmServer :: StackageServer
|
||||||
, udmAuthToken :: Text
|
, udmAuthToken :: Text
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user