diff options
Diffstat (limited to '.cirrus.yml')
-rw-r--r-- | .cirrus.yml | 153 |
1 files changed, 90 insertions, 63 deletions
diff --git a/.cirrus.yml b/.cirrus.yml index d8b0a3bf9..5898fa160 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -34,12 +34,12 @@ env: #### #### Cache-image names to test with (double-quotes around names are critical) ### - FEDORA_NAME: "fedora-31" - PRIOR_FEDORA_NAME: "fedora-30" + FEDORA_NAME: "fedora-32" + PRIOR_FEDORA_NAME: "fedora-31" UBUNTU_NAME: "ubuntu-19" PRIOR_UBUNTU_NAME: "ubuntu-18" - _BUILT_IMAGE_SUFFIX: "libpod-6465271544152064" + _BUILT_IMAGE_SUFFIX: "libpod-6220812239765504" FEDORA_CACHE_IMAGE_NAME: "${FEDORA_NAME}-${_BUILT_IMAGE_SUFFIX}" PRIOR_FEDORA_CACHE_IMAGE_NAME: "${PRIOR_FEDORA_NAME}-${_BUILT_IMAGE_SUFFIX}" UBUNTU_CACHE_IMAGE_NAME: "${UBUNTU_NAME}-${_BUILT_IMAGE_SUFFIX}" @@ -156,6 +156,32 @@ gating_task: failed_branch_script: '$CIRRUS_WORKING_DIR/$SCRIPT_BASE/notice_branch_failure.sh' +# Ensure these container images can build +container_image_build_task: + alias: 'container_image_build' + depends_on: + - "gating" + + # Only run for PRs, quay.io will automatically build after bramch-push + only_if: $CIRRUS_BRANCH != $DEST_BRANCH + + matrix: + - name: "build in_podman image ${FEDORA_NAME} " + container: + dockerfile: Dockerfile + - name: "build in_podman image ${UBUNTU_NAME}" + container: + dockerfile: Dockerfile.ubuntu + - name: "build gate image $DEST_BRANCH branch" + container: + dockerfile: contrib/gate/Dockerfile + + container: + dockerfile: Dockerfile + + script: make install.remote + + # This task checks to make sure that we can still build an rpm from the # source code using contrib/rpm/podman.spec.in rpmbuild_task: @@ -382,7 +408,6 @@ image_prune_task: # This task does the unit and integration testing for every platform testing_task: - skip: $CI == 'true' alias: "testing" depends_on: - "gating" @@ -390,6 +415,7 @@ testing_task: - "varlink_api" - "build_each_commit" - "build_without_cgo" + - "container_image_build" # Only test build cache-images, if that's what's requested only_if: >- @@ -400,16 +426,16 @@ testing_task: - name: "test ${FEDORA_NAME}" gce_instance: image_name: "${FEDORA_CACHE_IMAGE_NAME}" - # FIXME - #- name: "test ${PRIOR_FEDORA_NAME}" - # gce_instance: - # image_name: "${PRIOR_FEDORA_CACHE_IMAGE_NAME}" - # Multiple test failures on Ubuntu 19 - Fixes TBD in future PR - # TODO: image_name: "${UBUNTU_CACHE_IMAGE_NAME}" - # FIXME - #- name: "test ${PRIOR_UBUNTU_NAME}" - # gce_instance: - # image_name: "${PRIOR_UBUNTU_CACHE_IMAGE_NAME}" + # TODO: + # - name: "test ${PRIOR_FEDORA_NAME}" + # gce_instance: + # image_name: "${PRIOR_FEDORA_CACHE_IMAGE_NAME}" + # - name: "test ${UBUNTU_NAME}" + # gce_instance: + # image_name: "${UBUNTU_CACHE_IMAGE_NAME}" + # - name: "test ${PRIOR_UBUNTU_NAME}" + # gce_instance: + # image_name: "${PRIOR_UBUNTU_CACHE_IMAGE_NAME}" timeout_in: 120m @@ -427,7 +453,8 @@ testing_task: networking_script: '${CIRRUS_WORKING_DIR}/${SCRIPT_BASE}/networking.sh' setup_environment_script: '$SCRIPT_BASE/setup_environment.sh |& ${TIMESTAMP}' unit_test_script: '$SCRIPT_BASE/unit_test.sh |& ${TIMESTAMP}' - integration_test_script: '$SCRIPT_BASE/integration_test.sh |& ${TIMESTAMP} | ${LOGFORMAT} integration_test' + # FIXME + #integration_test_script: '$SCRIPT_BASE/integration_test.sh |& ${TIMESTAMP} | ${LOGFORMAT} integration_test' system_test_script: '$SCRIPT_BASE/system_test.sh |& ${TIMESTAMP} | ${LOGFORMAT} system_test' apiv2_test_script: '$SCRIPT_BASE/apiv2_test.sh |& ${TIMESTAMP} | ${LOGFORMAT} apiv2_test' @@ -451,6 +478,47 @@ testing_task: path: "*.log.html" type: "text/html" +# This task only temporary as we creep up on making +# all tests passing for v2. Once all tests pass, we +# should immediately remove this and re-enable the +# testing matrix. +integration_test_temporary_task: + + depends_on: + - "gating" + - "varlink_api" + - "vendor" + - "build_each_commit" + - "build_without_cgo" + + only_if: >- + $CIRRUS_CHANGE_MESSAGE !=~ '.*CI:IMG.*' && + $CIRRUS_CHANGE_MESSAGE !=~ '.*CI:DOCS.*' + + env: + ADD_SECOND_PARTITION: 'true' + TEST_REMOTE_CLIENT: 'false' + + timeout_in: 60m + + networking_script: '${CIRRUS_WORKING_DIR}/${SCRIPT_BASE}/networking.sh' + setup_environment_script: '$SCRIPT_BASE/setup_environment.sh |& ${TIMESTAMP}' + integration_test_script: '$SCRIPT_BASE/integration_test.sh |& ${TIMESTAMP} | ${LOGFORMAT} integration_test' + + on_failure: + failed_branch_script: '$CIRRUS_WORKING_DIR/$SCRIPT_BASE/notice_branch_failure.sh' + + always: + package_versions_script: '$SCRIPT_BASE/logcollector.sh packages' + ginkgo_node_logs_script: '$SCRIPT_BASE/logcollector.sh ginkgo' + df_script: '$SCRIPT_BASE/logcollector.sh df' + audit_log_script: '$SCRIPT_BASE/logcollector.sh audit' + journal_script: '$SCRIPT_BASE/logcollector.sh journal' + varlink_script: '$SCRIPT_BASE/logcollector.sh varlink' + podman_system_info_script: '$SCRIPT_BASE/logcollector.sh podman' + html_artifacts: + path: "*.log.html" + type: "text/html" # This task executes tests under unique environments/conditions special_testing_rootless_task: @@ -509,21 +577,17 @@ special_testing_in_podman_task: $CIRRUS_CHANGE_MESSAGE !=~ '.*CI:DOCS.*' matrix: - # FIXME: Integration testing currently broken for F31 hosts - # Error: container_linux.go:345: starting container process caused "process_linux.go:281: applying cgroup configuration for process caused \"mountpoint for cgroup not found\"": OCI runtime error - # image_name: "${FEDORA_CACHE_IMAGE_NAME}" - name: "in-podman ${PRIOR_FEDORA_NAME}" gce_instance: image_name: "${PRIOR_FEDORA_CACHE_IMAGE_NAME}" + - name: "in-podman ${FEDORA_NAME}" + gce_instance: + image_name: "${FEDORA_CACHE_IMAGE_NAME}" env: ADD_SECOND_PARTITION: 'true' MOD_LIBPOD_CONF: 'false' # Use existing/native setup SPECIALMODE: 'in_podman' # See docs - # TODO: Support both runc and crun (cgroups v1 and v2 container images) - # matrix: - # IN_PODMAN_IMAGE: "quay.io/libpod/in_podman:latest" - # IN_PODMAN_IMAGE: "quay.io/libpod/in_podman_cgv2:latest" timeout_in: 60m @@ -642,6 +706,7 @@ test_build_cache_images_task: depends_on: - "gating" + - 'container_image_build' # VMs created by packer are not cleaned up by cirrus, must allow task to complete auto_cancellation: $CI != "true" @@ -716,47 +781,6 @@ verify_test_built_images_task: <<: *standardlogs -#test_building_snap_task: -# -# depends_on: -# - "gating" -# -# only_if: >- -# $CIRRUS_CHANGE_MESSAGE !=~ '.*CI:IMG.*' && -# $CIRRUS_CHANGE_MESSAGE !=~ '.*CI:DOCS.*' -# -# container: -# image: yakshaveinc/snapcraft:core18 -# snapcraft_script: -# - 'apt-get -y update' -# - 'cd contrib/snapcraft && snapcraft' -# -# -#upload_snap_task: -# only_if: >- -# $CIRRUS_BRANCH != $DEST_BRANCH && -# $CIRRUS_CHANGE_MESSAGE !=~ '.*CI:IMG.*' && -# $CIRRUS_CHANGE_MESSAGE !=~ '.*CI:DOCS.*' -# -# # Only when PR or branch is merged into master -# -# depends_on: -# - "test_building_snap" -# -# container: -# image: yakshaveinc/snapcraft:core18 -# -# env: -# SNAPCRAFT_LOGIN: ENCRYPTED[d8e82eb31c6372fec07f405f413d57806026b1a9f8400033531ebcd54d6750a5e4a8b1f68e3ec65c98c65e0d9b2a6a75] -# snapcraft_login_file: -# path: /root/.snapcraft/login.cfg -# variable_name: SNAPCRAFT_LOGIN -# snapcraft_script: -# - 'apt-get -y update' -# - 'snapcraft login --with "/root/.snapcraft/login.cfg"' -# - 'cd contrib/snapcraft && snapcraft && snapcraft push *.snap --release edge' - - docs_task: # Don't run this when building/testing new VM images @@ -784,6 +808,7 @@ success_task: - "varlink_api" - "build_each_commit" - "build_without_cgo" + - "container_image_build" - "meta" - "image_prune" - "testing" @@ -796,6 +821,8 @@ success_task: - "test_build_cache_images" - "verify_test_built_images" - "docs" + # FIXME remove when all v2 tests pass + - "integration_test_temporary" env: CIRRUS_WORKING_DIR: "/usr/src/libpod" |