summaryrefslogtreecommitdiff
path: root/.cirrus.yml
Commit message (Collapse)AuthorAge
* Merge pull request #8900 from cevich/no_tag_testingOpenShift Merge Robot2021-01-12
|\ | | | | Cirrus: Skip most tests on tag-push
| * Cirrus: Skip most tests on tag-pushChris Evich2021-01-07
| | | | | | | | | | | | | | | | | | | | | | | | | | Due to various reasons, CI results (esp. testing tasks) are completely ignored for builds triggered by a new tag-push. Additionally, since many of the automation scripts are in the repo., any related failures/flakes would require code changes (therefore a new tag). Resolve this by skipping every testing-type task for builds triggered by tag-push. Only retain tasks which build things intended for consumption associated with a possible official release. Signed-off-by: Chris Evich <cevich@redhat.com>
* | Cirrus: Add cross-compile test for alternative archesChris Evich2021-01-11
|/ | | | | | | Followup to https://github.com/containers/podman/pull/8907 that simply ensures cross-compiling podman completes. Signed-off-by: Chris Evich <cevich@redhat.com>
* Cirrus: Update Fedora & Ubuntu imagesChris Evich2021-01-06
| | | | Signed-off-by: Chris Evich <cevich@redhat.com>
* Cirrus: Add support for Ubuntu 20.xChris Evich2020-12-15
| | | | | | | | | | | | | | | | | | | | | | | | | Previously automation always dropped the minor version number for distributions. This was intended for presentation and conditional simplicity. Bash does not support non-integer comparison natively. With the release of version 20.10, supporting testing with it and the LTS release (20.04) requires scripts to consider minor version numbers for Ubuntu VMs. This is necessary because many times in the past, some behaviors needed to be conditional on the release version number. With this commit, the images and embedded scripts/tooling uses an altered format of `$UBUNTU_NAME', `$PRIOR_UBUNTU_NAME`, and (crucially) `$OS_RELEASE_VER` and `$OS_REL_VER`. Any `.` characters appearing in the official version (from `/etc/os-release`) are dropped, and the result is concatenated. For example the current Ubuntu LTS version is `20.04`. Prior to this commit, `$OS_RELEASE_VER` would have been `20`. With this change, `$OS_RELEASE_VER` will now show `2004`. Similarly `20.10` is shown as `2010`. Signed-off-by: Chris Evich <cevich@redhat.com>
* add compose regression to cibaude2020-12-11
| | | | | | | to prevent any regressions, we should be running regression tests using compose. Signed-off-by: baude <bbaude@redhat.com>
* Remove varlink support from PodmanDaniel J Walsh2020-11-26
| | | | Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
* Cirrus: Invalidate static cache on VM image updateChris Evich2020-11-16
| | | | | | | | | | It's important to periodically update the nix cache (about 1GB in size). If not, it can grow stale and has been observed causing task failures. Associating the nix cache update with a VM/Container image update, ensures it happens first in PRs where environment-related failures are less surprising. Signed-off-by: Chris Evich <cevich@redhat.com>
* Merge pull request #8107 from cevich/measure_testing_statsOpenShift Merge Robot2020-11-12
|\ | | | | Cirrus: Collect runner.sh stats
| * Cirrus: Detailed CPU/Memory/Time runner.sh statsChris Evich2020-11-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On several occasions, there have been questions about CPU/Memory/IO trends in testing over time. Start collecting this data for all jobs, using a common/stable format so that trending analysis can be performed within/across multiple Cirrus-CI builds. This PR doesn't add any related tooling, it simply arranges for the collection of the data. Stats generation is done at the orchestration level to guarantee they reflect everything happening inside `runner.sh`. For example, the container-based tests re-exec `runner.sh` inside a container, but we're only interested in the top-level stats. Update all tasks to include collection of the stats file. Unfortunately, due to the way the Cirrus-CI YAML parser works, it is *not* possible to alias the artifacts collection more clearly, for example: ```yaml always: <<: *runner_stats <<: *logs_artifacts ``` Signed-off-by: Chris Evich <cevich@redhat.com>
* | Cirrus: update VMsEd Santiago2020-11-11
| | | | | | | | | | | | | | | | | | Reason: include perl-FindBin RPM in f33 VM, needed for hack/xref-helpmsgs-manpages Ref: https://github.com/containers/automation_images/pull/39 Signed-off-by: Ed Santiago <santiago@redhat.com>
* | Cirrus: Run validation tests in CI:DOCS modeChris Evich2020-11-11
|/ | | | Signed-off-by: Chris Evich <cevich@redhat.com>
* Cirrus: Use F33beta VM imageChris Evich2020-11-04
| | | | | | | | | | | | Includes disk-space increase for all Fedora images to accommodate the static-build job disk space requirements. This job substantially leverages task-cache, which was previously failing to restore early on in the Cirrus-CI task setup, due to disk-space limitations. Also simplify .cirrus.yml slightly by removing an unncessary setup and run directory change step. Signed-off-by: Chris Evich <cevich@redhat.com>
* Cirrus: Simplify artifact collectionChris Evich2020-11-04
| | | | | | | | | | | On several occasions, fatal task failures were observed during the upload of artifacts after a otherwise successful testing. Prior to this commit, most tasks were storing both logs and binary artifacts. Avoid possible major inconveniences of upload failures, by only collecting binary artifacts when necessary. Signed-off-by: Chris Evich <cevich@redhat.com>
* Cirrus: Execute docker-py tests on a VMChris Evich2020-10-14
| | | | Signed-off-by: Chris Evich <cevich@redhat.com>
* Merge pull request #7967 from cevich/restore_apiv2_testOpenShift Merge Robot2020-10-13
|\ | | | | Cirrus: Restore APIv2 Testing
| * Cirrus: Restore APIv2 TestingChris Evich2020-10-13
| | | | | | | | Signed-off-by: Chris Evich <cevich@redhat.com>
* | Merge pull request #7998 from cevich/add_ci_docsOpenShift Merge Robot2020-10-13
|\ \ | |/ |/| [CI:DOCS] Cirrus: Ability to skip most tests for docs updates
| * Cirrus: Ability to skip most tests for docs updatesChris Evich2020-10-13
| | | | | | | | | | | | | | | | | | | | | | | | | | ***Warning***: `skip` has non-obvious side-effects vs `only_if`: https://cirrus-ci.org/guide/writing-tasks/#conditional-task-execution The skip instruction can give a false sense of security by always marking tasks as passed in the UI, even if they didn't run. In contrast, the `only_if` condition will avoid creating the task all -together; therefore, a problematic task's absense is more likely to be noticed if it introduced a problem. Signed-off-by: Chris Evich <cevich@redhat.com>
* | System tests: run with local podman, not remoteEd Santiago2020-10-12
|/ | | | | | | | | | | Initially filed as #7967 but that has run into huge complicated snags related to Ubuntu and environment. It is crucial to get system tests working with podman-local. It is less important to get them on Ubuntu. Let's please expedite this PR while we settle the Ubuntu stuff in #7967 Signed-off-by: Ed Santiago <santiago@redhat.com>
* Cirrus: Fix obtaining a CI VMChris Evich2020-10-07
| | | | | | | | | Also removed automatic exection of setup_environment.sh since most people using this script are podman developers (not automation/CI folks). If executing the automation scripts is necessary, manual attendance to required variables like `$TEST_FLAVOR` is mandatory. Signed-off-by: Chris Evich <cevich@redhat.com>
* Cirrus: Skip deep testing on branchesChris Evich2020-10-05
| | | | | | | | | | | | | | Previous to this commit, the entire suite of CI tasks run in a PR, run again for every merge (a.k.a. branch push). This wastes time and resources with substantively overlapping testing. The primary reason to test on branch-push, is providing coverage for merge-semantics. In other words, problems introduced due to the sequence of PR merging. For this purpose, the vast majority of problems can be caught quickly by a small subset of automated tests. If deeper debugging is necessary, then opening a test-PR is a small price to ask for the enormous amount of time/resource savings with more limited branch-push testing. Signed-off-by: Chris Evich <cevich@redhat.com>
* Cirrus: Implement podman automation 2.0Chris Evich2020-10-02
| | | | | | | | | | | | | | | | | | 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>
* Migrate container images to automation_imagesChris Evich2020-10-01
| | | | Signed-off-by: Chris Evich <cevich@redhat.com>
* fix build with varlinkLokesh Mandvekar2020-09-22
| | | | | | | also add a cirrus task for building binaries with varlink. From: Chris Evich <cevich@redhat.com> Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
* Merge pull request #7400 from cevich/fix_missing_gpg2OpenShift Merge Robot2020-09-22
|\ | | | | Cirrus: Provide gpg2 in Ubuntu images
| * Cirrus: Add gpg2 to Ubuntu imagesChris Evich2020-09-17
| | | | | | | | Signed-off-by: Chris Evich <cevich@redhat.com>
* | Update nix pin with `make nixpkgs`Wong Hoi Sing Edison2020-09-18
|/ | | | | | Also backport changes from https://github.com/cri-o/cri-o/pull/4065/files#diff-1d37e48f9ceff6d8030570cd36286a61R189-R197 Signed-off-by: Wong Hoi Sing Edison <hswong3i@gmail.com>
* Cirrus: Obsolete CI:IMG process & related filesChris Evich2020-09-09
| | | | | | | | | | | All VM-building functionality has been migrated to https://github.com/containers/automation_images Some container-build functions are still maintained here but are on a very-short list to also be migrated to the repository linked above. Signed-off-by: Chris Evich <cevich@redhat.com>
* Merge pull request #7538 from edsantiago/cap_test_robustOpenShift Merge Robot2020-09-08
|\ | | | | Update VM images for new crun; adapt Cap tests to work with new kernel
| * WIP: update VM imagesEd Santiago2020-09-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (This is an adoption of #7533 because Brent is on PTO). Pick up new crun and crio-runc. Also: renames from useful fedora-32 and -31 to less-useful names; presumably this is needed by something-something in the new VM setup. Also: tweak two e2e tests to more properly handle a kernel (5.8.4) with a greater set of capabilities than what we or crun can yet handle. Signed-off-by: Ed Santiago <santiago@redhat.com>
* | [CI:DOCS] Add macos build to ciAshley Cui2020-09-04
|/ | | | | | Adding a mac build to ci for native builds Signed-off-by: Ashley Cui <acui@redhat.com>
* Update nix pin with `make nixpkgs`Wong Hoi Sing Edison2020-08-22
| | | | Signed-off-by: Wong Hoi Sing Edison <hswong3i@gmail.com>
* Merge pull request #7376 from edsantiago/cirrus_specialcase_only_titleOpenShift Merge Robot2020-08-20
|\ | | | | Cirrus: special-case CI colon-IMG and colon-DOCS only in subject
| * Cirrus: special-case CI colon-IMG and colon-DOCS only in subjectEd Santiago2020-08-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As of a few minutes ago (relative to this commit), Cirrus defines the CIRRUS_CHANGE_TITLE envariable as "First line of CIRRUS_CHANGE_MESSAGE"[1]. Replace all conditionals accordingly. [1] https://github.com/cirruslabs/cirrus-ci-docs/commit/f8d2530c602709a24d9113691a43e6a20f7020b9 Reasoning: up until this PR, the presence of CI:IMG or CI:DOCS *in the body* of the commit message would trigger those magic CI code flows. This violates POLA, and actually led to a bad PR (#7317) being merged because CI never ran. Fixes: #7374 Signed-off-by: Ed Santiago <santiago@redhat.com>
* | Cirrus: Increase integration-testing timeoutChris Evich2020-08-19
|/ | | | | | | | | | | Observed timeout problems hitting some integration-testing tasks differently than others. Given the current `Makefile` has a ginkgo timeout of 90-minutes, the task timeout for integration tests should be longer. Increase the timeout of the main integration-test running tasks to the (default) 120min global valie in `.cirrus.yml`. Signed-off-by: Chris Evich <cevich@redhat.com>
* Remove TEST_REMOTE_CLIENT from RCLIDaniel J Walsh2020-08-10
| | | | | | | | We know these are TEST_, hoping this makes the display in cirrus easier for users to see true|false, since this is the valuable information is. Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
* Merge pull request #7138 from cevich/add_python_packagesOpenShift Merge Robot2020-08-10
|\ | | | | Cirrus: Add python packages to images
| * Cirrus: Utilize freshly built imagesChris Evich2020-07-31
| | | | | | | | Signed-off-by: Chris Evich <cevich@redhat.com>
* | Speedup static build by utilizing CI cache on `/nix` folderWong Hoi Sing Edison2020-08-03
|/ | | | Signed-off-by: Wong Hoi Sing Edison <hswong3i@gmail.com>
* Switch all references to github.com/containers/libpod -> podmanDaniel J Walsh2020-07-28
| | | | Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
* CI - various fixesEd Santiago2020-07-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Primary purpose: upgrade crun to 0.14 on f31, in hopes of eliminating the 'cgroups.freeze' flake that is plaguing CI. While I'm at it: - remove a no-longer-needed dnf upgrade that was running in CI itself (not image building, in each actual CI run). The purpose was to upgrade conmon, but that was added a long time ago and the required conmon is now in stable. The effect of this dnf upgrade today was simply to cause flakes when fedora repos were offline. - remove a no-longer-needed check for varlink. - networking.sh : add a timeout! 'openssl s_client' will happily hang forever if a host is unreachable, which means we waste two hours waiting for Cirrus to time out. - timestamp.awk : include date (not just time) in START/END msgs. There are times when I'm looking at a CI log and it is ultra important to know if it is from yesterday or today. - add progress messages in some places where I've previously struggled to understand context in logs; and improve some unlikely error messages to include script name. ...then, after all that, wrote a new README about how to to all this. Hope it helps someone. Signed-off-by: Ed Santiago <santiago@redhat.com>
* Cirrus: Switch to freshly built imageChris Evich2020-07-22
| | | | | | | Note: The libpod -> podman change in the image name comes by way of an intentional repository rename. Signed-off-by: Chris Evich <cevich@redhat.com>
* Merge pull request #6955 from edsantiago/logformatter_fix_bucket_nameOpenShift Merge Robot2020-07-22
|\ | | | | logformatter: update MAGIC BLOB string
| * logformatter: update MAGIC BLOB stringEd Santiago2020-07-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fallout from libpod->podman repo name move: the HTML logs created by logformatter are no longer accessible. They render as: https://storage.googleapis.com/SECRET-5385732420009984-fcae48/artifacts/containers/podman/6313596734930944/html/integration_test.log.html (yes, "SECRET" instead of "cirrus-ci". Possibly because the GCE_SSH_USERNAME key, "cirrus-ci", was overzealously encrypted, making Cirrus censor any instances of the string in output. Let's see if this fixes it. But anyway this is a secondary unrelated bug). Reason: it looks like Cirrus "generated a new magic blob" when we renamed libpod -> podman. Chris was kind enough to locate the new magic blob and to give me a link to where we can discover it ourselves. I added that as a code comment. Signed-off-by: Ed Santiago <santiago@redhat.com>
* | Switch references from libpod.conf to containers.confDaniel J Walsh2020-07-20
|/ | | | Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
* Cleanup nix derivation for static buildsWong Hoi Sing Edison2020-07-18
| | | | Signed-off-by: Wong Hoi Sing Edison <hswong3i@gmail.com>
* Cirrus: Rotate keys post repo. renameChris Evich2020-07-08
| | | | | | | | | Encode credentials at new repository settings page https://cirrus-ci.com/settings/repository/6707778565701632 Ref: https://cirrus-ci.org/guide/writing-tasks/#encrypted-variables Signed-off-by: Chris Evich <cevich@redhat.com>
* Merge pull request #6530 from edsantiago/test_podman_remoteOpenShift Merge Robot2020-06-10
|\ | | | | Enable, then partially disable, podman-remote testing
| * WIP: Enable (and disable) remote testingEd Santiago2020-06-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | podman-remote has not been tested. A principal part of the problem was #5387 - the YAML I wrote did not have the intended effect, it did not set TEST_REMOTE_CLIENT=true and because of my multiple iterations I did not catch this during testing. Part 1 of this PR is to fix .cirrus.yml to enable remote tests. Part 2 -- what I had first noticed and tried to fix -- is that rootless_test.sh was never running remote because, of course, envariables are not sent via ssh. I reworked integration_test.sh and rootless_test.sh to use a command-line decision instead. Part 3, sigh, is to disable one failing integration test and *all* system tests, because so many of the latter are failing. Addressing those failures needs to be done in subsequent PRs. Issues #6538, #6539, #6540 are filed for some of the problems I isolated. There will be more. Also, minor, fixed some stale references to varlink. Signed-off-by: Ed Santiago <santiago@redhat.com>