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
a visible effect since there are no consequences when tests 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.
[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.
``