@@ -10,7 +10,7 @@ from pathlib import Path
1010from twisted .internet import defer
1111from twisted .python import log
1212
13- from buildbot .process .results import SUCCESS , SKIPPED
13+ from buildbot .process .results import SUCCESS
1414from buildbot .plugins import util , secrets , reporters , worker , schedulers
1515from buildbot .plugins import steps
1616
@@ -129,13 +129,19 @@ c['schedulers'].append(schedulers.ForceScheduler(
129129
130130# ###### BUILDERS
131131
132- distdir = lambda f : util .Interpolate (f'/workdir/%(prop:name)s/void-packages/{ f } ' )
133- bulkdir = lambda f : util .Interpolate (f'/workdir/%(prop:name)s/xbps-bulk/{ f } ' )
132+ def distdir (f ):
133+ return util .Interpolate (f'/workdir/%(prop:name)s/void-packages/{ f } ' )
134+
135+ def bulkdir (f ):
136+ return util .Interpolate (f'/workdir/%(prop:name)s/xbps-bulk/{ f } ' )
137+
134138hostdir = '/hostdir'
135- buildroot = lambda : util .Interpolate (f'/buildroots/%(prop:name)s/buildroot' )
136- builddir = lambda : util .Interpolate ('builddir-%(prop:buildnumber)s' )
137- do_sync = lambda : util .Interpolate ('%(prop:sync)s' ) == "True"
138- hide_skipped = lambda results , _ : results == SKIPPED
139+
140+ def buildroot ():
141+ return util .Interpolate ('/buildroots/%(prop:name)s/buildroot' )
142+
143+ def builddir ():
144+ return util .Interpolate ('builddir-%(prop:buildnumber)s' )
139145
140146
141147factory = util .BuildFactory ()
@@ -229,32 +235,21 @@ def build_packages(props):
229235 return cmds
230236
231237
232- @util .renderer
233- def make_prune_cmd (props ):
234- return ['bash' , '-c' ,
235- util .Interpolate (f"""
236- export XBPS_TARGET_ARCH="%(prop:target)s"
237- for repo in / /debug /nonfree /bootstrap; do
238- xbps-rindex -r "{ hostdir } /binpkgs/$repo"
239- done
240- if [ "$XBPS_TARGET_ARCH" = i686 ]; then
241- for repo in /multilib /multilib/nonfree /multilib/bootstrap; do
242- XBPS_TARGET_ARCH=x86_64 xbps-rindex -r "{ hostdir } /binpkgs/$repo"
243- done
244- fi
245- """ )]
246-
247238@util .renderer
248239def make_rsync_cmd (props ):
249- return ['bash' , '-c' ,
240+ return ['bash' , '-e' , '- c' ,
250241 util .Interpolate ("""
242+ echo "=> Syncing packages to the shadow repository..."
251243rsync -vurk --delete-after --delay-updates \
252244 --filter='+ */' --filter='+ %(prop:target)s-repodata' --filter='+ *.%(prop:target)s.xbps' \
253245 --filter='+ otime' --filter='- .*' --filter='- *' \
254246 --password-file=/secrets/rsync/password /hostdir/binpkgs/ \
255247 {{ range nomadService 1 $allocID "build-rsyncd" -}}
256- rsync://buildsync-%(prop:worker)s@{{ .Address }}:{{ .Port }}/%(prop:worker)s
257- {{ end -}}""" )]
248+ rsync://buildsync@{{ .Address }}:{{ .Port }}/incoming-%(prop:target)s
249+ {{ end -}}
250+ echo "=> Cleaning built packages..."
251+ find /hostdir/binpkgs -name '*.xbps' -o -name '*-repodata' -print -delete
252+ """ )]
258253
259254
260255factory .addStep (GitWithDiff (
@@ -350,18 +345,6 @@ factory.addStep(steps.ShellSequence(
350345 timeout = 14400 ,
351346))
352347
353- factory .addStep (steps .ShellCommand (
354- command = make_prune_cmd ,
355- name = 'prune_packages' ,
356- description = 'removing obsolete packages' ,
357- descriptionDone = 'removed obsolete packages' ,
358- haltOnFailure = True ,
359- logEnviron = False ,
360- usePTY = True ,
361- workdir = '.' ,
362- timeout = 14400 ,
363- ))
364-
365348factory .addStep (steps .ShellCommand (
366349 command = make_rsync_cmd ,
367350 name = 'sync_packages' ,
@@ -371,8 +354,6 @@ factory.addStep(steps.ShellCommand(
371354 logEnviron = False ,
372355 usePTY = True ,
373356 workdir = '.' ,
374- doStepIf = do_sync (),
375- hideStepIf = hide_skipped ,
376357 timeout = 14400 ,
377358 decodeRC = {
378359 0 : SUCCESS ,
@@ -393,7 +374,6 @@ for b in builders:
393374 'target' : targetarch ,
394375 'cross' : str (hostarch != targetarch ),
395376 'worker' : b ['worker' ],
396- 'sync' : str (b ['sync' ]),
397377 'bootstrap_args' : b .get ('bootstrap_args' , '-N' ),
398378 }
399379
0 commit comments