echo "Info : Processing change $DEPENDENT_CHANGE_ID"
declare -a DEPENDENT_CHANGE_METADATA
- readarray -t DEPENDENT_CHANGE_METADATA < <(curl -s "https://gerrit.nordix.org/changes/?q=$DEPENDENT_CHANGE_ID&o=CURRENT_REVISION" 2>&1 \
- | grep "project\|status\|current_revision\|ref.*," | sed -e 's/\s//g' -e 's/,//g' -e 's/"//g'| cut -d: -f2)
+ # NOTE (cian): upgrades to Gerrit appear to change the output of the previously-used endpoint
+ # https://gerrit.nordix.org/changes/?q=$DEPENDENT_CHANGE_ID&o=CURRENT_REVISION so moving to
+ # gerrit SSH-based queries instead
+ GIT_BASE_SSH_CMD=$(echo "${GIT_BASE_SSH}" | sed -e 's#://# #g' | sed -e 's#:# -p #g')
+ readarray -t DEPENDENT_CHANGE_METADATA < <(
+ ${GIT_BASE_SSH_CMD} gerrit query --format=json change:${DEPENDENT_CHANGE_ID} --current-patch-set |\
+ head -1 |\
+ jq -r '[.project, .status, .currentPatchSet.revision, .currentPatchSet.ref] | join("\n")'
+ )
# NOTE (fdegir): check if the dependeny change exists
# and ignore if it doesn't
# this scripts is used by all engine repos so we need to determine what this change is for
export ENGINE_COMPONENT="${GERRIT_PROJECT//*\//}"
+# Check if we need to override the deploy scenario.
+if ! echo "$GERRIT_CHANGE_COMMIT_MESSAGE" | grep -qs "^Deploy-Scenario:"; then
+ echo "Info : No DEPLOY_SCENARIO override found."
+else
+ echo "Info : DEPLOY_SCENARIO override found!"
+ echo "Info : Before override: DEPLOY_SCENARIO=${DEPLOY_SCENARIO}"
+ DEPLOY_SCENARIO=$(echo "$GERRIT_CHANGE_COMMIT_MESSAGE" | grep '^Deploy-Scenario:' | cut -d ":" -f2 | sed 's/\s*//g')
+ export DEPLOY_SCENARIO
+ echo "Info : After override: DEPLOY_SCENARIO=${DEPLOY_SCENARIO}"
+fi
+
echo "Info : Setting STACK_TYPE and STACK_VERSION"
if [[ "$GERRIT_PROJECT" =~ /stack/ ]]; then
# set vars
echo "NORDIX_$(echo $ENGINE_COMPONENT | tr a-z A-Z)_VERSION=$GERRIT_PATCHSET_REVISION" >> "$CHANGE_METADATA_FILE"
echo "NORDIX_$(echo $ENGINE_COMPONENT | tr a-z A-Z)_REFSPEC=$GERRIT_REFSPEC" >> "$CHANGE_METADATA_FILE"
else
+ # NOTE (fdegir): if the change comes into provisioner repos, we need to set the stack type
+ # properly for the jobs verifying those changes
# set vars
- export STACK_TYPE=kubernetes
+ export STACK_TYPE="${STACK_TYPE:-kubernetes}"
export STACK_VERSION=$GERRIT_BRANCH
# record vars to properties file
export ARTIFACT_ARM_FOLDER="gerrit"
export BUILD_IDENTIFIER=$GERRIT_CHANGE_NUMBER
export OFFLINE_INSTALLER_FILE="/tmp/${STACK_TYPE}-${GERRIT_BRANCH}-${DISTRO}.bsx"
+export OFFLINE_XTESTING_FILE="/tmp/${STACK_TYPE}-test-${GERRIT_BRANCH}.bsx"
export BUILD_ARTIFACTS="/tmp/${STACK_TYPE}-${GERRIT_BRANCH}-${DISTRO}.bsx"
export NORDIX_ARM_REPO="nordix-${STACK_TYPE}"
export NORDIX_ARTIFACT_URL="$NORDIX_ARM_HTTPS_URL/$NORDIX_ARM_REPO/oss/$ARTIFACT_ARM_FOLDER/$BUILD_IDENTIFIER"
CI_LOOP=$CI_LOOP
ENGINE_SHA=$(git rev-parse HEAD)
OFFLINE_INSTALLER_FILE=$OFFLINE_INSTALLER_FILE
+OFFLINE_XTESTING_FILE=$OFFLINE_XTESTING_FILE
BUILD_ARTIFACTS=$BUILD_ARTIFACTS
NORDIX_ARM_REPO=nordix-${STACK_TYPE}
NORDIX_ARTIFACT_URL=$NORDIX_ARTIFACT_URL