A framework to for automatically rebuilding, testing, and releasing products whenever their components change.
It contains a backend daemon that listens to fedmsg and queries PDC to determine if any artifacts are affected by a change.
The goal is to then trigger the appropriate rebuilds of these products, automate signing, facilitate testing, and handle syncing bits out to the world once everything passes.
Set up a python virtualenv:
$ sudo dnf -y install python-virtualenvwrapper $ source ~/.bashrc $ mkvirtualenv outhouse
Setup outhouse and its dependencies:
$ workon outhouse $ pip install -r requirements.txt $ python setup.py develop
Try running the test suite:
$ pip install -r test-requirements.txt $ nosetests
Check test suite coverage:
$ pip install coverage $ nosetests --with-coverage --cover-package=outhouse
...from https://pdc.fedoraproject.org/
-H 'Accept: application/json'
, to tell the API you want dataCopy fedmsg.d/outhouse-example.py
to fedmsg.d/outhouse.py
and fill
in your token there.
Run it for real:
$ fedmsg-hub
Finally, you can take the dev instructions from the-new-hotness and learn how to set up a local fedmsg-relay so you can replay production messages and more fully test out outhouse.
A fake bodhi update can then be sent to test the consumer by running:
echo '{"update": {"builds": [{"nvr": "kernel-4.3.4-200.fc24"}], "release": {"long_name": "Fedora 24"}}}' | fedmsg-logger --modname bodhi --topic update.complete.stable --json-input