This repository hosts CI code for fleet-commander.
Jenkins or its alternative is configured to run run.py
upon some trigger (like new commits or pull requests for fc-admin).
run.py
uses duffy to request 2 nodes. The first node will run a libvirt server, which is required for testing fc-admin features like live session
. The second node will run a docker server, which will be used to run the tests.
run.py
executes prepare-libvirt-node.sh
on the libvirt node, and prepare-docker-node.sh
on the docker node. These two scripts prepare both nodes into a functional state.
Then, prepare-docker-node.sh
executes docker-compose up
, which will run all the services specified in docker-compose.yml
. Typically, there will be one service per distribution or some specific "testing environment". Every docker service is configured to run some script in distro_tests
, and these scripts should handle the testing.
After the tests, every script can (and should) report their success/fail state to paste.fedoraproject.org
. This can be done with sticky_notes.py
.
docker-compose.yml
contains configuration for the images that will be run. Edit the relevant scripts in distro_tests
to change the tests. Don't forget to report your status to paste.fedoraproject.org
(you can use sticky_notes.py
for that, or just use the API manually).