From cee8a6aadfe7db47b52f8df5f5cb6a812ed9650f Mon Sep 17 00:00:00 2001 From: Kai Lueke Date: Mon, 23 May 2022 15:48:24 +0900 Subject: [PATCH] ci-automation: Push version file early When a nightly build is started that pushes the version file to the branch it was doing so only at the end of the build, causing the push to fail if something else got merged in between. Push the version file early by generating it the same way it would be generated by the run_sdk_container/bootstrap_sdk_container scripts. In the case of the SDK the version file gets the same version for the OS and the SDK. Add some explanations about the version formats. Note that the scripts will still rewrite the file but it should be a no-op. --- ci-automation/packages.sh | 9 +++++++-- ci-automation/sdk_bootstrap.sh | 17 +++++++++++------ 2 files changed, 18 insertions(+), 8 deletions(-) diff --git a/ci-automation/packages.sh b/ci-automation/packages.sh index 736bde24c9..40d1d9d19e 100644 --- a/ci-automation/packages.sh +++ b/ci-automation/packages.sh @@ -122,6 +122,13 @@ function packages_build() { local docker_vernum="$(vernum_to_docker_image_version "${vernum}")" local packages_container="flatcar-packages-${arch}-${docker_vernum}" + # Create version file + ( + source sdk_lib/sdk_container_common.sh + create_versionfile "$sdk_version" "$version" + ) + update_and_push_version "${version}" "${push_branch}" + # Build packages; store packages and torcx output in container ./run_sdk_container -x ./ci-cleanup.sh -n "${packages_container}" -v "${version}" \ -C "${sdk_image}" \ @@ -154,7 +161,5 @@ function packages_build() { "${torcx_tmp}/torcx/${arch}-usr/latest/torcx_manifest.json" copy_to_buildcache "images/${arch}/${vernum}/torcx" \ "${torcx_tmp}/torcx/pkgs/${arch}-usr/docker/"*/*.torcx.tgz - - update_and_push_version "${version}" "${push_branch}" } # -- diff --git a/ci-automation/sdk_bootstrap.sh b/ci-automation/sdk_bootstrap.sh index 297d12677e..135f71cf6c 100644 --- a/ci-automation/sdk_bootstrap.sh +++ b/ci-automation/sdk_bootstrap.sh @@ -100,18 +100,23 @@ function sdk_bootstrap() { local vernum="${version#*-}" # remove alpha-,beta-,stable-,lts- version tag local git_vernum="${vernum}" - # This will update FLATCAR_VERSION[_ID] and BUILD_ID in versionfile + # Update FLATCAR_VERSION[_ID], BUILD_ID, and SDK in versionfile + ( + source sdk_lib/sdk_container_common.sh + create_versionfile "${vernum}" + ) + update_and_push_version "${version}" "${push_branch}" + ./bootstrap_sdk_container -x ./ci-cleanup.sh "${seed_version}" "${vernum}" # push SDK tarball to buildcache + # Get Flatcar version number format (separator is '+' instead of '-', + # equal to $(strip_version_prefix "$version") source sdk_container/.repo/manifests/version.txt - local vernum="${FLATCAR_SDK_VERSION}" - local dest_tarball="flatcar-sdk-${ARCH}-${vernum}.tar.bz2" + local dest_tarball="flatcar-sdk-${ARCH}-${FLATCAR_SDK_VERSION}.tar.bz2" cd "__build__/images/catalyst/builds/flatcar-sdk" - copy_to_buildcache "sdk/${ARCH}/${vernum}" "${dest_tarball}"* + copy_to_buildcache "sdk/${ARCH}/${FLATCAR_SDK_VERSION}" "${dest_tarball}"* cd - - - update_and_push_version "${version}" "${push_branch}" } # --