summaryrefslogtreecommitdiff
path: root/contrib/cirrus
diff options
context:
space:
mode:
authorChris Evich <cevich@redhat.com>2022-06-30 12:13:45 -0400
committerChris Evich <cevich@redhat.com>2022-07-01 11:25:47 -0400
commit8cff1c2bf834c6a5ef41b4b96c243d0a02c704c8 (patch)
treeaf792cfe5def0e8713cab512aea4103beff4bbd8 /contrib/cirrus
parentf58d7dbdab7076d1ff83375fdbc010445261c0cd (diff)
downloadpodman-8cff1c2bf834c6a5ef41b4b96c243d0a02c704c8.tar.gz
podman-8cff1c2bf834c6a5ef41b4b96c243d0a02c704c8.tar.bz2
podman-8cff1c2bf834c6a5ef41b4b96c243d0a02c704c8.zip
Cirrus: Add podman-machine integration test
The podman-machine integration tests are designed to execute on bare-metal, since they perform significant work with virtual-machines. This test is costly to run at scale, so it is limited to being manually triggered by developers (for now). A 'trigger' button will appear in the task status page of the Github WebUI once all test dependencies are met. In the Cirrus-CI WebUI, there is also a 'pre-trigger' button that may be pressed if a developer doesn't wish to wait. Also: * Add a `localmachine` target in the `Makefile` on the off-chance developers wish to execute locally. Update the `ginkgo-run` target to accommodate re-use by the new `localmachine` target. * Exclude `podman_machine` task from `success` dependency verification. This also involves adding an exception to `cirrus_yaml_test.py` otherwise it will complain loudly. * ***NOTE*** Inclusion of `ec2_instance` in *any* task will cause `hack/get_ci_vm.sh` to barf and be non-functional. Future updates will be made to restore functionality. Before then, simply comment out the `ec2_instance` section as a temporarily workaround. Signed-off-by: Chris Evich <cevich@redhat.com>
Diffstat (limited to 'contrib/cirrus')
-rwxr-xr-xcontrib/cirrus/cirrus_yaml_test.py2
-rwxr-xr-xcontrib/cirrus/runner.sh7
-rwxr-xr-xcontrib/cirrus/setup_environment.sh7
3 files changed, 15 insertions, 1 deletions
diff --git a/contrib/cirrus/cirrus_yaml_test.py b/contrib/cirrus/cirrus_yaml_test.py
index a7fff8d3f..3968b8b1b 100755
--- a/contrib/cirrus/cirrus_yaml_test.py
+++ b/contrib/cirrus/cirrus_yaml_test.py
@@ -26,7 +26,7 @@ class TestCaseBase(unittest.TestCase):
class TestDependsOn(TestCaseBase):
ALL_TASK_NAMES = None
- SUCCESS_DEPS_EXCLUDE = set(['success', 'artifacts',
+ SUCCESS_DEPS_EXCLUDE = set(['success', 'artifacts', 'podman_machine',
'test_image_build', 'release', 'release_test'])
def setUp(self):
diff --git a/contrib/cirrus/runner.sh b/contrib/cirrus/runner.sh
index d49286ad3..762a3b501 100755
--- a/contrib/cirrus/runner.sh
+++ b/contrib/cirrus/runner.sh
@@ -379,6 +379,13 @@ dotest() {
|& logformatter
}
+_run_machine() {
+ # TODO: This is a manually-triggered task, if that ever changes need to
+ # add something like:
+ # _bail_if_test_can_be_skipped docs test/e2e test/system test/python
+ make localmachine |& logformatter
+}
+
# Optimization: will exit if the only PR diffs are under docs/ or tests/
# with the exception of any given arguments. E.g., don't run e2e or upgrade
# or bud tests if the only PR changes are in test/system.
diff --git a/contrib/cirrus/setup_environment.sh b/contrib/cirrus/setup_environment.sh
index fa0a40991..4952f8dd2 100755
--- a/contrib/cirrus/setup_environment.sh
+++ b/contrib/cirrus/setup_environment.sh
@@ -313,6 +313,13 @@ case "$TEST_FLAVOR" in
install_test_configs
;;
+ machine)
+ rpm -ivh $PACKAGE_DOWNLOAD_DIR/podman-gvproxy*
+ remove_packaged_podman_files
+ make install.tools
+ make install PREFIX=/usr ETCDIR=/etc
+ install_test_configs
+ ;;
gitlab)
# This only runs on Ubuntu for now
if [[ "$OS_RELEASE_ID" != "ubuntu" ]]; then