Lot of the CI images entry points share the same common code:
git init git fetch --depth 2 --quiet "${ZUUL_URL}/${ZUUL_PROJECT}" "$ZUUL_REF" git checkout --quiet FETCH_HEAD git submodule --quiet update --init --recursive
ci-src-setup-simple even has a feature flag to skip processing submodules when GIT_NO_SUBMODULES is set:
set +x if [ -z "${GIT_NO_SUBMODULES:-}" ]; then set -x git submodule --quiet update --init --recursive else echo "\$GIT_NO_SUBMODULES set, skipping submodules" fi
We also need to git protocol version 2 for the git versions not defaulting to it for T103990 (protocol.version=2)
And, I could not find the task, we need a git config to have submodules processed in parallel (submodule.fetchJobs which defaults to 1)
The aim of this task is to have a single shell script snippet in integration/config which addresses the above point and get included in the CI base images (ci-jessie, ci-stretch, ci-buster). Then get the entrypoints to use that.