Skip to main content

Notice: This Wiki is now read only and edits are no longer possible. Please see: for the plan.

Jump to: navigation, search

Modeling Build Server Setup (Archived)

This document is a draft. It will change as this system is stabilized. Please contact Nick Boldt with any questions or comments.

Filesystem Configuration

The filesysstem is more restrictive on (shared build server) than on (per-project vserver), so configuration is simplified.

The shared directories where all the magic happens are under /opt/public/modeling/:

./public_html/ (website)
./modeling/ (symlink to public_html to resolve absolute paths)
./searchcvs/ (Search CVS)
./modeling-releng-common (common releng scripts)
./tmp/ (lockfiles)
./build/downloads/ (central storage for upstream dependencies' zips)
./build/requests/ (list of dependencies, used by build pages & crons)
./build/modeling/scripts (symlink to modeling-releng-common/tools/scripts/)
./build/modeling/mdt/... (components' build folders)

Note that because webservers do not resolve symlinks (for security purposes) build files are actually created inside public_html and symlinked from the ./build/modeling/mdt/... folders.

Starting Builds

A build can be started from its build page, eg., These pages are .htaccess protected.

Run a build

Executing Builds

Builds are queued to run by creating a lockfile in the filesystem. On a schedule, a cron script checks for the existence of lockfiles, and runs them. Once a build is completed, the lockfile is deleted. Using this system, only one build per project/component/version can be run at a time.

Verifying Builds

Builds can be verified using the online tools, eg., This page includes links to config files, map files, build logs, test logs & test results.

Downloads page, build in progress

Promoting Builds

Once a build has completed and has been verified, it needs to be promoted to for publication and mirroring. This can be done via the project's promote page, eg.,

Promote a build

Back to the top