From 2213e9beea7e6c642a7643620573d7d5db59dfc5 Mon Sep 17 00:00:00 2001 From: Jeremi Piotrowski Date: Mon, 25 Oct 2021 14:02:15 +0200 Subject: [PATCH] update_chroot: introduce '--setuponly' flag Currently the os/sdk and os/toolchains job perform a chroot update whose results are immediately discarded because the rest of the build uses a fresh chroot and catalyst. Towards the end of a release period this can extend the build time by about an hour (longer if rust is involved). Introduce a `--setuponly` flag that bails after the chroot configuration, and the skips chroot update. Signed-off-by: Jeremi Piotrowski --- jenkins/sdk.sh | 2 +- jenkins/toolchains.sh | 2 +- update_chroot | 7 +++++++ 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/jenkins/sdk.sh b/jenkins/sdk.sh index 4f0a4880bf..1c52fa3581 100755 --- a/jenkins/sdk.sh +++ b/jenkins/sdk.sh @@ -48,7 +48,7 @@ bin/cork update \ --sdk-url storage.googleapis.com \ --sdk-url-path "/flatcar-jenkins/sdk" \ --manifest-name "${MANIFEST_NAME}" \ - --manifest-url "${MANIFEST_URL}" -- --dev_builds_sdk="${DOWNLOAD_ROOT_SDK}" + --manifest-url "${MANIFEST_URL}" -- --dev_builds_sdk="${DOWNLOAD_ROOT_SDK}" --setuponly if [[ ${FULL_BUILD} == "false" ]]; then export FORCE_STAGES="stage4" diff --git a/jenkins/toolchains.sh b/jenkins/toolchains.sh index b638349e91..59723f874c 100755 --- a/jenkins/toolchains.sh +++ b/jenkins/toolchains.sh @@ -69,7 +69,7 @@ export FLATCAR_BUILD_ID enter gangue get --verify-key /opt/verify.asc --json-key /etc/portage/gangue.json "${DOWNLOAD_ROOT_SDK}/amd64/${FLATCAR_SDK_VERSION}/flatcar-sdk-amd64-${FLATCAR_SDK_VERSION}.tar.bz2.DIGESTS" /mnt/host/source/.cache/sdks/ script update_chroot \ - --toolchain_boards="${BOARD}" --dev_builds_sdk="${DOWNLOAD_ROOT_SDK}" + --toolchain_boards="${BOARD}" --dev_builds_sdk="${DOWNLOAD_ROOT_SDK}" --setuponly # Set up GPG for signing uploads. gpg --import "${GPG_SECRET_KEY_FILE}" diff --git a/update_chroot b/update_chroot index 0045f7be0b..5b560df274 100755 --- a/update_chroot +++ b/update_chroot @@ -24,6 +24,8 @@ DEFINE_boolean workon "${FLAGS_TRUE}" \ "Automatically rebuild updated cros-workon packages." DEFINE_boolean skip_toolchain_update "${FLAGS_FALSE}" \ "Don't update the toolchains." +DEFINE_boolean setuponly "${FLAGS_FALSE}" \ + "Only configure portage, without updating packages. Useful when only boostrap_sdk/build_toolchains will be called" DEFINE_string toolchain_boards "" \ "Extra toolchains to setup for the specified boards." DEFINE_string dev_builds_sdk "" \ @@ -216,6 +218,11 @@ sudo -E ${EMERGE_CMD} --quiet "${EMERGE_FLAGS[@]}" \ gcc_set_latest_profile "$(portageq envvar CHOST)" +if [[ "${FLAGS_setuponly}" -eq "${FLAGS_TRUE}" ]]; then + command_completed + exit 0 +fi + if [[ "${FLAGS_skip_toolchain_update}" -eq "${FLAGS_FALSE}" && \ -n "${FLAGS_toolchain_boards}" ]]; then CROSS_CHOSTS=( $(get_board_chost ${FLAGS_toolchain_boards} | sort -u) )