summaryrefslogtreecommitdiff
path: root/.cirrus.yml
diff options
context:
space:
mode:
Diffstat (limited to '.cirrus.yml')
-rw-r--r--.cirrus.yml53
1 files changed, 44 insertions, 9 deletions
diff --git a/.cirrus.yml b/.cirrus.yml
index ab639a59c..c2238c3c6 100644
--- a/.cirrus.yml
+++ b/.cirrus.yml
@@ -143,6 +143,7 @@ smoke_task:
build_task:
alias: 'build'
name: 'Build for $DISTRO_NV'
+ only_if: &not_docs $CIRRUS_CHANGE_TITLE !=~ '.*CI:DOCS.*'
gce_instance: &standardvm
image_project: libpod-218412
zone: "us-central1-a"
@@ -200,12 +201,14 @@ build_task:
path: ./*.html
type: text/html
+
# Confirm the result of building on at least one platform appears sane.
# This confirms the binaries can be executed, checks --help vs docs, and
# other essential post-build validation checks.
validate_task:
name: "Validate $DISTRO_NV Build"
alias: validate
+ only_if: *not_docs
depends_on:
- ext_svc_check
- automation
@@ -227,11 +230,13 @@ validate_task:
main_script: *main
always: *artifacts
+
# Exercise the "libpod" API with a small set of common
# operations to ensure they are functional.
bindings_task:
name: "Test Bindings"
alias: bindings
+ only_if: *not_docs
skip: *branch
depends_on:
- build
@@ -268,6 +273,7 @@ swagger_task:
endpoint_task:
name: "Test Endpoint"
alias: endpoint
+ only_if: *not_docs
depends_on:
- build
container: *smallcontainer
@@ -307,6 +313,7 @@ vendor_task:
alt_build_task:
name: "$ALT_NAME"
alias: alt_build
+ only_if: *not_docs
depends_on:
- build
env:
@@ -334,6 +341,7 @@ alt_build_task:
static_alt_build_task:
name: "Static Build"
alias: static_alt_build
+ only_if: *not_docs
depends_on:
- build
# Community-maintained task, may fail on occasion. If so, uncomment
@@ -385,6 +393,7 @@ osx_alt_build_task:
docker-py_test_task:
name: Docker-py Compat.
alias: docker-py_test
+ only_if: *not_docs
depends_on:
- build
container: *smallcontainer
@@ -398,11 +407,13 @@ docker-py_test_task:
main_script: *main
always: *artifacts
+
# Does exactly what it says, execute the podman unit-tests on all primary
# platforms and release versions.
unit_test_task:
name: "Unit tests on $DISTRO_NV"
alias: unit_test
+ only_if: *not_docs
depends_on:
- validate
matrix: *platform_axis
@@ -415,14 +426,39 @@ unit_test_task:
main_script: *main
always: *artifacts
+
+apiv2_test_task:
+ name: "APIv2 test on $DISTRO_NV"
+ alias: apiv2_test
+ depends_on:
+ - validate
+ gce_instance: *standardvm
+ env:
+ <<: *stdenvars
+ TEST_FLAVOR: apiv2
+ clone_script: *noop # Comes from cache
+ gopath_cache: *ro_gopath_cache
+ setup_script: *setup
+ main_script: *main
+ always: &logs_artifacts
+ <<: *artifacts
+ 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'
+ podman_system_info_script: '$SCRIPT_BASE/logcollector.sh podman'
+
+
# Execute the podman integration tests on all primary platforms and release
# versions, as root, without involving the podman-remote client.
local_integration_test_task: &local_integration_test_task
# Integration-test task name convention:
# <int.|sys.> <podman|remote> <Distro NV> <root|rootless>
name: &std_name_fmt "$TEST_FLAVOR $PODBIN_NAME $DISTRO_NV $PRIV_NAME $TEST_ENVIRON"
- skip: *branch
alias: local_integration_test
+ only_if: *not_docs
+ skip: *branch
depends_on:
- unit_test
matrix: *platform_axis
@@ -434,14 +470,8 @@ local_integration_test_task: &local_integration_test_task
gopath_cache: *ro_gopath_cache
setup_script: *setup
main_script: *main
- always: &logs_artifacts
- <<: *artifacts
- 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'
- podman_system_info_script: '$SCRIPT_BASE/logcollector.sh podman'
+ always: *logs_artifacts
+
# Nearly identical to `local_integration_test` except all operations
# are performed through the podman-remote client vs a podman "server"
@@ -459,6 +489,7 @@ remote_integration_test_task:
container_integration_test_task:
name: *std_name_fmt
alias: container_integration_test
+ only_if: *not_docs
skip: *branch
depends_on:
- unit_test
@@ -488,6 +519,7 @@ container_integration_test_task:
rootless_integration_test_task:
name: *std_name_fmt
alias: rootless_integration_test
+ only_if: *not_docs
skip: *branch
depends_on:
- unit_test
@@ -511,6 +543,7 @@ rootless_integration_test_task:
local_system_test_task: &local_system_test_task
name: *std_name_fmt
alias: local_system_test
+ only_if: *not_docs
depends_on:
- local_integration_test
matrix: *platform_axis
@@ -537,6 +570,7 @@ remote_system_test_task:
rootless_system_test_task:
name: *std_name_fmt
alias: rootless_system_test
+ only_if: *not_docs
depends_on:
- rootless_integration_test
matrix: *fedora_vm_axis
@@ -598,6 +632,7 @@ success_task:
- osx_alt_build
- docker-py_test
- unit_test
+ - apiv2_test
- local_integration_test
- remote_integration_test
- rootless_integration_test