Package Building Cluster

Releases

The build will be done via a crontab: Every monday 1 am UTC a script will be run. This script will first:

poudriere ports -u

Then for each jails a configuration file it will run:

poudriere bulk -j nameofthejail -a

if the jail is named 'head' then the command will be

poudriere bulk -j head -ac

The above script should do it:

   1 #!/bin/sh
   2 
   3 export PATH=${PATH}:/usr/local/bin
   4 
   5 /usr/local/bin/poudriere ports -u > /usr/local/poudriere/data/logs/bulk/raw-ports.log 2>&1 
   6 for j in `grep -h -v -E '(^[[:space:]]*#|^[[:space:]]*$)' /usr/local/etc/poudriere.d/release-building`; do
   7         unset extraargs
   8         [ $j = "head" ] && extraargs="-c"
   9         /usr/local/bin/poudriere bulk -j $j -a ${extraargs} > /usr/local/poudriere/data/logs/bulk/raw-$j.log 2>&1
  10 done

All packages are built incrementally, head packages will always be rebuilt from scratch (to prevent ABI breakage)

A pkg-fallout@ (better name needed :)) will be created, and all the build failures will be sent to that mailing list so committers can pick up what they do need.

A post bulk hook will be created, it will run the byte-sync script each time a new set is ready

Q/A

We need 2 more beefy like boxes, they will have the exact same setup as beefy1 and beefy2 but will never publish packages The main difference is that they will weekly build the packages with -t and send failure log via mail to pkg-fallout@

portmgr/PackageBuilding (last edited 2013-07-12 09:27:23 by BaptisteDaroussin)