From 1ea49c012c2de38312a6572ef47125af29a8b917 Mon Sep 17 00:00:00 2001 From: Fatih Degirmenci Date: Sat, 17 Mar 2018 11:30:55 +0100 Subject: xci: Adjust the recorded scenario metadata for promotion PROJECT_NAME is added into scenario metadata to use for promotion and xci dashboard. Also, the metadata collected is aligned across different type of patches including the skipped ones. Change-Id: I3751884b48f5d9306d0cae35c757b976484b26a3 Signed-off-by: Fatih Degirmenci --- jjb/xci/xci-set-scenario.sh | 36 +++++++++++++++++++++--------------- 1 file changed, 21 insertions(+), 15 deletions(-) diff --git a/jjb/xci/xci-set-scenario.sh b/jjb/xci/xci-set-scenario.sh index c602957a9..c3012cd88 100755 --- a/jjb/xci/xci-set-scenario.sh +++ b/jjb/xci/xci-set-scenario.sh @@ -42,20 +42,22 @@ set -o pipefail function override_generic_scenario() { echo "Processing $GERRIT_PROJECT patchset $GERRIT_REFSPEC" + # ensure the metadata we record is consistent for all types of patches including skipped ones + # extract releng-xci sha + XCI_SHA=$(cd $WORKSPACE && git rev-parse HEAD) + + # extract scenario sha which is same as releng-xci sha for generic scenarios + SCENARIO_SHA=$XCI_SHA + # process topic branch names - if [[ "$GERRIT_TOPIC" =~ skip-verify|skip-deployment ]]; then - # skip the real verification - echo "Skipping verify!" - echo "INSTALLER_TYPE=osa" > $WORK_DIRECTORY/scenario.properties - echo "DEPLOY_SCENARIO=os-nosdn-nofeature" >> $WORK_DIRECTORY/scenario.properties - exit 0 - elif [[ "$GERRIT_TOPIC" =~ 'force-verify' ]]; then - # Run the deployment with default installer and scenario when multiple things change - # and we want to force that. - echo "Recording the installer 'osa' and scenario 'os-nosdn-nofeature' for downstream jobs" - echo "Forcing CI verification of default scenario and installer!" + if [[ "$GERRIT_TOPIC" =~ skip-verify|skip-deployment|force-verify ]]; then + [[ "$GERRIT_TOPIC" =~ force-verify ]] && echo "Forcing CI verification using default scenario and installer!" + [[ "$GERRIT_TOPIC" =~ skip-verify|skip-deployment ]] && echo "Skipping verification!" echo "INSTALLER_TYPE=osa" > $WORK_DIRECTORY/scenario.properties echo "DEPLOY_SCENARIO=os-nosdn-nofeature" >> $WORK_DIRECTORY/scenario.properties + echo "XCI_SHA=$XCI_SHA" >> $WORK_DIRECTORY/scenario.properties + echo "SCENARIO_SHA=$SCENARIO_SHA" >> $WORK_DIRECTORY/scenario.properties + echo "PROJECT_NAME=$GERRIT_PROJECT" >> $WORK_DIRECTORY/scenario.properties exit 0 fi @@ -70,6 +72,9 @@ function override_generic_scenario() { echo "Recording the installer '$INSTALLER_TYPE' and scenario '$DEPLOY_SCENARIO' for downstream jobs" echo "INSTALLER_TYPE=$INSTALLER_TYPE" > $WORK_DIRECTORY/scenario.properties echo "DEPLOY_SCENARIO=$DEPLOY_SCENARIO" >> $WORK_DIRECTORY/scenario.properties + echo "XCI_SHA=$XCI_SHA" >> $WORK_DIRECTORY/scenario.properties + echo "SCENARIO_SHA=$SCENARIO_SHA" >> $WORK_DIRECTORY/scenario.properties + echo "PROJECT_NAME=$GERRIT_PROJECT" >> $WORK_DIRECTORY/scenario.properties exit 0 fi else @@ -110,10 +115,10 @@ function determine_generic_scenario() { done # extract releng-xci sha - RELENG_XCI_SHA=$(cd $WORKSPACE && git rev-parse HEAD) + XCI_SHA=$(cd $WORKSPACE && git rev-parse HEAD) # extract scenario sha which is same as releng-xci sha for generic scenarios - SCENARIO_SHA=$RELENG_XCI_SHA + SCENARIO_SHA=$XCI_SHA } # This function determines the impacted external scenario by processing the Gerrit @@ -142,7 +147,7 @@ function determine_external_scenario() { DEPLOY_SCENARIO+=$(git diff HEAD^..HEAD --name-only | grep scenarios | awk -F '[/|/]' '{print $2}' | uniq) # extract releng-xci sha - RELENG_XCI_SHA=$(cd $WORKSPACE && git rev-parse HEAD) + XCI_SHA=$(cd $WORKSPACE && git rev-parse HEAD) # extract scenario sha SCENARIO_SHA=$(cd $WORK_DIRECTORY/$GERRIT_PROJECT && git rev-parse HEAD) @@ -194,8 +199,9 @@ esac echo "Recording the installer '$INSTALLER_TYPE' and scenario '${DEPLOY_SCENARIO[0]}' and SHAs for downstream jobs" echo "INSTALLER_TYPE=$INSTALLER_TYPE" > $WORK_DIRECTORY/scenario.properties echo "DEPLOY_SCENARIO=$DEPLOY_SCENARIO" >> $WORK_DIRECTORY/scenario.properties -echo "RELENG_XCI_SHA=$RELENG_XCI_SHA" >> $WORK_DIRECTORY/scenario.properties +echo "XCI_SHA=$XCI_SHA" >> $WORK_DIRECTORY/scenario.properties echo "SCENARIO_SHA=$SCENARIO_SHA" >> $WORK_DIRECTORY/scenario.properties +echo "PROJECT_NAME=$GERRIT_PROJECT" >> $WORK_DIRECTORY/scenario.properties # skip scenario support check if the job is promotion job if [[ "$JOB_NAME" =~ (os|k8) ]]; then -- cgit 1.2.3-korg