diff options
author | Chris Evich <cevich@redhat.com> | 2020-06-25 17:38:33 -0400 |
---|---|---|
committer | Chris Evich <cevich@redhat.com> | 2020-10-02 11:53:04 -0400 |
commit | 2c9084e2245834094e14e9105e64b6062d70a0f1 (patch) | |
tree | e2e5c0be702cdae5919489fd9a1ed1b6f87d135a /contrib/cirrus/system_test.sh | |
parent | b58980a43ccfcef5134274c3963bf68cc51a4983 (diff) | |
download | podman-2c9084e2245834094e14e9105e64b6062d70a0f1.tar.gz podman-2c9084e2245834094e14e9105e64b6062d70a0f1.tar.bz2 podman-2c9084e2245834094e14e9105e64b6062d70a0f1.zip |
Cirrus: Implement podman automation 2.0
Reimplement CI-automation to remove accumulated technical-debt and
optimize workflow. The task-dependency graph designed goal was to
shorten it's depth and increase width (i.e. more parallelism). A
reduction in redundant building (and 3rd party module download) was
also realized by caching `$GOPATH` and `$GOCACHE` early on. This
cache is then reused in favor of a fresh clone of the repository
(when possible).
Note: The system tests typically execute MUCH faster than the
integration tests. However, contrary to a fail-fast/fail-early
principal, they are executed last. This was implemented due to
debug-ability related concerns/preferences of the primary
(golang-centric) project developers.
Signed-off-by: Chris Evich <cevich@redhat.com>
Diffstat (limited to 'contrib/cirrus/system_test.sh')
-rwxr-xr-x | contrib/cirrus/system_test.sh | 65 |
1 files changed, 0 insertions, 65 deletions
diff --git a/contrib/cirrus/system_test.sh b/contrib/cirrus/system_test.sh deleted file mode 100755 index dbee078b6..000000000 --- a/contrib/cirrus/system_test.sh +++ /dev/null @@ -1,65 +0,0 @@ -#!/usr/bin/env bash - -set -e - -source $(dirname $0)/lib.sh - -req_env_var GOSRC SCRIPT_BASE OS_RELEASE_ID OS_RELEASE_VER CONTAINER_RUNTIME VARLINK_LOG - -LOCAL_OR_REMOTE=local -if [[ "$RCLI" = "true" ]]; then - LOCAL_OR_REMOTE=remote -fi - -# Our name must be of the form xxxx_test or xxxx_test.sh, where xxxx is -# the test suite to run; currently (2019-05) the only option is 'integration' -# but pr2947 intends to add 'system'. -TESTSUITE=$(expr $(basename $0) : '\(.*\)_test') -if [[ -z $TESTSUITE ]]; then - die 1 "Script name is not of the form xxxx_test.sh" -fi - -cd "$GOSRC" - -case "$SPECIALMODE" in - in_podman) - ${CONTAINER_RUNTIME} run --rm --privileged --net=host --cgroupns=host \ - -v $GOSRC:$GOSRC:Z \ - --workdir $GOSRC \ - -e "CGROUP_MANAGER=cgroupfs" \ - -e "STORAGE_OPTIONS=--storage-driver=vfs" \ - -e "CRIO_ROOT=$GOSRC" \ - -e "PODMAN_BINARY=/usr/bin/podman" \ - -e "CONMON_BINARY=/usr/libexec/podman/conmon" \ - -e "DIST=$OS_RELEASE_ID" \ - -e "CONTAINER_RUNTIME=$CONTAINER_RUNTIME" \ - $IN_PODMAN_IMAGE bash $GOSRC/$SCRIPT_BASE/container_test.sh -b -i -t - ;; - rootless) - req_env_var ROOTLESS_USER - ssh $ROOTLESS_USER@localhost \ - -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no \ - -o CheckHostIP=no $GOSRC/$SCRIPT_BASE/rootless_test.sh ${TESTSUITE} ${LOCAL_OR_REMOTE} - ;; - endpoint) - make - make install PREFIX=/usr ETCDIR=/etc - make test-binaries - make endpoint - ;; - bindings) - make - make install PREFIX=/usr ETCDIR=/etc - export PATH=$PATH:`pwd`/hack - cd pkg/bindings/test && ginkgo -trace -noColor -debug -r - ;; - none) - make - make install PREFIX=/usr ETCDIR=/etc - make test-binaries - make .install.bats - make ${LOCAL_OR_REMOTE}${TESTSUITE} PODMAN_SERVER_LOG=$PODMAN_SERVER_LOG - ;; - *) - die 110 "Unsupported \$SPECIALMODE: $SPECIALMODE" -esac |