summaryrefslogtreecommitdiff
path: root/.cirrus.yml
Commit message (Collapse)AuthorAge
* 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>
* | Merge pull request #6193 from cevich/conmon_ci_packagesOpenShift Merge Robot2020-06-09
|\ \ | |/ |/| Cirrus: Include packages for containers/conmon CI
| * Cirrus: Include packages for containers/conmon CIChris Evich2020-06-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows the containers/conmon repository to share the same VM images produced by containers/libpod. Included are several packages which are downloaded only since they might otherwise interfere with testing for some repos. This allows stable versions to be at the ready at testing runtime, avoiding any version updates surprising developers. Also, re-enable running the VM-image check test which was not working due to a logic problem in Cirrus-CI configuration. Update the neglected tests so that they pass on all distros. Signed-off-by: Chris Evich <cevich@redhat.com>
* | Enable Ubuntu tests in CIBrent Baude2020-06-08
|/ | | | | | Add updates required for ubuntu and run integration tests Signed-off-by: Brent Baude <bbaude@redhat.com>
* Merge pull request #6338 from rhatdan/build3OpenShift Merge Robot2020-06-04
|\ | | | | Attempt to turn on special_testing_in_podman tests
| * Attempt to turn on special_testing_in_podman testsDaniel J Walsh2020-06-04
| | | | | | | | Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
* | Turn on the podman-commands script to verify man pagesDaniel J Walsh2020-06-04
|/ | | | Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
* default build without `varlink` tagLokesh Mandvekar2020-05-29
| | | | | | | | | | | | | Issue gh#6286 was already fixed in a prior commit but the Makefile still ran some varlink steps by default. This commit makes any varlink build steps dependent on the varlink build tag and also makes the contrib rpm spec file independent of varlink. Endpoint tests will be run only if BUILDTAGS contains varlink. Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
* Turn on Fedora testingDaniel J Walsh2020-05-23
| | | | Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>