From 4cfeb4a9ad3d793302905d2027d96a4c3b3496c7 Mon Sep 17 00:00:00 2001 From: Zygmunt Krynicki Date: Thu, 30 Jan 2025 15:58:54 +0100 Subject: [PATCH] tests: explicitly cache cloud-init files We were not building or caching the .seed.iso target, causing make to re-create the image, as seen in the make --debug --dry-run output: ``` Updating goal targets.... File ubuntu-cloud-24.04.user-data does not exist. Must remake target ubuntu-cloud-24.04.user-data. echo "${USER_DATA}" | tee ubuntu-cloud-24.04.user-data Successfully remade target file ubuntu-cloud-24.04.user-data. File ubuntu-cloud-24.04.meta-data does not exist. Must remake target ubuntu-cloud-24.04.meta-data. echo "${META_DATA}" | tee ubuntu-cloud-24.04.meta-data Successfully remade target file ubuntu-cloud-24.04.meta-data. Prerequisite ubuntu-cloud-24.04.user-data is newer than target ubuntu-cloud-24.04.seed.iso. Prerequisite ubuntu-cloud-24.04.meta-data is newer than target ubuntu-cloud-24.04.seed.iso. Must remake target ubuntu-cloud-24.04.seed.iso. /usr/bin/genisoimage \ -input-charset utf-8 \ -output ubuntu-cloud-24.04.seed.iso \ -volid CIDATA \ -joliet \ -rock \ -graft-points \ user-data=ubuntu-cloud-24.04.user-data \ meta-data=ubuntu-cloud-24.04.meta-data Successfully remade target file ubuntu-cloud-24.04.seed.iso. Prerequisite ubuntu-cloud-24.04.seed.iso is newer than target ubuntu-cloud-24.04.x86_64.qcow2. ``` Build and cache the cloud-init seed iso to prevent that. Signed-off-by: Zygmunt Krynicki --- .gitlab-ci.yml | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 242381bd7..2b4091173 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -203,12 +203,12 @@ coverity: # when files are not cached correctly by the runner, causing the build section # below to always do hevy-duty work. - printf '\e[0K%s:%s:%s[collapsed=true]\r\e[0K%s\n' section_start "$(date +%s)" prepare_image_dry_run "Prepare image (dry run)" - - image-garden make --dry-run --debug "$GARDEN_SYSTEM.$ARCH.run" + - image-garden make --dry-run --debug "$GARDEN_SYSTEM.$ARCH.run" "$GARDEN_SYSTEM.$ARCH.qcow2" "$GARDEN_SYSTEM.seed.iso" "$GARDEN_SYSTEM.user-data" "$GARDEN_SYSTEM.meta-data" - printf '\e[0K%s:%s:%s\r\e[0K\n' section_end "$(date +%s)" prepare_image_dry_run script: # Prepare the image, for real. - printf '\e[0K%s:%s:%s[collapsed=true]\r\e[0K%s\n' section_start "$(date +%s)" prepare_image "Prepare image" - - image-garden make "$GARDEN_SYSTEM.$ARCH.run" + - image-garden make "$GARDEN_SYSTEM.$ARCH.run" "$GARDEN_SYSTEM.$ARCH.qcow2" "$GARDEN_SYSTEM.seed.iso" "$GARDEN_SYSTEM.user-data" "$GARDEN_SYSTEM.meta-data" - printf '\e[0K%s:%s:%s\r\e[0K\n' section_end "$(date +%s)" prepare_image cache: # Cache the base image (pre-customization). @@ -230,6 +230,9 @@ coverity: when: always paths: - $GARDEN_SYSTEM.* + - $GARDEN_SYSTEM.seed.iso + - $GARDEN_SYSTEM.meta-data + - $GARDEN_SYSTEM.user-data # This job builds and caches the image that the job below looks at. image-ubuntu-cloud-24.04-x86_64: @@ -244,6 +247,7 @@ image-ubuntu-cloud-24.04-x86_64: changes: paths: - .image-garden.mk + - .gitlab-ci.yml compare_to: "refs/heads/master" .spread-x86_64: @@ -265,7 +269,7 @@ image-ubuntu-cloud-24.04-x86_64: # when files are not cached correctly by the runner, causing the build section # below to always do hevy-duty work. - printf '\e[0K%s:%s:%s[collapsed=true]\r\e[0K%s\n' section_start "$(date +%s)" prepare_image_dry_run "Prepare image (dry run)" - - image-garden make --dry-run --debug "$GARDEN_SYSTEM.$ARCH.run" + - image-garden make --dry-run --debug "$GARDEN_SYSTEM.$ARCH.run" "$GARDEN_SYSTEM.$ARCH.qcow2" "$GARDEN_SYSTEM.seed.iso" "$GARDEN_SYSTEM.user-data" "$GARDEN_SYSTEM.meta-data" - printf '\e[0K%s:%s:%s\r\e[0K\n' section_end "$(date +%s)" prepare_image_dry_run # Install the selected revision of spread. - printf '\e[0K%s:%s:%s[collapsed=true]\r\e[0K%s\n' section_start "$(date +%s)" install_spread "Installing spread..."