Buildbot and Cairo
Cairo on Buildbot
Automate Cairo builds with testing suites on Buildbot. Automate Cairo builds with buildbot, and add in support for running test suites with buildbot.
NOTE: only Project Leader(s) should add names here. You can’t add your own name to the Contributor list.
Where will I put code and screenshots?
- http://svn2.assembla.com/svn/Seneca_Hera_Try_Server_Setup/buildbot-configs/ - Buildbot configs (look for "cairo")
- http://matrix.senecac.on.ca/%7Eazambran/mozilla/cairo/ - Archived files
- http://matrix.senecac.on.ca/%7Eazambran/mozilla/screenshots/ - Screenshots (look for "cairo" in the filenames)
What has been released this week:
- master.cfg - It builds Cairo and runs automated tests on one linux machine
- buildbot-status-cairo.jpg - After build #8 (no tests at this point)
- Buildbot:Cairo-results.tar.gz - After build #11 (tests were run)
Steps to meet requirements
- sudo apt-get install buildbot
- sudo apt-get install git-core //This is to get the version control that cairo uses, it is called GIT
Steps to make it happen
|Build Cairo manually||Manually build Cairo||Med||armenzg||Done||Blog: Building Cairo|
|Buildbot and Cairo on Linux||Build on my laptop Cairo and run tests; Missing perf tests||High||armenzg||Done||15 Feb||Blog: Buildbot with Cairo|
|Fix GIT and SUDO issue||* Fixed by delete checked out source code and ./configure --prefix||High||armenzg||Fixed||15 Feb|
|Write the steps for Mac||Med|
|Run the "performance" steps||Med|
|Find out how to use PKG_CONFIG_PATH||Med|
|Build upon source changes in the GIT repository||Med|
|Try to use the GIT source class that buildbot has||Med|
|Package results and make them available||Pass the results of "make test" and "make html" to the master and allow to download them||Med|
|Write a CSS file for the waterfall view||Med|
|Email notifications? IRC notifications?||Med|
The first time the command GIT CLONE works because there is nothing before that execution but the second run should be an update instead of a checkout. What could be the proper GIT command to have as the step?
I have decided to remove the checked out code and checkout the trunk before each build
I need to do SUDO MAKE INSTALL, but this requires user's input which breaks the automated concept. What could be the right step?
Used ./configure --prefix=/path/to/somewhere to avoid building somewhere where I require to have sudo privileges
- Feb 16 2008 - Updated Cairo project page and first proper release
- Feb 11 2008 - Steps are written but some issues have to fixed
- Jan 19 2008 - Project Proposal from Vladimir Vukicevic.
These notes are for learning purposes and documentation
Build Cairo manually
- mkdir cairo & cd cairo
- git clone git://git.cairographics.org/git/pixman
- git clone git://git.cairographics.org/git/cairo
- cd pixman && ./autogen.sh
- make install //I have a problem can I set up buildbot to use SUDO??
make: Entering directory `/home/armen/sandbox/cairo2/pixman/pixman' test -z "/usr/local/lib" || /bin/mkdir -p "/usr/local/lib" /bin/bash ../libtool --mode=install /usr/bin/install -c 'libpixman-1.la' '/usr/local/lib/libpixman-1.la' /usr/bin/install -c .libs/libpixman-1.so.0.9.6 /usr/local/lib/libpixman-1.so.0.9.6 /usr/bin/install: cannot remove `/usr/local/lib/libpixman-1.so.0.9.6': Permission denied make: *** [install-libLTLIBRARIES] Error 1
- sudo make install //I had to use SUDO
- whereis libpixman-1
- cd ../cairo && ./autogen.sh
- make install //the same problem with SUDO
make: Entering directory `/home/armen/sandbox/cairo2/cairo/src' test -z "/usr/local/lib" || /bin/mkdir -p "/usr/local/lib" /bin/bash ../libtool --mode=install /usr/bin/install -c 'libcairo.la' '/usr/local/lib/libcairo.la' /usr/bin/install -c .libs/libcairo.so.2.14.0 /usr/local/lib/libcairo.so.2.14.0 /usr/bin/install: cannot create regular file `/usr/local/lib/libcairo.so.2.14.0': Permission denied
- sudo make install
Running the tests and getting an index.html file with them
- make test //takes long time
- cd test && make html
- firefox index.html