CCL Home Software Community Operations |
How to Run AutobuildTo run Autobuild, you should probably be using a campus machine. Autobuild requires the use of Git and Condor to function. Why do you want to run Autobuild as yourself? After all, Autobuild runs automatically (hence the name) for the master branch and for pull requests. The best reason to run Autobuild as yourself is so that you don't spam the whole team (via CCTOOLS-BUILD@listserv.nd.edu) when debugging a branch or build. Instead, you can run Autobuild yourself so that it emails only you. When you're satisified that your branch is ready to be public, then you push it to GitHub. However, don't let the stop you from making or updating a PR with finished work on a branch. Autobuild is there to find build/test bugs for you. But please keep spam in mind if you're trying to fix something. Clone Autobuild from GitHubIn your home directory, clone Autobuild: git clone git@github.com:cooperative-computing-lab/autobuild.git
You must have ssh keys setup on GitHub and be a member of ccl-team. Setup Run ScriptsIn your .bashrc file: function run {
printf '%s\n' "$*" > /dev/tty
"$@"
}
function auto {
run ~/autobuild/autobuild \
--build-dir .git/autobuild/ \
--build-url "file://$(pwd)/.git/autobuild/" \
--docker \
--gc \
--git-dir .git \
--verbose \
"$@"
}
function autohead {
auto "$@" -- HEAD
}
Or you can setup equivalent shell scripts: ~/bin/auto#!/bin/sh
run() {
printf '%s\n' "$*" > /dev/tty
"$@"
}
run ~/autobuild/autobuild \
--build-dir .git/autobuild/ \
--build-url "file://$(pwd)/.git/autobuild/" \
--docker \
--gc \
--git-dir .git \
--verbose \
"$@"
~/bin/autohead
#!/bin/sh
auto "$@" -- HEAD
Running AutobuildNow you should be able to run Autobuild yourself: pdonnel3@ccl12 ~/cctools$ pwd
/afs/nd.edu/user31/pdonnel3/cctools
pdonnel3@ccl12 ~/cctools$ ls .git
branches COMMIT_EDITMSG config description FETCH_HEAD HEAD hooks index info logs objects ORIG_HEAD packed-refs refs
pdonnel3@ccl12 ~/cctools$ auto HEAD
/afs/nd.edu/user31/pdonnel3/autobuild/autobuild --build-dir .git/autobuild/ --build-url file:///afs/nd.edu/user31/pdonnel3/cctools/.git/autobuild/ --gc --git-dir .git --verbose HEAD
[Fri May 22 11:37:18 EDT 2015] /afs/nd.edu/user37/ccl/software/external/git/bin/git rev-list --no-walk HEAD
Building:
[Fri May 22 11:37:18 EDT 2015] /afs/nd.edu/user37/ccl/software/external/git/bin/git --no-pager log --name-status c975d7839225404b59c4b87fca523546fbac5ea7^!
[...]
pdonnel3@ccl12 ~/cctools$ ls .git/autobuild/
c975d783
The directory .git/autobuild/ contains all of the build output files. Old builds are automatically garbage collected whenever you run autobuild (with --gc). |