The main goal of mr.roboto is to make sure Plone's Jenkins CI test every single change made by Plone developers.
This way not only Plone contributors will be promptly notified (by Jenkins) that a change broke the tests, but at the same time, and most importantly, they will be able to know exactly what change broke the build.
To see the log that's being processed:
http://jenkins.plone.org/roboto/log?token=XXXXX
mr.roboto needs to get notified whenever a change has been made on a Plone core package, so it can take all the necessary actions to ensure our CI system gets notified, if needed, and runs tests for certain Plone versions.
For that, mr.roboto needs to add a hook to all Plone Github repositories.
At the same time it removes all previously installed hooks to be sure no cruft is left behind.
To do so, call this URL:
http://jenkins.plone.org/roboto/run/githubcommithooks?token=XXXXX
The hook installed on all Plone Github repositories notify this end-point whenever a change happens in them.
This way mr.roboto can make all the needed actions to ensure our CI setup is notified and runs the necessary jobs.
The URL that's being called is:
http://jenkins.plone.org/roboto/run/corecommit?token=XXXXX
For debugging purposes, knowing what exactly mr.roboto has in its sources and checkouts can be really useful.
http://jenkins.plone.org/roboto/sources.json
http://jenkins.plone.org/roboto/checkouts.json
Get an overview of which branch of each package is being used on any plone release.
http://jenkins.plone.org/roboto/branches
If there is something wrong with sources or checkouts, or they are empty (new deployment), you can force them to be created:
http://jenkins.plone.org/roboto/update-sources-and-checkouts?token=XXX
To test mr.roboto locally, do the following:
- rename
development.ini.sample
todevelopment.ini
and edit as needed run buildout:
virtualenv . source bin/activate bin/buildout
start pyramid:
bin/pserve development.ini --reload
- hack away!