aboutsummaryrefslogtreecommitdiff
path: root/.cirrus.yml
Commit message (Collapse)AuthorAge
...
* Cirrus: Allow manually running image-build taskChris Evich2022-03-31
| | | | | | | | | | Building multi-arch images in a standardized way is complex. Some of the builds themselves can take a really long time to run (over an hour). Make changes easier to test inside a PR by adding manually-triggered image-build tasks. These mirror most of the real cron-triggered task, without actually pushing the final images. Signed-off-by: Chris Evich <cevich@redhat.com>
* Cirrus: Upd VM images to fix multi-arch build bugChris Evich2022-03-31
| | | | | | Ref: https://github.com/containers/automation_images/pull/122 Signed-off-by: Chris Evich <cevich@redhat.com>
* Merge pull request #13697 from edsantiago/upgrade_test_matrixOpenShift Merge Robot2022-03-30
|\ | | | | Upgrade tests: reexamine cross-testing matrix
| * Upgrade tests: reexamine cross-testing matrixEd Santiago2022-03-29
| | | | | | | | | | | | | | | | | | | | | | | | - removed: v1.9.0, v2.0.6 + added: v3.4.0 (Cannot add v4 because there's no such image on quay. As soon as one appears, we should add it.) Add a workaround for a UTS namespace conflict new in v3.4 Signed-off-by: Ed Santiago <santiago@redhat.com>
* | Cirrus: Build multi-arch images + manifestsChris Evich2022-03-28
|/ | | | | | | | | | | Github-actions for large/complex tasks is hard to read and maintain. Reimplement the multi-arch image build workflow into a set of bash scripts that use all native contrainer-org tooling. This requires a special VM image setup with emulation to build foreign architectures. It also requires renaming the `helloimage` directory, because the build script uses the directory name in the image FQIN. Signed-off-by: Chris Evich <cevich@redhat.com>
* Cirrus: Publish binary artifacts on successChris Evich2022-03-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In general continuous-delivery (CD) tends to pair well with CI. More specifically, there is a need for some reverse-dependency CI testing in netavark/aardvark-dns. In all cases, the download URL needs to remain consistent, without elements like `Build%20for%20fedora-35`. The 'Total Success' task only ever executes when all dependencies are successful. When a non `[CI:DOCS]` build is successful, gather all binary/release artifacts in a new task which depends on 'Total Success'. This will provide a uniform name (`artifacts`) and URL for downstream users to use. For example: https://api.cirrus-ci.com/v1/artifact/github/containers/podman/artifacts/binary.zip or https://api.cirrus-ci.com/v1/artifact/github/containers/podman/artifacts/binary/FILENAME Where ***FILENAME*** is one of: * `podman` * `podman-remote` * `rootlessport` * `podman-release-386.tar.gz` * `podman-release-amd64.tar.gz` * `podman-release-arm64.tar.gz` * `podman-release-arm.tar.gz` * `podman-release-mips64le.tar.gz` * `podman-release-mips64.tar.gz` * `podman-release-mipsle.tar.gz` * `podman-release-mips.tar.gz` * `podman-release-ppc64le.tar.gz` * `podman-release-s390x.tar.gz` * `podman-remote-release-darwin_amd64.zip` * `podman-remote-release-darwin_arm64.zip` * `podman-remote-release-windows_amd64.zip` * `podman-v4.0.0-dev.msi` Signed-off-by: Chris Evich <cevich@redhat.com>
* Add tests with Docker Compose v2Matthew Heon2022-03-17
| | | | | | | | | | | Add a pair of new Cirrus test suites using Compose v2 instead of Compose v1 (as is currently packaged in Fedora). They work identically, and run the same tests, as the Compose v1 tests, but with the new v2 binary instead. [NO NEW TESTS NEEDED] This adds an entire Cirrus suite... Signed-off-by: Matthew Heon <mheon@redhat.com>
* Cirrus: Disable F34 aka prior-fedora testingChris Evich2022-02-17
| | | | | | | | | | Podman 4.0 will never be supported in F34, and the use of F35 in CI is temporary until F36 is brought up to speed. Rather than fight with testing issues that will never be fixed/supported, simply disable it. This commit may be reverted at a future date when F36 VM support is added. Signed-off-by: Chris Evich <cevich@redhat.com>
* Cirrus: Use updated VM imagesChris Evich2022-02-17
| | | | | | | | | | | Mainly this is to confirm some changes needed for the podman-py CI setup don't disrupt operations here. Ref: https://github.com/containers/automation_images/pull/111 Also includes a minor steup fix WRT setting up for test-rpm build. Signed-off-by: Chris Evich <cevich@redhat.com>
* Cirrus: Expand netavark testing to include rootlessChris Evich2022-02-04
| | | | | | | | | | The list of netavark/aardvark-dns tasks is likely to be ever-growing for the near-term. Consolidate them into a single task entry with a matrix attribute to make future expansions less YAML-duplicative. Also, re-arrange it to fall in-between the CNI integration and system task sections. Signed-off-by: Chris Evich <cevich@redhat.com>
* Cirrus: Add netavark/aardvark system test taskChris Evich2022-02-03
| | | | | | | Also add a system-test that verifies netavark driver is in use when magic env. var. is set. Signed-off-by: Chris Evich <cevich@redhat.com>
* Cirrus: Minor - limit release task applicabilityChris Evich2022-02-02
| | | | | | | | | | | | This task/test is guaranteed to fail on non-release PRs. Upon reviewing actual practice and the release docs, this task should be limited to PRs with a title containing `release` or `bump` keywords. Also fix a minor comment typo. Ref: https://github.com/containers/podman/pull/13106#pullrequestreview-869855449 Signed-off-by: Chris Evich <cevich@redhat.com>
* Cirrus: Add [CI:BUILD] magic that only buildsChris Evich2022-02-01
| | | | | | | | This is intended for cases where no code changes were made in this repo. but something did change which could affect the toolchain. For example, `Makefile` or packaging changes. Signed-off-by: Chris Evich <cevich@redhat.com>
* Merge pull request #12814 from cevich/netavarkOpenShift Merge Robot2022-02-01
|\ | | | | Cirrus: Add e2e task w/ upstream netavark
| * Cirrus: Also download aardvark-dns binaryChris Evich2022-01-24
| | | | | | | | | | | | | | | | This involves a minor code-change so the download/install can run in a loop for the two different repositories and binaries. Given everything is exactly the same except the URLs and names. Signed-off-by: Chris Evich <cevich@redhat.com>
| * Cirrus: Add e2e task w/ upstream netavarkChris Evich2022-01-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This PR adds the CI mechanisms to obtain the latest upstream netavark binary, and set a magic env-var to indicate e2e tests should execute podman with `--network-driver=netavark`. A future commit implement this functionality within the e2e tests. Due to the way the new environment is enabled, the standard task name is too long for github to display without adding ellipsis. Force the custom task name `Netavark Integration` to workaround this. At some future point, when netavark is more mainstream/widely supported, this custom task and upstream binary install can simply be removed - i.e. netavark will simply be used by default in the normal e2e tasks. Signed-off-by: Chris Evich <cevich@redhat.com>
* | CI: enable rootless-remote system testsEd Santiago2022-01-24
|/ | | | | | | | | | | | Minimal: only test Fedora.Latest. Reason: podman 4.0.0-0.2.rc2 broke bodhi gating tests: https://github.com/containers/podman/issues/12989 Requires skipping two recently-added tests that use 'podman unshare', which doesn't work on remote. Signed-off-by: Ed Santiago <santiago@redhat.com>
* Revert "Cirrus: Temporarily disable OSX Cross task"Chris Evich2022-01-18
| | | | | | This reverts commit 860463d97eb3a006f2c608165d9e657be86080ec. Signed-off-by: Chris Evich <cevich@redhat.com>
* Cirrus: Temporarily disable OSX Cross taskChris Evich2022-01-17
| | | | | | | | | | At the time of this commit, something is broken within Cirrus-CI or dependent infrastructure. This appears to be causing all OSX tasks to hang in the scheduling queue indefinitely. Workaround this by disabling the task to allow development work to proceed while a fix is realized. Signed-off-by: Chris Evich <cevich@redhat.com>
* Cirrus: Freshen VM imagesChris Evich2022-01-10
| | | | | | | | | Specifically, this brings in `crun 1.4-1` allowing removal of a temporary workaround. Ref: https://github.com/containers/podman/pull/12759 Signed-off-by: Chris Evich <cevich@redhat.com>
* Revert "Cirrus: Temp. ignore gitlab task failures"Chris Evich2022-01-10
| | | | | | | | Ref: https://gitlab.com/gitlab-org/gitlab-runner/-/issues/28766 This reverts commit 8cb93ac1035b8966b03a87ea58366fe9f3fc7887. Signed-off-by: Chris Evich <cevich@redhat.com>
* Cirrus: Temp. ignore gitlab task failuresChris Evich2021-12-13
| | | | | | | | | Appears related to https://gitlab.com/gitlab-org/gitlab-runner/-/issues/28732 Log: https://cirrus-ci.com/task/5708221852680192?logs=setup#L433 Marking test to be ignored until I can figure out where/how to fix it. Signed-off-by: Chris Evich <cevich@redhat.com>
* Cirrus: Use cached swagger binaryChris Evich2021-12-09
| | | | | | | | | | | | An error was observed in another PR while downloading the swagger binary. The error was relating to the upstream egress quota. Obviously our downloading it every time for each CI run isn't helping. Fix this by moving the download into the image-build process, and simply re-use the already present binary here. Ref: https://github.com/containers/automation_images/pull/103 Signed-off-by: Chris Evich <cevich@redhat.com>
* Cirrus: Strip out static nix buildChris Evich2021-11-22
| | | | | | Unfortunately the maintainer of this is no longer available Signed-off-by: Chris Evich <cevich@redhat.com>
* Cirrus: Bump Fedora to release 35Chris Evich2021-11-18
| | | | | | | | | | | The Fedora 35 cloud images have switched to UEFI boot with a GPT partition. Formerly, all Fedora images included support for runtime re-partitioning. However, the requirement to test alternate storage has since been dropped/removed. Rather than maintain a disused feature, and supporting scripts, these Fedora VM images have reverted to the default: Automatically resize to 100% on boot. Signed-off-by: Chris Evich <cevich@redhat.com>
* Revert "Cirrus: Temp. disable prior-fedora testing"Chris Evich2021-11-18
| | | | | | This reverts commit f35d7f4dc76ca02b741e37f31ddc68c1d3ca9331. Signed-off-by: Chris Evich <cevich@redhat.com>
* Cirrus: Log more things in bindings and unit testsChris Evich2021-11-18
| | | | | | | These tasks run earlier on, so it's useful to have more detail about the test VM (in general) in case something goes terribly wrong. Signed-off-by: Chris Evich <cevich@redhat.com>
* Cirrus: Temp. disable prior-fedora testingChris Evich2021-11-11
| | | | | | | With F35 released, F33 is officially dead. Move it out of the way temporarily until F35 VM images are ready. Signed-off-by: Chris Evich <cevich@redhat.com>
* Cirrus: Update to Ubuntu 21.10Chris Evich2021-11-11
| | | | Signed-off-by: Chris Evich <cevich@redhat.com>
* Cirrus: Add gitlab podman runner testChris Evich2021-09-27
| | | | | | | | | | Add execution of the downstream gitlab-runner tests using rootless podman through the magic of socket-level docker compatibility. Include a comment suggesting how to temporarily disable the test in case it fails beyond podman code scope. Signed-off-by: Chris Evich <cevich@redhat.com>
* Cross-build release-archives w/ arch in filenameChris Evich2021-09-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes #11417 Cross-building the podman-remote documentation requires a functional native architecture executable. However `make` only deals with files/timestamps, it doesn't understand if an existing binary will function on the system or not. This makes building cross-platform releases incredibly accident-prone and fragile. A practical way to deal with this, is via multiple conditional (nested) `make` calls along with careful manipulation of `$GOOS` and `$GOARCH`. Also, when cross-building releases be kind to humans and cleanup any non-native binaries left behind. Update the `Alt Arch. Cross` Cirrus-CI task to build release archives for all Linux architectures supported by golang and podman. Update the `OSX Cross` task to additionally build for the M1 (arm64) architecture. Finally, update the release process documentation to reflect the new locations (Cirrus-CI task names) for the release archives. Include a note about additional manual work being required to produce the signed `.dmg` file for MacOS. Signed-off-by: Chris Evich <cevich@redhat.com>
* Cirrus: NM/CNI workaround + Remove prior-UbuntuChris Evich2021-09-13
| | | | | | Ref: https://github.com/containers/automation_images/pull/88 Signed-off-by: Chris Evich <cevich@redhat.com>
* Cirrus: Run unit-tests rootlessChris Evich2021-09-09
| | | | | | | | | | Previously (for various reasons) the unittests were limited by the Makefile to root-only. However, experimentation via PR #11490 shows they will actually execute and pass when run as a regular user. Enable this for only the latest Fedora VMs, so as to only add one new task to the (already large) set. Signed-off-by: Chris Evich <cevich@redhat.com>
* Cirrus: Reduce APIv2 task timeoutChris Evich2021-08-31
| | | | | | | | | | | | At the time of this commit, a significant problem has been identified (introduced in f5ce02b227f4). The effect is, `podman pull` has a chance of hanging, especially when re-pulling an existing image. While a fix is in the works, there's no reason to make developers wait the full (default) 1-hour timeout for the APIv2 task. Reduce it to 2x nominal test runtime, so if the hang/flake is hit, the task can be re-run more quickly. Signed-off-by: Chris Evich <cevich@redhat.com>
* Merge pull request #11374 from cevich/no_api2_cidocsOpenShift Merge Robot2021-08-31
|\ | | | | Cirrus: Skip APIv2 tests for [CI:DOCS]
| * Cirrus: Skip APIv2 tests for [CI:DOCS]Chris Evich2021-08-31
| | | | | | | | Signed-off-by: Chris Evich <cevich@redhat.com>
* | upgrade test: add new baselineEd Santiago2021-08-30
|/ | | | | | Add a new reference point against which to test upgrades. Signed-off-by: Ed Santiago <santiago@redhat.com>
* Revert ".cirrus.yml: use fresh images for all VMs"Chris Evich2021-08-18
| | | | | | | | | | | This reverts commit 404d5edb1557e3d2cb255d38bd89274586c4c100. The replacement (updated) images include a fix for: https://github.com/containers/common/issues/631 Also minor update to an unrelated FIXME comment. Signed-off-by: Chris Evich <cevich@redhat.com>
* Cirrus: Resolve two upgrade-test FIXMEsChris Evich2021-08-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I attempted to run the tests in a loop (one VM) but it fails with: ``` not ok 8 exec (from function `is' in file test/upgrade/../system/helpers.bash, line 474, in test file test/upgrade/test-upgrade.bats, line 222) `is "$output" "$RANDOM_STRING_1" "exec into myrunningcontainer"' failed /var/tmp/go/src/github.com/containers/podman/bin/podman exec myrunningcontainer cat /var/www/index.txt time="2021-08-17T13:34:21-05:00" level=warning msg="Failed to add conmon to systemd sandbox cgroup: Invalid unit name '/libpod_parent'" uagHtpYnA47bkz3 /vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv | FAIL: exec into myrunningcontainer | expected: 'uagHtpYnA47bkz3' | actual: 'time="2021-08-17T13:34:21-05:00" level=warning msg="Failed to add conmon to systemd sandbox cgroup: Invalid unit name '/libpod_parent'"' | > 'uagHtpYnA47bkz3' \^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ``` Since the current implementation doesn't reproduce this error, the change isn't worth the cost of debugging/fixing. OTOH, making the job only run from the daily cirrus-cron builds is a simple change. Signed-off-by: Chris Evich <cevich@redhat.com>
* Enable docker-py compat. testing w/ ignored resultChris Evich2021-08-09
| | | | | | | | | | Significant bitrot results in almost immediate test failure. This commit adds only the very basic, bare-minimum needed to get them started. ***TESTING RESULTS ARE IGNORED*** Signed-off-by: Chris Evich <cevich@redhat.com>
* Cirrus: Fix not uploading logformatter htmlChris Evich2021-08-04
| | | | | | | Previously we were generating the annotated results but never uploading them. Fix this so visiting the advertised URL actually works. Signed-off-by: Chris Evich <cevich@redhat.com>
* buildah bud tests under podman-remoteEd Santiago2021-07-28
| | | | | | | | | | | | | | | | New functionality -- mostly in the diffs we apply to buildah's helpers.bash -- to enable running buildah-bud tests under podman-remote. The gist of it is, we start a 'podman system service' before each test, and clean it up on test exit. Design decision: the diff file for helpers.bash is no longer trailing-whitespace-clean: that ended up producing diffs that git wouldn't apply, because in some cases the whitespace is actually important. In order to pass CI, we need to exclude this file from some checks. Signed-off-by: Ed Santiago <santiago@redhat.com>
* Cirrus: Fixes due to master->main renameChris Evich2021-06-30
| | | | Signed-off-by: Chris Evich <cevich@redhat.com>
* Cirrus: Prevent BZ1965743 workaround pruningChris Evich2021-06-16
| | | | | | | | | | | | | | | | A hidden non-obvious corner-case of temporary changes introduced by https://github.com/containers/podman/pull/10451 could be unintended pruning of some ubuntu images. This could be impactful if for some reason the `.cirrus.yml: use c5521575421149184 for Ubuntu` commit is reverted beyond 30-days (the disused image-prune interval) and the _old_ images are needed (for an unforeseen reason). Mitigate this by temporarily including the old images in the timestamp updating task. This commit may be reverted (and the problem ignored) if new VM images are built and deployed for all OS's (i.e. replacing the Fedora/Ubuntu tag split workaround needed for the BZ). Signed-off-by: Chris Evich <cevich@redhat.com>
* .cirrus.yml: use c5521575421149184 for UbuntuGiuseppe Scrivano2021-06-16
| | | | Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
* Use updated VM images + updated automation toolingChris Evich2021-05-14
| | | | | | | | | Both the `containers/automation` and `containers/automation_images` have been updated with a default 'main' branch, renamed from 'master`. These images include adjusted tooling in addition to a refresh of all packages. Signed-off-by: Chris Evich <cevich@redhat.com>
* CI: run rootless tests under ubuntuEd Santiago2021-05-06
| | | | | | | | | | | | | | | | | | | | Reason: to catch errors before they surface in RHEL. One of the Ubuntus is specially crafted to run with cgroups v1 and runc. Although this isn't quite the same as RHEL, it's as close as we can come in our CI environment, and I suspect it would have caught #10234 (a regression). Sorry, team. Also: play kube limits test: skip on all rootless, not just rootless+fedora. There was a complicated and unnecessary check in there for Fedora. Also: workaround for bug #10248, a spurious error message on the first invocation of rootless podman on Ubuntu.Old Signed-off-by: Ed Santiago <santiago@redhat.com>
* Cirrus: Update F34beta -> F34Chris Evich2021-04-29
| | | | Signed-off-by: Chris Evich <cevich@redhat.com>
* Cirrus: Update Ubuntu images to 21.04Chris Evich2021-04-27
| | | | | | | | | | | | | Also simplify `lib.sh` after supporting changes incorporated into automation library 2.x+ (present in all VM and container images). * No need to force-load `/etc/profile` and handle it's expectation to **not** being in `errexit` mode. * Slightly re-arrange loading of automation library files for clarity. * Update comments. Signed-off-by: Chris Evich <cevich@redhat.com>
* Overhaul Makefile binary and release worflowsChris Evich2021-04-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Incorporate changes from abandoned #9918: Use dedicated `bin` sub-directories for `windows` and `darwin` when building `podman-remote`. The linux flavor remains under `bin` as before. * Fix MacOS Documentation-generation for release-packaging. The `install-podman-remote-%-docs` target requires local execution of `podman-remote`, but it was assuming GOOS=linux. Fix this by dynamically discovering the local OS/architecture type while still permitting cross-building of MacOS binaries under Linux. * Unify temporary directory/file behavior to use a common template. In case of left-over temporary items left in the repository, update the `clean` target accordingly to remove them. * Fix broken podman-remote-static and MacOS release archive targets mismatching the `podman-remote-%` target. Disambiguate this target for all platforms by spelling each out in full, instead of using a wild-card recipe. * Fix Windows-installer target to properly recognize existing output files and not constantly rebuild every time. * Include the podman version number in the Windows-installer target in case a user downloads multiple releases. * Include a subdirectory containing the podman version number for both `tar.gz` and `zip` targets. This prevents users clobbering existing directories when un-archiving from releases. Signed-off-by: Chris Evich <cevich@redhat.com>