engine: Implement change dependency handling
[infra/cicd.git] / jjb / engine / scripts / package.sh
index d63d46b0656c2479cbba564b64028d9129c38b52..bcebb6cde7c08135f17eb2b5dbdf1d2a13a70f7b 100755 (executable)
@@ -22,7 +22,23 @@ set -o nounset
 set -o errexit
 set -o pipefail
 
-source "$WORKSPACE/change.properties"
+# NOTE (fdegir): we need to remove $WORKSPACE and clone infra/engine repository
+# as infra/engine is what drives the deployment
+if [[ "$GERRIT_PROJECT" != "infra/engine" ]]; then
+  cd "$HOME" && /bin/rm -rf "$WORKSPACE"
+  echo "Info : Cloning infra/engine repository"
+  git clone -q https://gerrit.nordix.org/infra/engine.git "$WORKSPACE"
+  cd "$WORKSPACE"
+fi
+
+# NOTE (fdegir): this variable is set by generate-change-metadata.sh script
+# if a dependency to engine repo is determined so we check out that refspec
+# to ensure we respect the dependency
+if [[ ! -z "${NORDIX_ENGINE_REFSPEC+x}" ]]; then
+  echo "Info  : Fetching dependent change ${NORDIX_ENGINE_REFSPEC} infra/engine"
+  git fetch "https://gerrit.nordix.org/infra/engine" ${NORDIX_ENGINE_REFSPEC} && git checkout FETCH_HEAD
+fi
+
 echo "Info  : Packaging stack $STACK_TYPE"
 
 cd "$WORKSPACE/engine"