Author: donaldp
Date: Sat Oct 20 23:32:13 2012
New Revision: 1400531
URL: http://svn.apache.org/viewvc?rev=1400531&view=rev
Log:
Add some documentation around the CI nodes
Modified:
buildr/trunk/doc/contributing.textile
Modified: buildr/trunk/doc/contributing.textile
URL:
http://svn.apache.org/viewvc/buildr/trunk/doc/contributing.textile?rev=1400531&r1=1400530&r2=1400531&view=diff
==============================================================================
--- buildr/trunk/doc/contributing.textile (original)
+++ buildr/trunk/doc/contributing.textile Sat Oct 20 23:32:13 2012
@@ -242,6 +242,53 @@ The care and feeding of the "CI Jobs":ht
You may also need to coordinate with the Apache infrastructure team to get
accounts on the actual slave hosts that run the CI jobs. This access may be
required to install tools and gems required to run the CI jobs. The main slave
host to get access to is vesta.apache.org at the time of writing. You can also
log on to the slave host, impersonate hudson and manually run tasks when you
are attempting to track down build problems. Of course to impersonate hudson
you will need to learn how to use "OPIE.":http://apache.org/dev/freebsd-jails
+h3(#cilinux). Linux Setup
+
+The tests on the Linux hosts rely on "RVM":https://rvm.io/ to setup the ruby
environment. At the time of writing the Linux/x86 nodes that Apache uses for CI
are based of the old "Ubuntu 10.04.4 LTS (Lucid Lynx)" operating system. As it
is a relatively old operating system, it requires a little bit of manual
intervention to install RVM on the node. We have installed the required tools
on vesta.apache.org manually. The script looks something like;
+
+{% highlight sh %}
+ssh [email protected]
+sudo su - hudson
+
+curl -L https://get.rvm.io | bash -s stable
+rvm reload
+rvm pkg install readline
+rvm pkg install iconv
+rvm pkg install curl
+rvm pkg install openssl
+rvm pkg install zlib
+rvm pkg install autoconf
+rvm pkg install ncurses
+rvm pkg install pkgconfig
+rvm pkg install gettext
+rvm pkg install glib
+rvm pkg install mono
+rvm pkg install llvm
+rvm pkg install libxml2
+rvm pkg install libxslt
+rvm pkg install libyaml
+rvm install ruby-1.8.7-p358
+rvm install ruby-1.9.2-p320
+rvm install jruby-1.6.7
+rvm install ruby-1.9.3-p194
+{% endhighlight %}
+
+It should also be noted that jruby-1.6.7 release has a native library that is
compiled using a more modern version of libc than is available on this variant
of the operating system. We could download the source release and recompile the
library but instead we have just avoided the need for any use of the ruby
native interface library in our CI infrastructure.
+
+h3(#ciwindows). Windows Setup
+
+The ci infrastructure on the windows host (hudson-win.apache.org) is a little
fragile. First you need to RDP in and download the support libraries. We have
manually installed the tools in the following locations. Note: it is important
to make the locations read-write access to the hudson user.
+
+{% highlight sh %}
+F:\hudson\tools\Ruby193-p194
+F:\hudson\tools\Ruby192-p290
+F:\hudson\tools\Ruby187-p370
+F:\hudson\tools\jruby-1.6.7
+F:\hudson\tools\scala-2.9.0.1
+{% endhighlight %}
+
+WARNING: Several attempts were made to use GEM_HOME to install the dependent
gems for each test in a separate location but we were unable to figure out the
mechanisms via which sub-shells would inherit the paths and the ability to run
tools such as rspec.
+
h2(#contributors). Contributors
Here is the list of people who are actively working and committing on Buildr: