From d996e295d5f2f79171407be5efc43a733fd2a491 Mon Sep 17 00:00:00 2001 From: Paul Holzinger Date: Tue, 26 Aug 2025 11:54:09 +0200 Subject: [PATCH 1/4] cirrus: optimize skip/only_if First a change in .cirrus.yml must run all tests we cannot skip them as we might chnage what tasks are being executed and how, i.e. an CI image update must always run all tests. Second use only_if and not skip, skip will bloat the task overview with plenty of tasks so it is harder to see what was actully run then. that is consistent with how we do it in podman. And drop the vendor task as we do not do vendor anymore. Signed-off-by: Paul Holzinger --- .cirrus.yml | 51 ++++------- common/.cirrus.yml | 99 --------------------- image/.cirrus.yml | 187 -------------------------------------- storage/.cirrus.yml | 212 -------------------------------------------- 4 files changed, 17 insertions(+), 532 deletions(-) delete mode 100644 common/.cirrus.yml delete mode 100644 image/.cirrus.yml delete mode 100644 storage/.cirrus.yml diff --git a/.cirrus.yml b/.cirrus.yml index c03edcef4b..858c91b86a 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -89,7 +89,10 @@ storage_linux_testing: &linux_testing storage_fedora_testing_task: &fedora_testing <<: *linux_testing alias: storage_fedora_testing - skip: "!changesInclude('storage/**')" + only_if: &only_if_storage >- + $CIRRUS_PR == '' || + changesInclude('.cirrus.yml', 'go.work', 'go.work.sum') || + changesInclude('storage/**') name: &std_test_name "Storage: ${OS_NAME} ${TEST_DRIVER}" env: OS_NAME: "${FEDORA_NAME}" @@ -115,7 +118,7 @@ storage_debian_testing_task: &storage_debian_testing <<: *linux_testing alias: storage_debian_testing name: *std_test_name - skip: "!changesInclude('storage/**')" + only_if: *only_if_storage env: OS_NAME: "${DEBIAN_NAME}" VM_IMAGE: "${DEBIAN_CACHE_IMAGE_NAME}" @@ -136,7 +139,7 @@ storage_debian_testing_task: &storage_debian_testing storage_lint_task: alias: storage_lint name: "Storage: Lint" - skip: "!changesInclude('storage/**')" + only_if: *only_if_storage env: CIRRUS_WORKING_DIR: "/go/src/github.com/containers/storage" @@ -186,11 +189,10 @@ images_timestamp_update_task: image_validate_task: alias: image_validate name: "Image: Validate" - skip: "!changesInclude('storage/**', 'image/**')" - # The git-validation tool doesn't work well on branch or tag push, - # under Cirrus-CI, due to challenges obtaining the starting commit ID. - # Only do validation for PRs. - only_if: $CIRRUS_PR != '' + only_if: &only_if_image >- + $CIRRUS_PR == '' || + changesInclude('.cirrus.yml', 'go.work', 'go.work.sum') || + changesInclude('storage/**', 'image/**') gce_instance: &fedora_vm image_project: libpod-218412 zone: "us-central1-f" @@ -217,8 +219,7 @@ image_validate_task: image_cross_task: alias: image_cross name: "Image: Cross" - skip: "!changesInclude('storage/**', 'image/**')" - only_if: ¬_docs $CIRRUS_CHANGE_TITLE !=~ '.*CI:DOCS.*' + only_if: *only_if_image gce_instance: *fedora_vm env: HOME: "/root" # default unset, needed by golangci-lint. @@ -232,8 +233,7 @@ image_test_task: alias: image_test depends_on: - image_validate - only_if: *not_docs - skip: "!changesInclude('storage/**', 'image/**')" + only_if: *only_if_image gce_instance: *fedora_vm env: HOME: "/root" # default unset, needed by golangci-lint. @@ -267,8 +267,7 @@ image_test_task: ##### image_test_skopeo_task: alias: image_test_skopeo - only_if: *not_docs - skip: "!changesInclude('storage/**', 'image/**')" + only_if: *only_if_image depends_on: - image_validate gce_instance: *fedora_vm @@ -310,8 +309,7 @@ image_test_skopeo_task: common_testing_task: alias: common_testing - name: "Common: Test" - skip: "!changesInclude('storage/**', 'image/**', 'common/**')" + name: "Common: Test" container: image: "${FEDORA_CONTAINER_FQIN}" modules_cache: @@ -326,22 +324,8 @@ common_testing_task: make build-cross make test -storage_vendor_task: - alias: storage_vendor - name: "Vendor" - container: - image: golang - modules_cache: - fingerprint_script: cat storage/go.sum - folder: $GOPATH/pkg/mod - build_script: | - cd storage - make vendor - test_script: | - cd storage - storage_cross_task: - skip: "!changesInclude('storage/**')" + only_if: *only_if_storage alias: storage_cross name: "Storage: Cross" container: @@ -351,7 +335,7 @@ storage_cross_task: make cross storage_gofix_task: - skip: "!changesInclude('storage/**')" + only_if: *only_if_storage alias: storage_gofix name: "Storage: gofix" container: @@ -366,7 +350,7 @@ storage_gofix_task: git diff --diff-filter=M --exit-code -- . ":(exclude)*.crt" ":(exclude)*.key" ":(exclude)*.cert" storage_codespell_task: - skip: "!changesInclude('storage/**')" + only_if: *only_if_storage alias: storage_codespell name: "Storage: codespell" container: @@ -390,7 +374,6 @@ success_task: - storage_fedora_testing - storage_debian_testing - images_timestamp_update - - storage_vendor - storage_cross - storage_gofix - storage_codespell diff --git a/common/.cirrus.yml b/common/.cirrus.yml deleted file mode 100644 index 9793284930..0000000000 --- a/common/.cirrus.yml +++ /dev/null @@ -1,99 +0,0 @@ ---- - -# Main collection of env. vars to set for all tasks and scripts. -env: - #### - #### Global variables used for all tasks - #### - # Overrides default location (/tmp/cirrus) for repo clone - GOPATH: &gopath "/var/tmp/go" - GOBIN: "${GOPATH}/bin" - GOCACHE: "${GOPATH}/cache" - GOSRC: &gosrc "${GOPATH}/src/github.com/containers/common" - CIRRUS_WORKING_DIR: *gosrc - # The default is 'sh' if unspecified - CIRRUS_SHELL: "/bin/bash" - - #### - #### image names to test with (double-quotes around names are critical) - #### - FEDORA_NAME: "fedora-42" - IMAGE_SUFFIX: "c20250422t130822z-f42f41d13" - FEDORA_CACHE_IMAGE_NAME: "fedora-${IMAGE_SUFFIX}" - FEDORA_CONTAINER_FQIN: "quay.io/libpod/fedora_podman:${IMAGE_SUFFIX}" - - -# Default, hard-coded max timeout is 2-hours. -timeout_in: 60m # no need to wait 2-hours before timing out - -gcp_credentials: ENCRYPTED[dd6a042d1805167e38d8b79494f691b86637e68f072eba24220901435afd8d71c63f9006803142447326319102f68b7f] - -# Default VM for tasks, unless otherwise specified -gce_instance: - image_project: libpod-218412 - zone: "us-central1-a" - cpu: 8 - memory: "16Gb" - # Required to be 200gig, do not modify - has i/o performance impact - # according to gcloud CLI tool warning messages. - disk: 200 - image_name: "${FEDORA_CACHE_IMAGE_NAME}" # from stdenvars - - -testing_task: - alias: testing - name: "Testing on $FEDORA_NAME" - env: - NETAVARK_BINARY: "/usr/libexec/podman/netavark" - test_script: - - export PATH="$PATH:$GOPATH/bin" - - gpg --batch --passphrase '' --quick-gen-key tester@localhost default default never - - make vendor - - hack/tree_status.sh - - make build - - make build-cross - - make test - - -# This task is critical. It updates the "last-used by" timestamp stored -# in metadata for all VM images. This mechanism functions in tandem with -# an out-of-band pruning operation to remove disused VM images. -meta_task: - name: "VM img. keepalive" - alias: meta - container: - cpu: 2 - memory: 2 - image: quay.io/libpod/imgts:latest - env: - # Space-separated list of images used by this repository state - IMGNAMES: >- - ${FEDORA_CACHE_IMAGE_NAME} - BUILDID: "${CIRRUS_BUILD_ID}" - REPOREF: "${CIRRUS_REPO_NAME}" - GCPJSON: ENCRYPTED[0543d694d609dc873cabc00eca59269497918419351b692f4b587db8ac2c0a1b29692a9a03a22aa3af45398d3da6c045] - GCPNAME: ENCRYPTED[772577bdd866247038baf5ae5c43a4189401a4860fa8d8959f1eb01f835756af882ec7c5e5a8f0a8af4075ec8a2f56f9] - GCPPROJECT: libpod-218412 - clone_script: &noop mkdir -p "$CIRRUS_WORKING_DIR" - script: /usr/local/bin/entrypoint.sh - - - -# Status aggregator for all tests. This task simply ensures a defined -# set of tasks all passed, and allows confirming that based on the status -# of this task. -success_task: - # N/B: The prow merge-bot (tide) is sensitized to this exact name, DO NOT CHANGE IT. - # Ref: https://github.com/openshift/release/pull/49820 - name: "Total Success" - alias: success - - depends_on: - - "testing" - - "meta" - - container: - image: "${FEDORA_CONTAINER_FQIN}" - - clone_script: *noop - script: *noop diff --git a/image/.cirrus.yml b/image/.cirrus.yml deleted file mode 100644 index 30a91d769a..0000000000 --- a/image/.cirrus.yml +++ /dev/null @@ -1,187 +0,0 @@ ---- - -# Main collection of env. vars to set for all tasks and scripts. -env: - #### - #### Global variables used for all tasks - #### - # Name of the ultimate destination branch for this CI run - DEST_BRANCH: "main" - # c/skopeo branch name which must work with this c/image branch - SKOPEO_CI_BRANCH: "main" - # Use GO module mirror (reason unknown, travis did it this way) - GOPROXY: https://proxy.golang.org - # Overrides default location (/tmp/cirrus) for repo clone - GOPATH: "/var/tmp/go" - GOBIN: "${GOPATH}/bin" - GOCACHE: "${GOPATH}/cache" - GOSRC: &gosrc "/var/tmp/go/src/github.com/containers/image" - # Required for consistency with containers/skopeo CI - SKOPEO_PATH: "${GOPATH}/src/github.com/containers/skopeo" - CIRRUS_WORKING_DIR: *gosrc - # The default is 'sh' if unspecified - CIRRUS_SHELL: "/usr/bin/bash" - # Save a little typing (path relative to $CIRRUS_WORKING_DIR) - SCRIPT_BASE: "./contrib/cirrus" - - # Normally set to an empty-string. - # Temporarily set this to a containers/skopeo PR number to - # test changes made there, in a PR in this repository. - SKOPEO_PR: - - # Google-cloud VM Images - # If you are updating IMAGE_SUFFIX: We are currently using rawhide for - # the containers_image_sequoia tests because the rust-podman-sequoia - # package is not available in earlier releases; once we update to a future - # Fedora release (or if the package is backported), switch back from Rawhide - # to the latest Fedora release. - IMAGE_SUFFIX: "c20250812t173301z-f42f41d13" - FEDORA_CACHE_IMAGE_NAME: "fedora-${IMAGE_SUFFIX}" - RAWHIDE_CACHE_IMAGE_NAME: "rawhide-${IMAGE_SUFFIX}" - - # Container FQIN's (include bleeding-edge development-level container deps.) - FEDORA_CONTAINER_FQIN: "quay.io/libpod/fedora_podman:${IMAGE_SUFFIX}" - # Built along with the standard PR-based workflow in c/automation_images - SKOPEO_CIDEV_CONTAINER_FQIN: "quay.io/libpod/skopeo_cidev:${IMAGE_SUFFIX}" - - -gcp_credentials: ENCRYPTED[38c860dd789c68bd4f38b24d4fa5ddb525346f7ebe02c8bc91532d625f033cb357f9b4a22f09a8299c92bfdad7556ae5] - - -validate_task: - # The git-validation tool doesn't work well on branch or tag push, - # under Cirrus-CI, due to challenges obtaining the starting commit ID. - # Only do validation for PRs. - only_if: $CIRRUS_PR != '' - gce_instance: &fedora_vm - image_project: libpod-218412 - zone: "us-central1-f" - cpu: 2 - memory: "4Gb" - # Required to be 200gig, do not modify - has i/o performance impact - # according to gcloud CLI tool warning messages. - disk: 200 - # Eventually, hard-code FEDORA_CACHE_IMAGE_NAME here again and remove the - # VM_IMAGE_NAME parameter. - image_name: ${VM_IMAGE_NAME} - env: - HOME: "/root" # default unset, needed by golangci-lint. - VM_IMAGE_NAME: ${FEDORA_CACHE_IMAGE_NAME} - script: | - git remote update - make tools - ${GOBIN}/git-validation -q -run DCO,short-subject,dangling-whitespace -range $(git merge-base origin/${DEST_BRANCH} HEAD)..${CIRRUS_CHANGE_IN_REPO} - make validate - - -cross_task: - only_if: ¬_docs $CIRRUS_CHANGE_TITLE !=~ '.*CI:DOCS.*' - gce_instance: *fedora_vm - env: - VM_IMAGE_NAME: ${FEDORA_CACHE_IMAGE_NAME} - script: make cross - - -test_task: - alias: test - depends_on: - - validate - only_if: *not_docs - gce_instance: *fedora_vm - matrix: - - name: "Test" - env: - BUILDTAGS: '' - VM_IMAGE_NAME: ${FEDORA_CACHE_IMAGE_NAME} - - name: "Test w/ opengpg" - env: - BUILDTAGS: &withopengpg 'containers_image_openpgp' - VM_IMAGE_NAME: ${FEDORA_CACHE_IMAGE_NAME} - - name: "Test w/ Sequoia (currently Rawhide)" - env: - BUILDTAGS: &withsequoia 'containers_image_sequoia' - VM_IMAGE_NAME: ${RAWHIDE_CACHE_IMAGE_NAME} - script: ${GOSRC}/${SCRIPT_BASE}/runner.sh image_tests - - -##### -##### NOTE: This task is subtantially duplicated in the containers/skopeo -##### repository's `.cirrus.yml`. Changes made here should be fully merged -##### prior to being manually duplicated and maintained in containers/skopeo. -##### -test_skopeo_task: - alias: test_skopeo - only_if: *not_docs - depends_on: - - validate - gce_instance: *fedora_vm - matrix: - - name: "Skopeo Test" - env: - BUILDTAGS: '' - VM_IMAGE_NAME: ${FEDORA_CACHE_IMAGE_NAME} - - name: "Skopeo Test w/ opengpg" - env: - BUILDTAGS: *withopengpg - VM_IMAGE_NAME: ${FEDORA_CACHE_IMAGE_NAME} - - name: "Skopeo Test w/ Sequoia (currently Rawhide)" - env: - BUILDTAGS: *withsequoia - VM_IMAGE_NAME: ${RAWHIDE_CACHE_IMAGE_NAME} - setup_script: >- - "${GOSRC}/${SCRIPT_BASE}/runner.sh" setup - vendor_script: >- - "${SKOPEO_PATH}/${SCRIPT_BASE}/runner.sh" vendor - build_script: >- - "${SKOPEO_PATH}/${SCRIPT_BASE}/runner.sh" build - unit_script: >- - "${SKOPEO_PATH}/${SCRIPT_BASE}/runner.sh" unit - integration_script: >- - "${SKOPEO_PATH}/${SCRIPT_BASE}/runner.sh" integration - system_script: > - "${SKOPEO_PATH}/${SCRIPT_BASE}/runner.sh" system - - -# This task is critical. It updates the "last-used by" timestamp stored -# in metadata for all VM images. This mechanism functions in tandem with -# an out-of-band pruning operation to remove disused VM images. -meta_task: - name: "VM img. keepalive" - alias: meta - container: &smallcontainer - cpu: 2 - memory: 2 - image: quay.io/libpod/imgts:latest - env: - # Space-separated list of images used by this repository state - IMGNAMES: | - ${FEDORA_CACHE_IMAGE_NAME} - ${RAWHIDE_CACHE_IMAGE_NAME} - BUILDID: "${CIRRUS_BUILD_ID}" - REPOREF: "${CIRRUS_REPO_NAME}" - GCPJSON: ENCRYPTED[04306103eee1933f87deb8a5af6514a7e3164aa589d6079abc0451eb2360879430ed020d6e025ca64ef667138ce9d786] - GCPNAME: ENCRYPTED[574c8afac5115af72e6722d7c1d1c7f9fca7a5586f3caad45251c1745d9b82d3c012b5e2f914e19fca0de56ce2c10f5d] - GCPPROJECT: libpod-218412 - clone_script: &noop mkdir -p "$CIRRUS_WORKING_DIR" - script: /usr/local/bin/entrypoint.sh - - -# Status aggregator for all tests. This task simply ensures a defined -# set of tasks all passed, and allows confirming that based on the status -# of this task. -success_task: - name: "Total Success" - alias: success - # N/B: ALL tasks must be listed here, minus their '_task' suffix. - depends_on: - - validate - - cross - - test - - test_skopeo - - meta - container: *smallcontainer - env: - CTR_FQIN: ${FEDORA_CONTAINER_FQIN} - TEST_ENVIRON: container - clone_script: *noop - script: /bin/true diff --git a/storage/.cirrus.yml b/storage/.cirrus.yml deleted file mode 100644 index d26b97d23a..0000000000 --- a/storage/.cirrus.yml +++ /dev/null @@ -1,212 +0,0 @@ ---- - -# Main collection of env. vars to set for all tasks and scripts. -env: - #### - #### Global variables used for all tasks - #### - # Overrides default location (/tmp/cirrus) for repo clone - CIRRUS_WORKING_DIR: "/var/tmp/go/src/github.com/containers/storage" - # Shell used to execute all script commands - CIRRUS_SHELL: "/bin/bash" - # Automation script path relative to $CIRRUS_WORKING_DIR) - SCRIPT_BASE: "./contrib/cirrus" - # No need to go crazy, but grab enough to cover most PRs - CIRRUS_CLONE_DEPTH: 50 - - #### - #### Cache-image names to test with (double-quotes around names are critical) - ### - FEDORA_NAME: "fedora-42" - DEBIAN_NAME: "debian-13" - - # GCE project where images live - IMAGE_PROJECT: "libpod-218412" - # VM Image built in containers/automation_images - IMAGE_SUFFIX: "c20250422t130822z-f42f41d13" - FEDORA_CACHE_IMAGE_NAME: "fedora-${IMAGE_SUFFIX}" - DEBIAN_CACHE_IMAGE_NAME: "debian-${IMAGE_SUFFIX}" - - #### - #### Command variables to help avoid duplication - #### - # Command to prefix every output line with a timestamp - # (can't do inline awk script, Cirrus-CI or YAML mangles quoting) - _TIMESTAMP: 'awk --file ${CIRRUS_WORKING_DIR}/${SCRIPT_BASE}/timestamp.awk' - _DFCMD: 'df -lhTx tmpfs' - _RAUDITCMD: 'cat /var/log/audit/audit.log' - _UAUDITCMD: 'cat /var/log/kern.log' - _JOURNALCMD: 'journalctl -b' - -gcp_credentials: ENCRYPTED[c87717f04fb15499d19a3b3fa0ad2cdedecc047e82967785d101e9bc418e93219f755e662feac8390088a2df1a4d8464] - -# Default timeout for each task -timeout_in: 120m - -# Default VM to use unless set or modified by task -gce_instance: - image_project: "${IMAGE_PROJECT}" - zone: "us-central1-b" # Required by Cirrus for the time being - cpu: 2 - memory: "4Gb" - disk: 200 - image_name: "${FEDORA_CACHE_IMAGE_NAME}" - - -linux_testing: &linux_testing - depends_on: - - lint - gce_instance: # Only need to specify differences from defaults (above) - image_name: "${VM_IMAGE}" - - # Separate scripts for separate outputs, makes debugging easier. - setup_script: '${CIRRUS_WORKING_DIR}/${SCRIPT_BASE}/setup.sh |& ${_TIMESTAMP}' - build_and_test_script: '${CIRRUS_WORKING_DIR}/${SCRIPT_BASE}/build_and_test.sh |& ${_TIMESTAMP}' - - always: - df_script: '${_DFCMD} || true' - rh_audit_log_script: '${_RAUDITCMD} || true' - debian_audit_log_script: '${_UAUDITCMD} || true' - journal_log_script: '${_JOURNALCMD} || true' - - -fedora_testing_task: &fedora_testing - <<: *linux_testing - alias: fedora_testing - name: &std_test_name "${OS_NAME} ${TEST_DRIVER}" - env: - OS_NAME: "${FEDORA_NAME}" - VM_IMAGE: "${FEDORA_CACHE_IMAGE_NAME}" - # Not all $TEST_DRIVER combinations valid for all $VM_IMAGE types. - matrix: &test_matrix - - env: - TEST_DRIVER: "vfs" - - env: - TEST_DRIVER: "overlay" - - env: - TEST_DRIVER: "overlay-transient" - - env: - TEST_DRIVER: "fuse-overlay" - - env: - TEST_DRIVER: "fuse-overlay-whiteout" - - env: - TEST_DRIVER: "btrfs" - - -# aufs was dropped between 20.04 and 22.04, can't test it -debian_testing_task: &debian_testing - <<: *linux_testing - alias: debian_testing - name: *std_test_name - env: - OS_NAME: "${DEBIAN_NAME}" - VM_IMAGE: "${DEBIAN_CACHE_IMAGE_NAME}" - # Not all $TEST_DRIVER combinations valid for all $VM_IMAGE types. - matrix: - - env: - TEST_DRIVER: "vfs" - - env: - TEST_DRIVER: "overlay" - - env: - TEST_DRIVER: "fuse-overlay" - - env: - TEST_DRIVER: "fuse-overlay-whiteout" - - env: - TEST_DRIVER: "btrfs" - - -lint_task: - alias: lint - env: - CIRRUS_WORKING_DIR: "/go/src/github.com/containers/storage" - container: - image: golang - modules_cache: - fingerprint_script: cat go.sum - folder: $GOPATH/pkg/mod - build_script: | - apt-get update - apt-get install -y libbtrfs-dev libsubid-dev - test_script: | - [ -n "${CIRRUS_BASE_SHA}" ] && git fetch origin ${CIRRUS_BASE_SHA} # Make ${CIRRUS_BASE_SHA} resolvable for git-validation - make TAGS=regex_precompile local-validate - make lint - make clean - - -# Update metadata on VM images referenced by this repository state -meta_task: - alias: meta - - container: - image: "quay.io/libpod/imgts:latest" - cpu: 1 - memory: 1 - - env: - # Space-separated list of images used by this repository state - IMGNAMES: |- - ${FEDORA_CACHE_IMAGE_NAME} - ${DEBIAN_CACHE_IMAGE_NAME} - BUILDID: "${CIRRUS_BUILD_ID}" - REPOREF: "${CIRRUS_CHANGE_IN_REPO}" - GCPJSON: ENCRYPTED[244a93fe8b386b48b96f748342bf741350e43805eee81dd04b45093bdf737e540b993fc735df41f131835fa0f9b65826] - GCPNAME: ENCRYPTED[91cf7aa421858b26b67835978d224b4a5c46afcf52a0f1ec1b69a99b248715dc8e92a1b56fde18e092acf256fa80ae9c] - GCPPROJECT: ENCRYPTED[79b0f7eb5958e25bc7095d5d368fa8d94447a43ffacb9c693de438186e2f767b7efe9563d6954297ae4730220e10aa9c] - CIRRUS_CLONE_DEPTH: 1 # source not used - - script: '/usr/local/bin/entrypoint.sh |& ${_TIMESTAMP}' - - -vendor_task: - alias: vendor - container: - image: golang - modules_cache: - fingerprint_script: cat go.sum - folder: $GOPATH/pkg/mod - build_script: make vendor - test_script: hack/tree_status.sh - -cross_task: - alias: cross - container: - image: golang:1.24 - build_script: make cross - -gofix_task: - alias: gofix - container: - image: golang:1.24 - build_script: go fix ./... - test_script: git diff --exit-code - -codespell_task: - alias: codespell - container: - image: python - build_script: pip install codespell - test_script: codespell - - -# Status aggregator for all tests. This task simply ensures a defined -# set of tasks all passed, and allows confirming that based on the status -# of this task. -success_task: - alias: success - # N/B: The prow merge-bot (tide) is sensitized to this exact name, DO NOT CHANGE IT. - # Ref: https://github.com/openshift/release/pull/49820 - name: "Total Success" - depends_on: - - lint - - fedora_testing - - debian_testing - - meta - - vendor - - cross - - gofix - - codespell - container: - image: golang:1.24 - clone_script: 'mkdir -p "$CIRRUS_WORKING_DIR"' # Source code not needed - script: /bin/true From 2c0f46354db3b82244867dee94f5b34af1c88e57 Mon Sep 17 00:00:00 2001 From: Paul Holzinger Date: Tue, 26 Aug 2025 12:29:06 +0200 Subject: [PATCH 2/4] cirrus: use VM for common tests Also drop the vendor step, we don't need that anymore. Signed-off-by: Paul Holzinger --- .cirrus.yml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/.cirrus.yml b/.cirrus.yml index 858c91b86a..f6c77d043d 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -310,14 +310,9 @@ image_test_skopeo_task: common_testing_task: alias: common_testing name: "Common: Test" - container: - image: "${FEDORA_CONTAINER_FQIN}" modules_cache: fingerprint_script: cat common/go.sum folder: $GOPATH/pkg/mod - build_script: | - cd common - make vendor test_script: | cd common make build From 654e1b329eb2f4dd5fa90a7a39c4162d797c088f Mon Sep 17 00:00:00 2001 From: Paul Holzinger Date: Tue, 26 Aug 2025 12:35:50 +0200 Subject: [PATCH 3/4] cirrus: define missing GOCACHE env And update the CIRRUS_WORKING_DIR to use the proper repo path. Signed-off-by: Paul Holzinger --- .cirrus.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.cirrus.yml b/.cirrus.yml index f6c77d043d..3accdacc64 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -6,7 +6,7 @@ env: #### Global variables used for all tasks #### # Overrides default location (/tmp/cirrus) for repo clone - CIRRUS_WORKING_DIR: "/var/tmp/go/src/github.com/containers/storage" + CIRRUS_WORKING_DIR: "/var/tmp/go/src/github.com/containers/container-libs" # Shell used to execute all script commands CIRRUS_SHELL: "/bin/bash" # Automation script path relative to $CIRRUS_WORKING_DIR) @@ -16,8 +16,9 @@ env: CIRRUS_CLONE_DEPTH: 50 DEST_BRANCH: "main" GOPATH: "/var/tmp/go" - SKOPEO_PATH: "/var/tmp/go/src/github.com/containers/skopeo" GOBIN: "${GOPATH}/bin" + GOCACHE: "${GOPATH}/cache" + SKOPEO_PATH: "/var/tmp/go/src/github.com/containers/skopeo" IMAGE_WORKING_DIR: "/var/tmp/go/src/github.com/containers/image" From d1231a3bb228293bcc45921594b7a716053f6d79 Mon Sep 17 00:00:00 2001 From: Paul Holzinger Date: Tue, 26 Aug 2025 13:25:16 +0200 Subject: [PATCH 4/4] cirrus: bump up cpu count To speed up tests. Signed-off-by: Paul Holzinger --- .cirrus.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.cirrus.yml b/.cirrus.yml index 3accdacc64..7ecd399c62 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -64,7 +64,7 @@ timeout_in: 120m gce_instance: image_project: "${IMAGE_PROJECT}" zone: "us-central1-b" # Required by Cirrus for the time being - cpu: 2 + cpu: 4 memory: "4Gb" disk: 200 image_name: "${FEDORA_CACHE_IMAGE_NAME}"