summaryrefslogtreecommitdiff
path: root/.cirrus.yml
Commit message (Collapse)AuthorAge
* Cirrus: Stub in F30 supportChris Evich2019-05-21
| | | | | | | | | | | New base-image boots, a cache-image builds, but more work is needed for it to be prime-time ready. This commit just adds some updates to the scafolding necessary to build the base-image. Future work will make F30 more of a reality. Also add log-collection scripts to test image verification task Signed-off-by: Chris Evich <cevich@redhat.com>
* Cirrus: fixups based on review feedbackChris Evich2019-05-21
| | | | | | Also remove disused distros (RHEL/CentOS/FAH) and fix get_ci_vm script Signed-off-by: Chris Evich <cevich@redhat.com>
* Cirrus: Overhaul/Simplify env. var setupChris Evich2019-05-21
| | | | Signed-off-by: Chris Evich <cevich@redhat.com>
* Cirrus: Run tests on test-built cache-imagesChris Evich2019-05-21
| | | | | | Also, add jq and catatonit installs to images. Signed-off-by: Chris Evich <cevich@redhat.com>
* Cirrus: Support testing of VM cache-image changesChris Evich2019-05-21
| | | | | | | | | | | | Previously, it was quite difficult to affect changes to VM cache images without lots of manual work. This commit adds a new optional testing task which mirrors the official-image build task which only runs on master. In contrast, the new task may be run at any time in a PR, but including a magic phrase in the PR description. Update documentation to describe the new task and inform on it's usage. Signed-off-by: Chris Evich <cevich@redhat.com>
* Cirrus: Remove "too new" runc hackChris Evich2019-05-21
| | | | | | | | | Hack was to workaround not having fix for: https://bodhi.fedoraproject.org/updates/FEDORA-2019-b4356521ba Update `RUNC_COMMIT` value to match commit id to working package. Signed-off-by: Chris Evich <cevich@redhat.com>
* Cirrus: Confirm networking is workingChris Evich2019-05-17
| | | | | | Thanks to @edsantiago for suggestion to use nc Signed-off-by: Chris Evich <cevich@redhat.com>
* Merge pull request #3127 from mheon/fix_start_raceOpenShift Merge Robot2019-05-16
|\ | | | | Ensure that start() in StartAndAttach() is locked
| * Add debug mode to Ginkgo, collect debug logs in CirrusMatthew Heon2019-05-15
| | | | | | | | Signed-off-by: Matthew Heon <matthew.heon@pm.me>
* | split remote tests from distro testsbaude2019-05-13
|/ | | | | | | | We want the remote tests for our distributions to be tested in a different VM than the local tests. This allows for faster CI runs and easier debug as well as seperation of flakes. Signed-off-by: baude <bbaude@redhat.com>
* Cirrus: Add missing task dependenciesChris Evich2019-05-03
| | | | Signed-off-by: Chris Evich <cevich@redhat.com>
* Cirrus: Add check for make varlink_api_generateChris Evich2019-05-03
| | | | Signed-off-by: Chris Evich <cevich@redhat.com>
* Cirrus: Add pipefail confirmation checkChris Evich2019-05-02
| | | | Signed-off-by: Chris Evich <cevich@redhat.com>
* Cirrus: timestamp all output script outputChris Evich2019-05-02
| | | | | | Also remove direct time-stamping by CI scripts that would compete. Signed-off-by: Chris Evich <cevich@redhat.com>
* Merge pull request #3031 from baude/remotewindowsOpenShift Merge Robot2019-05-01
|\ | | | | enable podman-remote on windows
| * enable podman-remote on windowsbaude2019-04-30
| | | | | | | | | | | | | | build a podman-remote binary for windows that allows users to use the remote client on windows and interact with podman on linux system. Signed-off-by: baude <bbaude@redhat.com>
* | Merge pull request #2992 from cevich/collect_audit_logOpenShift Merge Robot2019-04-30
|\ \ | |/ |/| Cirrus: Collect audit log on success and failure
| * Cirrus: Collect audit log on success and failureChris Evich2019-04-25
| | | | | | | | | | | | | | Also rename `master_script` -> `failed_master_script` to clarify it's "place in the line" when viewing (Cirrus WebUI) Signed-off-by: Chris Evich <cevich@redhat.com>
* | Cirrus: Use freshly built imagesChris Evich2019-04-24
| | | | | | | | Signed-off-by: Chris Evich <cevich@redhat.com>
* | Cirrus: Bump up runc commitChris Evich2019-04-24
|/ | | | Signed-off-by: Chris Evich <cevich@redhat.com>
* Revert "Switch to golangci-lint"Brent Baude2019-04-05
| | | | Signed-off-by: baude <bbaude@redhat.com>
* Increase CI resources to help avoid hitting timeoutsMatthew Heon2019-04-04
| | | | | | | | | | | | | | | The build_each_commit task builds each commit in a pull request to verify that we have a (at least minimally) functional Podman at every point, to aid in bisecting. This task is, right now, extremely slow, taking around 1m40s to build each commit - which quickly grows unreasonable as PRs grow to 10+ commits. Upping resources available to the task should decrease time spent in CI and reduce the risk of hitting timeouts. Signed-off-by: Matthew Heon <matthew.heon@pm.me>
* Cirrus: Support special-case modes of testingChris Evich2019-04-03
| | | | | | | | | | | | | | | | | | | | | | Previously libpod CI was fairly straight-forward, run unit and integration tests in a standard set of 3 VMs. Off on the side was a single special case of running tests as an ordinary user. There is a desire to stop using the PAPR system to support testing inside of a container. Since having two special cases potentially invites more down the road, make provisions to handle them more gracefully. This commit introduces an environment variable: ``$SPECIALMODE``. It's value has the following meanings within the CI scripts: Mode 'none': Nothing special, business as usual (default) Mode 'rootless': Rootless testing Mode 'in_podman': Build container, run integration tests in it. This will make adding additional special-cases later easier, as well as extending the special cases in a Matrix across multiple OS's. Signed-off-by: Chris Evich <cevich@redhat.com>
* Cirrus: Verify manpages for all subcommands existChris Evich2019-03-21
| | | | | | fixes #2630 Signed-off-by: Chris Evich <cevich@redhat.com>
* Merge pull request #2711 from cevich/parallel_vendor_checkOpenShift Merge Robot2019-03-20
|\ | | | | Cirrus: Run vendor check in parallel
| * Cirrus: Run vendor check in parallelChris Evich2019-03-19
| | | | | | | | | | | | | | | | This task is heavily network bound, and takes way too long to include along with the gating task. Separate it out and run it in parallel to everything else. Also add some reasonable timeouts. Signed-off-by: Chris Evich <cevich@redhat.com>
* | Cirrus: Various fixes for rootless testingChris Evich2019-03-19
|/ | | | | | | | | * Randomize the user's UID and GID * Simplify `setup_environment.sh` * Support new "-r" option for `hack/get_ci_vm.sh` setting up rootless * Connect as $ROOTLESS_USER when using "-r" with `hack/get_ci_vm.sh` Signed-off-by: Chris Evich <cevich@redhat.com>
* Enable rootless integration testsbaude2019-03-19
| | | | Signed-off-by: baude <bbaude@redhat.com>
* Cirrus: Disable master-success IRC noticesChris Evich2019-03-18
| | | | | | | | | Since `on_failure` notification is working, and IRC activity is picking up, these messages mostly just get in the way. Leave the PR-testing success messages in place for now, since they're helpful when someone's waiting. Signed-off-by: Chris Evich <cevich@redhat.com>
* Cirrus: Update VM Cache imagesChris Evich2019-03-18
| | | | | | Undo short-term slirp4netns workaround (#2660) Signed-off-by: Chris Evich <cevich@redhat.com>
* Cirrus: Notify on IRC if post-merge testing failsChris Evich2019-03-15
| | | | | | | | | | | Until recently it was very difficult to execute any scripts if part of a task failed. A new feature in Cirrus-CI makes this easy. Use it to post a notice on IRC when any task fails. Also: Add quotes around yaml-string values for consistency and syntax-highlighting correctness. Signed-off-by: Chris Evich <cevich@redhat.com>
* Add gating tasksbaude2019-03-13
| | | | | | | | | | | to protect against regressions, we need to add a few gating tasks: * build with varlink * build podman-remote * build podman-remote-darwin we already have a gating task for building without varlink Signed-off-by: baude <bbaude@redhat.com>
* Merge pull request #2531 from cevich/rootless_stubOpenShift Merge Robot2019-03-09
|\ | | | | Cirrus: Add dedicated rootless mode testing
| * Cirrus: Add dedicated rootless mode testingChris Evich2019-03-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Certain integration tests require execution as a regular user. This is acomplished by `PodmanTest.PodmanAsUserBase()` wrapping a specialized execution environment, in `test/utils/utils.go`. However, doing this requires passing through python, which vastly increases the complexity of debugging low-level problems. This commit introduces a new parallel task, run as a regular user on the VM as set by three environment variables. All commands executed in the ``rootless_test.sh`` script, will occur as a real user with a name and home directory, just as `$DIETY` intended. All env. vars established during `environment_setup.sh` (for root) are available. The PR source in `$GOSRC` and `$GOPATH` are owned by this user, and ready for use. Signed-off-by: Chris Evich <cevich@redhat.com>
* | Cirrus: Use imgts container to record metadataChris Evich2019-03-06
|/ | | | | | | | | | | Make use of the built imgts container image to track VM image usage statistics for every automation run. Also update and add small check to the gate test that verifies expected formatting/content of the `.cirrus.yml` file WRT VM Image names. Signed-off-by: Chris Evich <cevich@redhat.com>
* Cirrus: Stop testing on RHELChris Evich2019-03-04
| | | | | | | | | | | | | It was found that after updating the cache-image for RHEL 7.6, unpredictable integration tests start failing with 'permission denied' errors. Much effort was spent trying to diagnose this, as all other platforms pass. Since running the latest/greatest podman on RHEL, will never be officially supported (by Red Hat - must use RPM podman) this matrix-item is of questionable value. Therefor, this commit disables RHEL testing. Signed-off-by: Chris Evich <cevich@redhat.com>
* Cirrus: Add BATS package for all platformsChris Evich2019-03-04
| | | | Signed-off-by: Chris Evich <cevich@redhat.com>
* Add a task to Cirrus gating to build w/o VarlinkMatthew Heon2019-02-27
| | | | | | | We had a regression on master where we broke the build for non-Varlink builds. Catch this in CI in the future. Signed-off-by: Matthew Heon <matthew.heon@pm.me>
* Cirrus: Install Go 1.11 on Ubuntu VMsChris Evich2019-02-22
| | | | | | | | | | | | | | There is no native package for this, so the packaged version must also be installed, otherwise all the support/dependencies would be removed also (like go-md2man). Fix this by installing from the google released tarball, into /usr/local/go and set $GOROOT to point there. Also, include a small fix for hack/get_ci_vm.sh not installing testing dependencies because of an old assumption. ***CIRRUS: REBUILD IMAGES*** Signed-off-by: Chris Evich <cevich@redhat.com>
* Cirrus: add vendor_check_taskValentin Rothberg2019-02-06
| | | | | | | | | | | * Make sure that all vendored dependencies are in sync with the code and the vendor.conf by running `make vendor` with a follow-up status check of the git tree. * Vendor ginkgo and gomega to include the test dependencies. Signed-off-by: Chris Evic <cevich@redhat.com> Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
* Merge pull request #2213 from cevich/cirrus_imgts_containerOpenShift Merge Robot2019-02-04
|\ | | | | [skip ci] Cirrus: Container for tracking image use
| * [skip ci] Cirrus: Container for tracking image useChris Evich2019-01-24
| | | | | | | | | | | | | | Once built, this container can be utilized by automation to help keep track of VM images. All parameters are passed in via env. vars. Signed-off-by: Chris Evich <cevich@redhat.com>
* | Cirrus: Add RHEL-7 testingChris Evich2019-01-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Add necessary tweaks to base-image build/import process so that image can successfully boot with networking enabled. Build the base image and update ``.cirrus.yml`` accordingly. Also make a minor improvement to cache-image building to help save space in GCP image storage. Namely, instead of storing every produced image, export them into google storage buckets w/ life-cycle enabled. For production use, they may be converted back into GCE images, otherwise they will expire after a time. Signed-off-by: Chris Evich <cevich@redhat.com>
* | Cirrus: Use freshly built imagesChris Evich2019-01-22
|/ | | | Signed-off-by: Chris Evich <cevich@redhat.com>
* Cirrus: Consolidate VM image names in once placeChris Evich2019-01-17
| | | | | | | | | | | | | | Previously it was not possible to specify keys from the ``env`` section in the various GCE sections. Now that features is added, consolidate all the cache image definitions into a single place, reducing maintenance burden. This also results in the names passing through into the VMs. This is useful, e.g. for future tracking of image usage statistics. Update get_ci_vm script hints for new image name definition format Signed-off-by: Chris Evich <cevich@redhat.com>
* Bump time for build_each_commit stepMatthew Heon2019-01-04
| | | | | | | The limit of build_each_commit seems to be 17 commits - any more and it times out. Give it a bit more time to work with. Signed-off-by: Matthew Heon <matthew.heon@pm.me>
* cirrus: Use updated images including new cruiChris Evich2018-12-21
| | | | | | | Also add two minor tweaks which were preventing images from building properly. Signed-off-by: Chris Evich <cevich@redhat.com>
* Cirrus: Skip build all commits test on masterChris Evich2018-12-19
| | | | | | | | | | | | | Fixes: git rebase origin/ -x make fatal: Needed a single revision invalid upstream 'origin/' make: *** [Makefile:351: build-all-new-commits] Error 1 By not running this test post-merge. Signed-off-by: Chris Evich <cevich@redhat.com>
* Makefile: validate that each commit can at least buildGiuseppe Scrivano2018-12-19
| | | | | | | | | it is very useful when using git bisect that at least the commit can build. got inspiration from: https://twitter.com/pid_eins/status/1072797993760423941 Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
* Cirrus: One IRC notice onlyChris Evich2018-12-18
| | | | | | | | | The podbot messages are becoming obnoxious as more distributions are tested. Only call the `success.sh` script once, after all testing was successful. Also make update the message to include more helpful text and url. Signed-off-by: Chris Evich <cevich@redhat.com>