summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xjjb/xci/xci-set-scenario.sh40
1 files changed, 40 insertions, 0 deletions
diff --git a/jjb/xci/xci-set-scenario.sh b/jjb/xci/xci-set-scenario.sh
index 59c1ebf6e..2c35f2780 100755
--- a/jjb/xci/xci-set-scenario.sh
+++ b/jjb/xci/xci-set-scenario.sh
@@ -153,6 +153,45 @@ function determine_scenario() {
SCENARIO_SHA=$(cd $WORK_DIRECTORY/$GERRIT_PROJECT && git rev-parse HEAD)
}
+# This function allows developers to specify the specific XCI flavor for the
+# impacted scenario by adding the XCI Flavor info about the specific scenario.
+# This results in either skipping the real verification
+# totally or skipping the determining the installer and scenario programmatically.
+# It is important to note that this feature is only available to generic scenarios
+# and only single installer/scenario pair is allowed.
+# The input in commit message should be placed at the end of the commit message body,
+# before the signed-off and change-id lines.
+#
+# Pattern to be searched in Commit Message
+# xci-flavor:<xci-flavor>
+# Examples:
+# xci-flavor:noha
+function override_xci_flavor() {
+ echo "Processing $GERRIT_PROJECT patchset $GERRIT_REFSPEC"
+
+ # process commit message for XCI Flavor
+ if [[ "$GERRIT_CHANGE_COMMIT_MESSAGE" =~ "xci-flavor:" ]]; then
+ XCI_FLAVOR=$(echo $GERRIT_CHANGE_COMMIT_MESSAGE | awk '/xci-flavor:/' RS=" " | cut -d":" -f2)
+
+ if [[ -z "$XCI_FLAVOR" ]]; then
+ XCI_FLAVOR='mini'
+ echo "XCI flavor is not specified. The default is specified instead (i.e. mini). Falling back to programmatically determining them."
+ echo "XCI_FLAVOR=mini" >> $WORK_DIRECTORY/scenario.properties
+ exit 0
+ else
+ echo "Recording the XCI flavor '$XCI_FLAVOR' for downstream jobs"
+ echo "XCI_FLAVOR=$XCI_FLAVOR" >> $WORK_DIRECTORY/scenario.properties
+ exit 0
+ fi
+ else
+ XCI_FLAVOR='mini'
+ echo "XCI flavor is not specified. The default is specified instead (i.e. mini). Falling back to programmatically determining them."
+ echo "XCI_FLAVOR=mini" >> $WORK_DIRECTORY/scenario.properties
+ exit 0
+ fi
+
+}
+
echo "Determining the impacted scenario"
declare -a DEPLOY_SCENARIO
@@ -169,6 +208,7 @@ if [[ $GERRIT_PROJECT == "releng-xci" ]]; then
determine_default_scenario
else
determine_scenario
+ override_xci_flavor
fi
override_scenario