diff options
Diffstat (limited to '.cirrus.yml')
-rw-r--r-- | .cirrus.yml | 127 |
1 files changed, 58 insertions, 69 deletions
diff --git a/.cirrus.yml b/.cirrus.yml index 0122b6b55..116dc90cd 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -36,10 +36,10 @@ env: ### FEDORA_NAME: "fedora-32" PRIOR_FEDORA_NAME: "fedora-31" - UBUNTU_NAME: "ubuntu-19" - PRIOR_UBUNTU_NAME: "ubuntu-18" + UBUNTU_NAME: "ubuntu-20" + PRIOR_UBUNTU_NAME: "ubuntu-19" - _BUILT_IMAGE_SUFFIX: "libpod-6301182083727360" + _BUILT_IMAGE_SUFFIX: "libpod-6268069335007232" # From the packer output of 'build_vm_images_script' 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}" @@ -137,11 +137,9 @@ gating_task: # FIXME #- 'cd $GOSRC && ./hack/podman-commands.sh |& ${TIMESTAMP}' # N/B: need 'clean' so some committed files are re-generated. - # FIXME - #- '/usr/local/bin/entrypoint.sh clean podman-remote |& ${TIMESTAMP}' - #- '/usr/local/bin/entrypoint.sh clean podman xref_helpmsgs_manpages BUILDTAGS="exclude_graphdriver_devicemapper selinux seccomp" |& ${TIMESTAMP}' - # FIXME - #- '/usr/local/bin/entrypoint.sh local-cross |& ${TIMESTAMP}' + - '/usr/local/bin/entrypoint.sh clean podman-remote |& ${TIMESTAMP}' + - '/usr/local/bin/entrypoint.sh clean podman xref_helpmsgs_manpages BUILDTAGS="exclude_graphdriver_devicemapper selinux seccomp" |& ${TIMESTAMP}' + - '/usr/local/bin/entrypoint.sh local-cross |& ${TIMESTAMP}' # Verify some aspects of ci/related scripts ci_script: @@ -156,11 +154,36 @@ 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: - skip: $CI == 'true' only_if: >- $CIRRUS_CHANGE_MESSAGE !=~ '.*CI:IMG.*' && $CIRRUS_CHANGE_MESSAGE !=~ '.*CI:DOCS.*' && @@ -221,7 +244,6 @@ vendor_task: # whether the git tree is clean. varlink_api_task: - skip: $CI == 'true' only_if: >- $CIRRUS_CHANGE_MESSAGE !=~ '.*CI:IMG.*' && $CIRRUS_CHANGE_MESSAGE !=~ '.*CI:DOCS.*' @@ -287,8 +309,6 @@ build_each_commit_task: build_without_cgo_task: - skip: $CI == 'true' - depends_on: - "gating" - "vendor" @@ -389,6 +409,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: >- @@ -399,10 +420,10 @@ testing_task: - name: "test ${FEDORA_NAME}" gce_instance: image_name: "${FEDORA_CACHE_IMAGE_NAME}" + - name: "test ${PRIOR_FEDORA_NAME}" + gce_instance: + image_name: "${PRIOR_FEDORA_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}" @@ -415,10 +436,9 @@ testing_task: env: ADD_SECOND_PARTITION: 'true' matrix: - # FIXME - #- name: remote - # env: - # TEST_REMOTE_CLIENT: 'true' + - name: remote + env: + TEST_REMOTE_CLIENT: 'true' - name: local env: TEST_REMOTE_CLIENT: 'false' @@ -426,8 +446,7 @@ 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}' - # FIXME - #integration_test_script: '$SCRIPT_BASE/integration_test.sh |& ${TIMESTAMP} | ${LOGFORMAT} integration_test' + 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,52 +470,9 @@ 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: - skip: $CI == 'true' depends_on: - "gating" - "varlink_api" @@ -577,7 +553,6 @@ special_testing_in_podman_task: special_testing_cross_task: - skip: $CI == 'true' alias: "special_testing_cross" depends_on: - "gating" @@ -617,7 +592,6 @@ special_testing_cross_task: special_testing_bindings_task: - skip: $CI == 'true' depends_on: - "gating" - "varlink_api" @@ -644,7 +618,6 @@ special_testing_bindings_task: special_testing_endpoint_task: - skip: $CI == 'true' depends_on: - "gating" - "varlink_api" @@ -679,6 +652,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" @@ -780,6 +754,7 @@ success_task: - "varlink_api" - "build_each_commit" - "build_without_cgo" + - "container_image_build" - "meta" - "image_prune" - "testing" @@ -792,8 +767,7 @@ success_task: - "test_build_cache_images" - "verify_test_built_images" - "docs" - # FIXME remove when all v2 tests pass - - "integration_test_temporary" + - "static_build" env: CIRRUS_WORKING_DIR: "/usr/src/libpod" @@ -807,3 +781,18 @@ success_task: memory: 1 success_script: '/usr/local/bin/entrypoint.sh ./$SCRIPT_BASE/success.sh |& ${TIMESTAMP}' + +static_build_task: + container: + image: quay.io/podman/nix-podman:1.0.0 + cpu: 8 + memory: 12 + timeout_in: 20m + depends_on: + - "gating" + build_script: + - nix build -f nix + binaries_artifacts: + path: "result-bin/bin/podman" + on_failure: + failed_branch_script: '$CIRRUS_WORKING_DIR/$SCRIPT_BASE/notice_branch_failure.sh |& ${TIMESTAMP}' |