Add new greenwave policy for critical path updates

This adds a new Greenwave policy requiring all openQA update
tests to pass for an update to be pushed to testing or stable.
It's intended to be queried by Bodhi only for critical path
updates (as openQA does not test non-critpath updates ATM).

Signed-off-by: Adam Williamson <awilliam@redhat.com>
This commit is contained in:
Adam Williamson 2021-01-12 14:13:03 -08:00 committed by kevin
parent e66773cd31
commit bb513f59d9

View file

@ -39,7 +39,9 @@ product_versions:
- fedora-*
decision_contexts:
- bodhi_update_push_testing
- bodhi_update_push_testing_critpath
- bodhi_update_push_stable
- bodhi_update_push_stable_critpath
subject_type: koji_build
rules: []
@ -49,7 +51,9 @@ product_versions:
- fedora-*
decision_contexts:
- bodhi_update_push_testing
- bodhi_update_push_testing_critpath
- bodhi_update_push_stable
- bodhi_update_push_stable_critpath
subject_type: bodhi_update
rules: []
@ -67,11 +71,81 @@ product_versions:
- fedora-32
decision_contexts:
- bodhi_update_push_testing
- bodhi_update_push_testing_critpath
- bodhi_update_push_stable
- bodhi_update_push_stable_critpath
subject_type: koji_build
rules:
- !RemoteRule {}
# For critical path updates, we require passes for all openQA update tests
--- !Policy
id: "bodhiupdate_bodhipush_openqa"
product_versions:
# this should cover us for a while...
- fedora-3*
- fedora-4*
- fedora-5*
- fedora-6*
- fedora-7*
- fedora-8*
- fedora-9*
decision_contexts:
- bodhi_update_push_testing_critpath
- bodhi_update_push_stable_critpath
subject_type: bodhi_update
rules:
# This list needs to stay synced with openQA if tests are added or renamed.
- !PassingTestCaseRule {test_case_name: update.install_default_update_netinst, scenario: "fedora.updates-everything-boot-iso.x86_64.64bit"}
- !PassingTestCaseRule {test_case_name: update.install_default_update_netinst, scenario: "fedora.updates-everything-boot-iso.x86_64.uefi"}
- !PassingTestCaseRule {test_case_name: update.installer_build, scenario: "fedora.updates-everything-boot-iso.x86_64.64bit"}
- !PassingTestCaseRule {test_case_name: update.base_reboot_unmount, scenario: "fedora.updates-kde.x86_64.64bit"}
- !PassingTestCaseRule {test_case_name: update.base_selinux, scenario: "fedora.updates-kde.x86_64.64bit"}
- !PassingTestCaseRule {test_case_name: update.base_service_manipulation, scenario: "fedora.updates-kde.x86_64.64bit"}
- !PassingTestCaseRule {test_case_name: update.base_services_start, scenario: "fedora.updates-kde.x86_64.64bit"}
- !PassingTestCaseRule {test_case_name: update.base_system_logging, scenario: "fedora.updates-kde.x86_64.64bit"}
- !PassingTestCaseRule {test_case_name: update.base_update_cli, scenario: "fedora.updates-kde.x86_64.64bit"}
- !PassingTestCaseRule {test_case_name: update.desktop_background, scenario: "fedora.updates-kde.x86_64.64bit"}
- !PassingTestCaseRule {test_case_name: update.desktop_browser, scenario: "fedora.updates-kde.x86_64.64bit"}
- !PassingTestCaseRule {test_case_name: update.desktop_printing, scenario: "fedora.updates-kde.x86_64.64bit"}
- !PassingTestCaseRule {test_case_name: update.desktop_terminal, scenario: "fedora.updates-kde.x86_64.64bit"}
- !PassingTestCaseRule {test_case_name: update.desktop_update_graphical, scenario: "fedora.updates-kde.x86_64.64bit"}
- !PassingTestCaseRule {test_case_name: update.advisory_boot, scenario: "fedora.updates-server.x86_64.64bit"}
- !PassingTestCaseRule {test_case_name: update.base_reboot_unmount, scenario: "fedora.updates-server.x86_64.64bit"}
- !PassingTestCaseRule {test_case_name: update.base_selinux, scenario: "fedora.updates-server.x86_64.64bit"}
- !PassingTestCaseRule {test_case_name: update.base_service_manipulation, scenario: "fedora.updates-server.x86_64.64bit"}
- !PassingTestCaseRule {test_case_name: update.base_services_start, scenario: "fedora.updates-server.x86_64.64bit"}
- !PassingTestCaseRule {test_case_name: update.base_system_logging, scenario: "fedora.updates-server.x86_64.64bit"}
- !PassingTestCaseRule {test_case_name: update.base_update_cli, scenario: "fedora.updates-server.x86_64.64bit"}
- !PassingTestCaseRule {test_case_name: update.realmd_join_cockpit, scenario: "fedora.updates-server.x86_64.64bit"}
- !PassingTestCaseRule {test_case_name: update.realmd_join_sssd, scenario: "fedora.updates-server.x86_64.64bit"}
- !PassingTestCaseRule {test_case_name: update.server_cockpit_basic, scenario: "fedora.updates-server.x86_64.64bit"}
- !PassingTestCaseRule {test_case_name: update.server_cockpit_default, scenario: "fedora.updates-server.x86_64.64bit"}
- !PassingTestCaseRule {test_case_name: update.server_cockpit_updates, scenario: "fedora.updates-server.x86_64.64bit"}
- !PassingTestCaseRule {test_case_name: update.server_database_client, scenario: "fedora.updates-server.x86_64.64bit"}
- !PassingTestCaseRule {test_case_name: update.server_firewall_default, scenario: "fedora.updates-server.x86_64.64bit"}
- !PassingTestCaseRule {test_case_name: update.server_freeipa_replication_client, scenario: "fedora.updates-server.x86_64.64bit"}
- !PassingTestCaseRule {test_case_name: update.server_freeipa_replication_master, scenario: "fedora.updates-server.x86_64.64bit"}
- !PassingTestCaseRule {test_case_name: update.server_freeipa_replication_replica, scenario: "fedora.updates-server.x86_64.64bit"}
- !PassingTestCaseRule {test_case_name: update.server_remote_logging_client, scenario: "fedora.updates-server.x86_64.64bit"}
- !PassingTestCaseRule {test_case_name: update.server_remote_logging_server, scenario: "fedora.updates-server.x86_64.64bit"}
- !PassingTestCaseRule {test_case_name: update.server_role_deploy_database_server, scenario: "fedora.updates-server.x86_64.64bit"}
- !PassingTestCaseRule {test_case_name: update.server_role_deploy_domain_controller, scenario: "fedora.updates-server.x86_64.64bit"}
- !PassingTestCaseRule {test_case_name: update.base_reboot_unmount, scenario: "fedora.updates-workstation.x86_64.64bit"}
- !PassingTestCaseRule {test_case_name: update.base_selinux, scenario: "fedora.updates-workstation.x86_64.64bit"}
- !PassingTestCaseRule {test_case_name: update.base_service_manipulation, scenario: "fedora.updates-workstation.x86_64.64bit"}
- !PassingTestCaseRule {test_case_name: update.base_services_start, scenario: "fedora.updates-workstation.x86_64.64bit"}
- !PassingTestCaseRule {test_case_name: update.base_system_logging, scenario: "fedora.updates-workstation.x86_64.64bit"}
- !PassingTestCaseRule {test_case_name: update.base_update_cli, scenario: "fedora.updates-workstation.x86_64.64bit"}
- !PassingTestCaseRule {test_case_name: update.desktop_background, scenario: "fedora.updates-workstation.x86_64.64bit"}
- !PassingTestCaseRule {test_case_name: update.desktop_browser, scenario: "fedora.updates-workstation.x86_64.64bit"}
- !PassingTestCaseRule {test_case_name: update.desktop_printing, scenario: "fedora.updates-workstation.x86_64.64bit"}
- !PassingTestCaseRule {test_case_name: update.desktop_terminal, scenario: "fedora.updates-workstation.x86_64.64bit"}
- !PassingTestCaseRule {test_case_name: update.desktop_update_graphical, scenario: "fedora.updates-workstation.x86_64.64bit"}
- !PassingTestCaseRule {test_case_name: update.install_default_update_live, scenario: "fedora.updates-workstation-live-iso.x86_64.64bit"}
- !PassingTestCaseRule {test_case_name: update.install_default_update_live, scenario: "fedora.updates-workstation-live-iso.x86_64.uefi"}
- !PassingTestCaseRule {test_case_name: update.live_build, scenario: "fedora.updates-workstation-live-iso.x86_64.64bit"}
# This policy lists tests that are expected to pass for a Rawhide compose to
# meet the basic release criteria.
--- !Policy