[BUILDBOT]

Instead of distinguishing between regular Buildslaves and Patchbots, let's make all Buildslaves accept patches if you enter something in the ID field.
This also highly simplifies my README file :)

Thanks to Hermès for the idea!

svn path=/trunk/buildbot/; revision=2189
This commit is contained in:
Colin Finck 2015-02-26 23:13:12 +00:00
parent f7cfc519b6
commit ad2917fe98
4 changed files with 41 additions and 30 deletions

View File

@ -1,32 +1,35 @@
ReactOS BuildBot Build Scripts for Linux
========================================
ReactOS BuildBot Build Scripts
==============================
These scripts can be used for the following types of Buildslaves:
Some possible usage scenarios for these scripts:
* Plainbot: Can build, in any combination, Boot-CDs, Live-CDs, Test-CDs, trigger Testbots for testing them and upload the created ISO files
* Testbot: Triggered by a Plainbot, performs regression testing on a Test-CD and submits the results
* Patchbot: Applies a patch, builds a Test-CD, performs regression-testing and submits the results
* Plainbot: Builds a Boot-CD, Live-CD, Test-CD, triggers a Testbot for testing it and uploads the created ISO file.
If a patch ID is given, the patch is applied first, but the build is not uploaded.
* Testbot: Triggered by a Plainbot, performs regression testing on a Test-CD and submits the results.
Generally, this one is implemented as an independent builder to not block the Plainbot doing its other tasks. But its steps can also be integrated inside a Plainbot.
Add the following steps in this order to the Buildmaster's master.cfg depending on what type of Buildslave you want to set up:
Add the following steps in this order to the Buildmaster's master.cfg depending on what type of Buildslave you want to set up.
If your Buildslave is more specific, you may as well leave out some steps.
Step | Plainbot | Testbot | Patchbot |
------------------------------------------------------------------------
clean YES YES
revert YES
source.SVN update for trunk/reactos YES YES
source.SVN update for trunk/rostests OPTIONAL YES
patching YES
configure (or configure_msvc) YES YES
build_host_tools YES YES
build_reactos bootcd OPTIONAL
build_reactos livecd OPTIONAL
regtestcd OPTIONAL YES
Trigger Testbot OPTIONAL
vmware_clean YES YES (when using sysreg with VMware)
regtest YES YES
submit_result YES YES
uploadiso OPTIONAL
Step | Plainbot | Testbot
-----------------------------------------------------------
clean *
revert *
source.SVN update for trunk/reactos *
source.SVN update for trunk/rostests *
patching *
configure / configure_msvc *
build_host_tools *
build_reactos bootcd *
build_reactos livecd *
regtestcd *
Trigger Testbot *
vbox_clean / vmware_clean *
regtest *
submit_result *
uploadiso *
Configuration files
@ -44,4 +47,4 @@ Testing these scripts
---------------------
You can easily test these scripts as follows:
* Move to /srv/buildbot/buildername/build
* Run "sudo -u buildbot ../../SCRIPTNAME"
* Run "sudo -u buildbot ../../SCRIPTNAME"

View File

@ -1,8 +1,8 @@
#!/bin/bash
# ReactOS BuildBot Build Scripts for Linux
# patching - Patch the tree with the given JIRA attachment ID to the patch file.
# ReactOS BuildBot Build Scripts
# patching - Patch the tree with the given JIRA attachment ID of the patch file.
#
# Parameter $1 - Attachment ID
# Parameter $1 - Attachment ID of the patch file
clean_exit()
{

View File

@ -1,8 +1,10 @@
#!/bin/bash
# ReactOS BuildBot Build Scripts for Linux
# ReactOS BuildBot Build Scripts
# submit_result - Call Testman's BuildBot Aggregator script to collect the regression-testing output by sysreg.
#
# Parameter $1 - BuildBot Build number of the ReactOS build that has been tested.
# Parameter $2 - Attachment ID of the patch file (this parameter can be evaluated as $ATTACHMENT_ID inside config.inc to set different sourceids for regular and patched builds)
ATTACHMENT_ID=$2
source ../../config.inc
if [ "$1" = "" ]; then
@ -19,4 +21,4 @@ if [ "$TESTMAN_OUT" != "OK" ]; then
exit 1
fi
exit 0
exit 0

View File

@ -3,6 +3,7 @@
# uploadiso - Publish the created Boot-CD and Live-CD on iso.reactos.org in compressed files.
#
# Parameter $1 - SVN Revision number of the build
# Parameter $2 - Attachment ID of the patch file (if this parameter is given, no ISO will be uploaded)
source ../../config.inc
# Some config for accessing iso.reactos.org, but common to all builders
@ -19,6 +20,11 @@ if [ "$1" = "" ]; then
exit 1
fi
if [ "$2" != "" ]; then
echo "* This is a patched build, so nothing to upload!"
exit 0
fi
BOOTCD=0
if [ -f "$ROS_OUTPUT/reactos/bootcd.iso" ]; then
BOOTCD=1