This project tries to tie together Pagure with Jenkins. The goal is simple: every time a pull request is created or updated, trigger a build in Jenkins to verify the pull request does not break anything.
Pagure is really quite chatty: a lot of information is announced via Fedmsg. The Fedora Infrastructure instance of Jenkins also has a messaging plugin. Both services provide API to query more information from and to submit requests.
The setup is manual a rather long. Please refer to help in my deployed version.
You can run the service on your own if you so desire. Feel free to get a built
RPM for Fedora 23 from my COPR repo. You may need to set up fedmsg-hub
,
nginx
, gunicorn
and postgresql
as well.
To debug this monstrosity, I found journalctl -f -u fedmsg-hub.service
to be
extremely helpful.
A lot of the code is stolen from pdc-updater and the-new-hotness. Especially the packaging part.