summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Propellor/Property/SiteSpecific/GitAnnexBuilder.hs14
-rw-r--r--config.hs2
2 files changed, 9 insertions, 7 deletions
diff --git a/Propellor/Property/SiteSpecific/GitAnnexBuilder.hs b/Propellor/Property/SiteSpecific/GitAnnexBuilder.hs
index 48e10977..dedfc6d2 100644
--- a/Propellor/Property/SiteSpecific/GitAnnexBuilder.hs
+++ b/Propellor/Property/SiteSpecific/GitAnnexBuilder.hs
@@ -3,9 +3,10 @@ module Propellor.Property.SiteSpecific.GitAnnexBuilder where
import Propellor
import qualified Propellor.Property.Apt as Apt
import qualified Propellor.Property.User as User
+import qualified Propellor.Property.Cron as Cron
import Propellor.Property.Cron (CronTimes)
-type Arch = String
+import Data.Char
builduser :: UserName
builduser = "builder"
@@ -13,21 +14,22 @@ builduser = "builder"
builddir :: FilePath
builddir = "gitbuilder"
-builder :: Arch -> CronTimes -> Property
+builder :: Architecture -> CronTimes -> Property
builder arch crontimes = combineProperties "gitannexbuilder"
[ Apt.stdSourcesList Unstable
, Apt.buildDep ["git-annex"]
- , Apt.installed ["git", "rsync", "liblockfile-simple-perl", "cabal"]
+ , Apt.installed ["git", "rsync", "moreutils",
+ "liblockfile-simple-perl", "cabal"]
, serviceRunning "cron" `requires` Apt.installed ["cron"]
, User.accountFor builduser
, check (lacksdir builddir) $ userScriptProperty builduser
[ "git clone https://github.com/joeyh/gitbuilder/"
, "cd gitbuilder"
- , "git checkout " ++ arch
- , "git clone https://git-annex.branchable.com/ git-annex"
- , "echo '"++crontimes++" cd gitbuilder/autobuild' | crontab -"
+ , "git checkout " ++ map toLower (show arch)
+ , "git clone https://git-annex.branchable.com/ build"
]
`describe` "gitbuilder setup"
+ , Cron.niceJob "gitannexbuilder" crontimes builduser "~/gitbuilder" "./autobuild"
, check (lacksdir $ builddir </> "git-annex") $ userScriptProperty builduser
[ "cd gitbuilder"
, "git clone https://git-annex.branchable.com/ git-annex"
diff --git a/config.hs b/config.hs
index f61a01df..68732b8f 100644
--- a/config.hs
+++ b/config.hs
@@ -67,7 +67,7 @@ container _ "webserver" = Just $ Docker.containerFrom
]
container _ "git-annex-amd64-builder" = Just $ Docker.containerFrom
(image $ System (Debian Unstable) Amd64)
- [ Docker.inside [ GitAnnexBuilder.builder "amd64" "30 * * * *" ] ]
+ [ Docker.inside [ GitAnnexBuilder.builder Amd64 "15 * * * *" ] ]
container _ _ = Nothing
-- | Docker images I prefer to use.