diff --git a/.cirrus.yml b/.cirrus.yml index ca1822af..75f75a01 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -23,6 +23,7 @@ timeout_in: 60m task: name: "Validate" alias: "validate" + skip: "changesInclude('**.md', 'LICENSE')" timeout_in: 5m container: &ci_container # Ref: https://cirrus-ci.org/guide/docker-builder-vm/#dockerfile-as-a-ci-environment @@ -38,10 +39,12 @@ task: task: name: "Image-builder image" alias: "image_builder" + skip: "changesInclude('**.md', 'LICENSE')" depends_on: - validate # Packer needs time to clean up partially created VM images auto_cancellation: $CI != "true" + stateful: true timeout_in: 30m container: dockerfile: "image_builder/Containerfile" @@ -55,6 +58,7 @@ task: task: alias: "podman_containers" + skip: "changesInclude('**.md', 'LICENSE')" depends_on: - image_builder timeout_in: 30m @@ -97,10 +101,12 @@ task: task: alias: "base_images" + skip: "changesInclude('**.md', 'LICENSE')" depends_on: - image_builder # Packer needs time to clean up partially created VM images auto_cancellation: $CI != "true" + stateful: true timeout_in: 30m # Cannot use a container for this task, virt required for fedora image conversion gce_instance: @@ -130,10 +136,12 @@ task: task: alias: "cache_images" + skip: "changesInclude('**.md', 'LICENSE')" depends_on: - base_images # Packer needs time to clean up partially created VM images auto_cancellation: $CI != "true" + stateful: true timeout_in: 40m container: dockerfile: "image_builder/Containerfile" diff --git a/Makefile b/Makefile index 8ee95270..dd8c5019 100644 --- a/Makefile +++ b/Makefile @@ -161,13 +161,15 @@ image_builder/manifest.json: image_builder/gce.json image_builder/setup.sh lib.s # from inside the debugging container. .PHONY: image_builder_debug image_builder_debug: $(_TEMPDIR)/image_builder_debug.tar ## Build and enter container for local development/debugging of targets requiring packer + virtualization + $(eval override _IMG_SFX := $(call err_if_empty,IMG_SFX)) + $(eval override _GAC_FILEPATH := $(call err_if_empty,GAC_FILEPATH)) /usr/bin/podman run -it --rm \ --security-opt label=disable -v $$HOME:$$HOME -w $$PWD \ -v $(_TEMPDIR):$(_TEMPDIR):Z -v $(_GAC_FILEPATH):$(_GAC_FILEPATH):Z \ -v /dev/kvm:/dev/kvm \ -e PACKER_INSTALL_DIR=/usr/local/bin \ + -e IMG_SFX=$(_IMG_SFX) \ -e GAC_FILEPATH=$(call err_if_empty,GAC_FILEPATH) \ - -e TEMPDIR=$(_TEMPDIR) \ docker-archive:$< $(_TEMPDIR)/image_builder_debug.tar: $(_TEMPDIR) $(_TEMPDIR)/var_cache_dnf image_builder/Containerfile image_builder/install_packages.txt ci/install_packages.sh lib.sh