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 and 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.