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