summaryrefslogtreecommitdiff
path: root/.cirrus.yml
diff options
context:
space:
mode:
Diffstat (limited to '.cirrus.yml')
-rw-r--r--.cirrus.yml153
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"