[[!meta title="Continuous Integration Haiku Slave Setup"]] [[!meta author="Kyllikki"]] [[!meta date="2014-11-21T12:14:02Z"]] [[!toc]] install nightly x86 GCC 2 Hybrid (http://download.haiku-os.org/nightly-images/x86\_gcc2\_hybrid/) once installed enable sshd with `useradd sshd` default user is "user" set default password with passwd ` shutdown -r` restart system install build deps (possibly some already present) `pkgman install git curl_devel libpng_devel jpeg_devel openssl_devel libiconv_devel expat_devel gperf html_parser devel:libiconv_x86 devel:libssl_x86 devel:libexpat_x86 cmd:pkg_config_x86 ccache` ssh keys -------- create ssh keypair (accept defaults - no password) `ssh-keygen -t rsa -C "netsurf@cislave0.netsurf-browser.org"` copy /boot/home/config/settings/ssh/id\_rsa.pub from slave to jenkins master node and append to /home/netsurf/.ssh/authorized\_keys `scp /boot/home/config/settings/ssh/id_rsa.pub foo@ci.netsurf-browser.org:cislave3.id_rsa.pub` copy .ssh/id\_rsa.pub from master node to slave and append to /boot/home/config/settings/ssh/authorized\_keys `scp ci.netsurf-browser.org:.ssh/id_rsa.pub id_rsa.pub` `cat id_rsa.pub >> /boot/home/config/settings/ssh/authorized_keys` jenkins slave setup ------------------- install java\_x86 `pkgman install openjdk` edit shell profile /etc/profile.d/openjdk.sh `` JAVA_CONFIG=`which java-config || which java-config-x86` `` `` JAVA_HOME=`$JAVA_CONFIG -H` `` `export JAVA_HOME` create jenkins-slave.sh `#!/bin/bash` `# use gcc4 in preference to gcc2 as some libraries use c99 constructs` `export PATH=/system/bin/x86:$PATH` `nohup java -Djava.awt.headless=true -jar slave.jar -jnlpUrl `[`http://ci.netsurf-browser.org/jenkins/computer/cislave3/slave-agent.jnlp`](http://ci.netsurf-browser.org/jenkins/computer/cislave3/slave-agent.jnlp)` -secret 1234 >jenkins-slave.output &` copy the script to /boot/home/config/settings/boot/launch/ to make it start on boot system can be manually restarted with `shutdown -r` current issues -------------- As of 24th June 2014 we have some persistant kernel crashes on the active CI slave. Bugs are: