Buildbot Setup¶
Buildbot Master Setup¶
Install Debian Packages¶
sudo apt install libffi-dev libssl-dev
It is very likely that some dependencies are missing here. If you find one, please add it.
Buildbot Master Virtualenv Setup¶
sudo su - buildbot-polyjit -s /bin/bash
python3 -m venv master-env
source ./master-env/bin/activate
python3 -m pip install setuptools
python3 -m pip install buildbot buildbot-console-view buildbot-slave buildbot-waterfall-view buildbot-www
python3 -m pip install pyOpenSSL pyasn1 pyasn1-modules service-identity
cd <buildbot-polyjit-repo>
python3 -m pip install --upgrade -e .
buildbot upgrade-master <basedir> # 'master' in our case
Workaround for Buildbot Bug¶
In the file master-env/lib/python3.5/site-packages/buildbot/www/auth.py, insert the following line after line 129:
session.user_info = {k: bytes2unicode(v) for k, v in session.user_info.items()}
Buildbot Worker Setup¶
Create a Static ClangFormat Binary¶
# clone necessary repositories
git clone https://git.llvm.org/git/llvm.git/
cd llvm/tools
git clone https://git.llvm.org/git/clang.git/
cd clang/tools
git clone https://git.llvm.org/git/clang-tools-extra.git extra
# compile clang-format
cd ../../..
mkdir build
cd build
cmake .. -G Ninja -DCMAKE_BUILD_TYPE=MinSizeRel -DLLVM_TARGETS_TO_BUILD=X86 -DLLVM_BUILD_STATIC=true -DLLVM_ENABLE_Z3_SOLVER=OFF
ninja clang-format
# static clang-format binary is located at bin/clang-format
Create Virtualenv¶
python3 -m venv /path/to/buildbot-worker-venv
source /path/to/buildbot-worker-venv/bin/activate
python3 -m pip install buildbot[bundle]
## Create Buildbot Worker
TODO