From 987793088141ebffef885be349e260672bbc40c3 Mon Sep 17 00:00:00 2001 From: Karen Arutyunov Date: Fri, 19 Apr 2024 20:58:08 +0300 Subject: Add support for build-bot manifest value overrides in bdep-ci --- bdep/ci.cli | 41 ++++++++++++++++++++++++++--------------- 1 file changed, 26 insertions(+), 15 deletions(-) (limited to 'bdep/ci.cli') diff --git a/bdep/ci.cli b/bdep/ci.cli index 77d29cd..65ae252 100644 --- a/bdep/ci.cli +++ b/bdep/ci.cli @@ -90,21 +90,24 @@ namespace bdep \ build-email build-{warning,error}-email builds build-{include,exclude} + build-bot *-builds *-build-{include,exclude} + *-build-bot *-build-config *-build-email *-build-{warning,error}-email [*-]build-auxiliary[-*] \ - For the package configuration-specific build constraint, email, and - auxiliary overrides, the corresponding configuration must exist in the - package manifest. In contrast, the package configuration override - (\cb{*-build-config}) adds a new configuration if it doesn't exist and - updates the arguments of the existing configuration otherwise. In the - former case, all the potential build constraint, email, and auxiliary - overrides for such a newly added configuration must follow the - corresponding \cb{*-build-config} override. + For the package configuration-specific build constraint, email, + auxiliary, and custom bot public key overrides, the corresponding + configuration must exist in the package manifest. In contrast, the + package configuration override (\cb{*-build-config}) adds a new + configuration if it doesn't exist and updates the arguments of the + existing configuration otherwise. In the former case, all the potential + build constraint, email, auxiliary, and custom bot public key overrides + for such a newly added configuration must follow the corresponding + \cb{*-build-config} override. Note that the build constraints group values (both common and build package configuration-specific) are overridden hierarchically so that the @@ -119,13 +122,21 @@ namespace bdep build constraints are reset to \cb{builds:\ none}. Similar to the build constraints groups, the common and build package - configuration-specific build emails group value overrides are mutually - exclusive. If the common build emails are overridden, then all the - configuration-specific emails are removed. Otherwise, if any - configuration-specific emails are overridden, then for the remaining - configurations the build emails are reset to the empty values and the - build warning and error emails are removed (which effectively disables - email notifications for such configurations). + configuration-specific custom bot public key value overrides are mutually + exclusive. If the common build custom bot public keys are overridden, + then all the configuration-specific custom bot public keys are removed. + Otherwise, if any configuration-specific custom bot public keys are + overridden, then for the remaining configurations the custom bot public + keys are left unchanged. + + Similar to the above, the common and build package configuration-specific + build emails group value overrides are mutually exclusive. If the common + build emails are overridden, then all the configuration-specific emails + are removed. Otherwise, if any configuration-specific emails are + overridden, then for the remaining configurations the build emails are + reset to the empty values and the build warning and error emails are + removed (which effectively disables email notifications for such + configurations). If supported by the CI service, a package can be tested interactively in a specific build configuration using the \c{\b{--interactive}|\b{-i}} -- cgit v1.1