Dear Fedora Infra,
it's time to close the CI feedback loop!
We have been working on adding CI to Fedora for a little while now but
this has not really had avisibleeffect since there are no consequences
whentests pass or fail.
In order to change this, we plan to enable gating in bodhi. Originally
this was meant to happen at flock already, but postponed until now due
to various issues we considered blockers - those have been resolved. The
change is fairly minor [3] and easy to undo if things do not work the
way we expect them.
Since DevConf is at the end of the month and we know people will be
traveling there (and some of the infra team will travel there the week
before), we propose Monday January 15th as target to enable gating in
bodhi. This gives us one week before travels start to get it working or
turn it back off if necessary.
The tests run by the Atomic CI pipeline are controlled directly by the
packager:
* Files in dist-git define which tests are run
What do you think?
Here is a small reminder of how the systems works:
* packager commit in dist-git
- the Atomic CI pipeline is triggered and run tests
* packager builds in koji
* packager creates an update in bodhi
- Taskotron is triggered and run tests on the build(s) and the update
* All test results go to resultsdb
* Bodhi queries greenwave
* Greenwave queries resultsdb
* Greenwave queries waiverdb
* based on the test results found in resultsdb and the waivers in
waiverdb,
greenwave makes a decision about allowing the update to go through
the gate
or not
* Based on greenwave's decision, bodhi allows (or not) the update to be
included
in the push to updates-testing or updates
Next steps:
* Packages will be tested in a non-Atomic context.
* Broadening to make this available to all packagers, not just ones in
Atomic.
* RATS [2] will enable retriggering.
* Further integration with Pagure and other Fedora services.
It is up to us (the community) to define the policy in greenwave[1] which
tests must pass to allow the update to go through the gate.
Happy to answer any questions or concerns you may have.
Dominik
IRC: #fedora-ci on freenode
https://pagure.io/fedora-ci/AtomicCi/
[1]
https://infrastructure.fedoraproject.org/cgit/ansible.git/tree/roles/open...
[2]
https://pagure.io/rats
[3]
``
diff --git a/ roles/bodhi2/base/templates/production.ini.j2 b/
roles/bodhi2/base/templates/production.ini.j2
index fc304dc56..ec3b24ef7 100644
--- a/roles/bodhi2/base/templates/production.ini.j2
+++ b/roles/bodhi2/base/templates/production.ini.j2
@@ -298,7 +298,7 @@ krb_keytab = /etc/krb5.bodhi_bodhi{{ env_suffix
}}.fedoraproject.org.keytab
# Set this to True to enable gating based on policies enforced by
Greenwave. If you set this to True,
# be sure to add a cron job to run the bodhi-check-policies CLI
periodically.
-test_gating.required = False
+test_gating.required = True
# If this is set to a URL, a "More information about test gating" link
will appear on update pages for users
# to click and learn more.
``