X-Git-Url: https://gerrit.nordix.org/gitweb?a=blobdiff_plain;f=jjb%2Fcloud-infra%2Fscripts%2Fgenerate-change-metadata.sh;h=7517232223f6f36a5f7a0fea44dde353282250c2;hb=525129172f57ac00786b09de6273f3e438a14918;hp=73f889748eb8e892450a88d52c1eb01f911ddd19;hpb=a41cb97c1eb86df7fd495dff15100b2e7a005a0c;p=infra%2Fcicd.git diff --git a/jjb/cloud-infra/scripts/generate-change-metadata.sh b/jjb/cloud-infra/scripts/generate-change-metadata.sh index 73f88974..75172322 100755 --- a/jjb/cloud-infra/scripts/generate-change-metadata.sh +++ b/jjb/cloud-infra/scripts/generate-change-metadata.sh @@ -42,8 +42,15 @@ function determine_dependency() { 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 @@ -103,6 +110,17 @@ echo "Info : Generating change metadata" # 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 @@ -141,8 +159,10 @@ elif [[ "$GERRIT_PROJECT" =~ /installer/ ]]; then 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 @@ -158,6 +178,7 @@ export NORDIX_ARM_HTTPS_URL="https://artifactory.nordix.org/artifactory" 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" @@ -170,6 +191,7 @@ DISTRO=$DISTRO 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