From 71f07119fe289ac36c3f6d52da11fe93b15ac77b Mon Sep 17 00:00:00 2001 From: ph0zzy Date: Mar 05 2019 19:31:40 +0000 Subject: add wiki page for gating --- diff --git a/modules/ROOT/nav.adoc b/modules/ROOT/nav.adoc index 304fc85..eb1fbf5 100644 --- a/modules/ROOT/nav.adoc +++ b/modules/ROOT/nav.adoc @@ -1,5 +1,6 @@ * xref:quick-start-guide.adoc[Quick Start Guide] * xref:manifesto.adoc[Manifesto] +* xref:gating.adoc[Gating] * xref:standard-test-interface.adoc[Standard Test Interface] * xref:standard-test-roles.adoc[Standard Test Roles] * xref:examples.adoc[Examples] diff --git a/modules/ROOT/pages/gating.adoc b/modules/ROOT/pages/gating.adoc new file mode 100644 index 0000000..bae3de2 --- /dev/null +++ b/modules/ROOT/pages/gating.adoc @@ -0,0 +1,48 @@ +:toc: + += Gating = + +Gating of packages based on test results is currently enabled on demand. +If you want to turn the gating on for your component create a new file `gating.yaml` in the root of the package dist git directory with the following content: + + --- !Policy + product_versions: + - fedora-* + decision_context: bodhi_update_push_testing + rules: + - !PassingTestCaseRule {test_case_name: dist.depcheck} + +This will enable gating for all Fedora releases based on the result of the CI xref:pipeline.adoc[Pipeline]. +The `decision_context` is to be https://pagure.io/greenwave/issue/282[clarified]. +Rules define test cases that should be considered for the gating decision, in this case `dist.depcheck`. +Other tests which can be enabled for gating: + +* https://fedoraproject.org/wiki/Taskotron/Tasks/dist.rpmdeplint[dist.rpmdeplint] - to make sure the update's dependencies are available +* https://fedoraproject.org/wiki/Taskotron/Tasks/dist.abicheck[dist.abicheck] - to make sure the update's ABI remains stable in stable Fedora releases + +See Greenwave's https://docs.pagure.org/greenwave/package-specific-policies.html[Package-specific policies] for more technical details about setting the policy. + +== Waiving == + +If the failed test result is irrelevant you can waive it using the https://bodhi.fedoraproject.org[Bodhi web interface] or directly from the command line (coming soon with the 3.9.0 release). + + # List blocking test results + bodhi update waive --show + + # Specify which tests to waive via: + bodhi update waive --test="dist.rpmlint" --test="atomic-ci" "Comment explaining the waiver" + + # Waive all tests: + bodhi update waive --test=all "Comment explaining the waiver" + +While the web UI only allows to waive all tests, command line provides a way to select tests which should be waived. + +== Links == + +* https://pagure.io/greenwave[Greewave] ... service to evaluate gating policies based on test results +* https://pagure.io/taskotron/resultsdb[ResultsDB] ... results store engine +* https://pagure.io/waiverdb[WaiverDB] ... service for recording waivers against test results +* Greenwave's https://docs.pagure.org/greenwave/package-specific-policies.html[Package-specific policies] +* https://pagure.io/fesco/issue/1966[Allow turning on opt-in gating] issue +* https://github.com/fedora-infra/bodhi/pull/2468[Implement the possibility to waive missing requirements via bodhi-cli] +