summaryrefslogtreecommitdiff
path: root/contrib/cirrus
Commit message (Collapse)AuthorAge
* CI: format cirrus logsEd Santiago2020-03-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This introduces a new cirrus helper script, logformatter. Usage is: [commands...] | logformatter TEST-NAME It reformats its input into a readable, highlighed, linkable form. Some features: - boring stuff (timestamps, standard podman options) is deemphasized - important stuff (warnings, errors) is emphasized - in-page links to the actual failures - active links to source files - jumps to bottom of page on load, because that's where the errors are. (All errors are linked) Add it to select test commands (integration, system) and add a new artifacts_html, run in the 'always' block, which uploads generated *.log.html into Cirrus; from there we generate a live URL that can be viewed in browser. Unfortunately, due to security concerns in Cirrus, it is not currently possible to make the link a live one. Kludge: add a line of dashes after Restoring images; without this, the first test ("systemd PID 1") has no dashes before it, so logformatter doesn't see it. Signed-off-by: Ed Santiago <santiago@redhat.com>
* CI: add API v2 testsEd Santiago2020-03-02
| | | | | | | | | | API v2 has been quiet for a few days, and the test script is actually passing. Let's take advantage of this opportunity to get them running in CI. Requires adding a check for cgroupsv2 Signed-off-by: Ed Santiago <santiago@redhat.com>
* Cirrus: Force runc use in F30Chris Evich2020-02-28
| | | | | | | | | | | Suspect crun might be sneaking in during VM image build via podman RPM dependency. Add it to the removal list when building, then also force use of runc at runtime in F30. Also quote all true/false vars to force them as strings instead of booleans (which will become capitalized) Signed-off-by: Chris Evich <cevich@redhat.com>
* Cirrus: Remove unnecessary handle_crun workaroundChris Evich2020-02-28
| | | | Signed-off-by: Chris Evich <cevich@redhat.com>
* Cirrus: Print env. vars at end of setup.Chris Evich2020-02-28
| | | | | | | There are a number of env. vars set during the setup script. Therefore displaying them at end of the script is more helpful for debugging. Signed-off-by: Chris Evich <cevich@redhat.com>
* Cirrus: Fix not growing Fedora rootChris Evich2020-02-28
| | | | Signed-off-by: Chris Evich <cevich@redhat.com>
* CI: package_versions: include hostinfo, kernelEd Santiago2020-02-27
| | | | | | | | | | | | | | In the package_versions CI step, include Fedora/Ubuntu version, uname -r, and cgroups version. Cgroups version is simply the FS type of /sys/fs/cgroup, which shows 'tmpfs' for v1 and 'cgroup2fs' for v2. I don't think it's worth the effort to prettify those into 'v1/v2' - I think our readers are sophisticated enough to figure it out from context - but am willing to add that feature if requested. Signed-off-by: Ed Santiago <santiago@redhat.com>
* Cirrus: SELinux Enforcing for F31 w/ CGv2Chris Evich2020-02-25
| | | | Signed-off-by: Chris Evich <cevich@redhat.com>
* Cirrus: collect podman system infoChris Evich2020-02-25
| | | | Signed-off-by: Chris Evich <cevich@redhat.com>
* Cirrus: F31: Force systemd cgroup mgrChris Evich2020-02-25
| | | | Signed-off-by: Chris Evich <cevich@redhat.com>
* Cirrus: Handle runc->crun when both are possibleChris Evich2020-02-25
| | | | | | | | | | In some distributions it's possible to have both runc and crun installed and/or for podman to be confused about which to use. In these instances, force the decision by adding `OCI_RUNTIME=/usr/bin/crun` into `/etc/environment`. Also in-place modify libpod.conf to use 'crun' instead of 'runc' Signed-off-by: Chris Evich <cevich@redhat.com>
* Cirrus: Use deadline elevator in F31Chris Evich2020-02-25
| | | | | | | | | | | | The default scheduler is BFQ but integration tests run into https://bugzilla.redhat.com/show_bug.cgi?id=1767539 aka https://bugzilla.kernel.org/show_bug.cgi?id=205447 Using the deadline elevator as a workaround. Signed-off-by: Chris Evich <cevich@redhat.com>
* Cirrus: Support testing with F31Chris Evich2020-02-25
| | | | Signed-off-by: Chris Evich <cevich@redhat.com>
* enable ci on go binding testsBrent Baude2020-02-22
| | | | Signed-off-by: Brent Baude <bbaude@redhat.com>
* [CI:DOCS]Connect API docs and RTDbaude2020-01-17
| | | | Signed-off-by: baude <bbaude@redhat.com>
* post-process swagger yaml for publishbaude2020-01-17
| | | | | Signed-off-by: baude <bbaude@redhat.com> Signed-off-by: Chris Evich <cevich@redhat.com>
* Merge pull request #4817 from rhatdan/codespellOpenShift Merge Robot2020-01-13
|\ | | | | Add codespell to validate spelling mistakes in code.
| * Add codespell to validate spelling mistakes in code.Daniel J Walsh2020-01-11
| | | | | | | | | | | | Fix all errors found by codespell Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
* | Cirrus: Fix libpod base images going staleChris Evich2020-01-10
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | VM Base images are used as a starting point for runtime VM images. The in-use VM base images should never be pruned, which is an operation that potentially occurs periodically from automation running on the master branch of the libpod repo. However the only place which updates timestamps (blocking pruning) of base images, occurs during runtime VM image building. Therefor, if images are not regularly rebuilt, it's possible their base images go stale and are pruned. Changes: * Add freshly-produced base images (old ones got pruned) * Wrap the timestamp update script to include base image names in the update list. Notes: * Regularly updating base image timestamps only needs to happen on the libpod repo's meta task, since all base images live there. * Using a wrapper is needed to maintain compatibility with multiple versions of the imgts container image used by other repos / branchs. Signed-off-by: Chris Evich <cevich@redhat.com>
* codespell: spelling correctionsDmitry Smirnov2019-11-13
| | | | Signed-off-by: Dmitry Smirnov <onlyjob@member.fsf.org>
* Add support for make vendor-in-containerDaniel J Walsh2019-11-08
| | | | Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
* Merge pull request #4379 from cevich/fix_upload_release_archiveOpenShift Merge Robot2019-10-30
|\ | | | | Cirrus: Fix upload_release_archive on branch or tag
| * Cirrus: Fix upload_release_archive on branch or tagChris Evich2019-10-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Cirrus-CI only sets `$CIRRUS_BASE_SHA` when testing PRs since the destination and it's state is easy to discover. However, when post-merge and/or tag-push testing, the previous state is not easily discoverable (changes have already merged). The `upload_release_archive` script incorrectly assumed this variable was always set, causing a constant stream of post-merge testing failures. Tweak the `is_release()` function to properly handle an empty `$CIRRUS_BASE_SHA` whether or not `$CIRRUS_TAG` is also set. Also update the unit-tests to check for this. Also account for a corner case where hack/get_ci_vm.sh is running on a VM w/o git. Signed-off-by: Chris Evich <cevich@redhat.com>
* | Merge pull request #4365 from cevich/safe_loadOpenShift Merge Robot2019-10-30
|\ \ | | | | | | Cirrus: Fix minor python deprecation warning
| * | Cirrus: Fix minor python deprecation warningChris Evich2019-10-29
| | | | | | | | | | | | Signed-off-by: Chris Evich <cevich@redhat.com>
* | | build: drop support for ostreeGiuseppe Scrivano2019-10-30
| |/ |/| | | | | | | | | | | it is going to be removed from containers/image as well, so no longer depend on it. Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
* | Cirrus: Only upload tagged releasesChris Evich2019-10-29
|/ | | | | | | | | | | | | | | | | | Prior to this commit, every push to master had it's builds packaged and uploaded to google storage. This is a waste, since potential users are only ever concerned about tagged releases. Unfortunately because the release process involves humans with potentially multiple human and automation steps happening in parallel, it's easy for automation to not detect a tagged release, or trigger on development|pre-release tags. Fix this in `upload_release_archive.sh` using a new unit-tested function `is_release()`. This acts as the definitive authority on whether or not a specific commit rage or `$CIRRUS_TAG` value constitutes something worthy of upload. Signed-off-by: Chris Evich <cevich@redhat.com>
* Merge pull request #4222 from cevich/collect_varlink_logOpenShift Merge Robot2019-10-09
|\ | | | | Cirrus: Produce and collect varlink output
| * Cirrus: Produce and collect varlink outputChris Evich2019-10-08
| | | | | | | | | | | | | | | | | | | | | | | | | | When executing 'make remotesystem' testing, a varlink process is started up but it's stdio is dumped due to the production of excessive data. However, this also means if the process has a problem, any errors will not be accessible. Instead, grab only the last 100 lines and direct them into a file. Also update automation's log collection to retrieve this file when the `$REMOTE_CLIENT` env. var. is `true`. Signed-off-by: Chris Evich <cevich@redhat.com>
* | Cirrus: Install conmon in Fedora VMsChris Evich2019-10-07
|/ | | | | | | | | | This is needed because older versions of podman (1.5.1) do not automatically install the new conmon package. Also, include removal of `/usr/libexec/podman/conmon` when preparing to install and test podman built from source. Signed-off-by: Chris Evich <cevich@redhat.com>
* Cirrus: Simplify package NVR loggingChris Evich2019-10-03
| | | | | | Also include runc/crun version for Fedora Signed-off-by: Chris Evich <cevich@redhat.com>
* Merge pull request #4154 from cevich/show_packagesOpenShift Merge Robot2019-10-01
|\ | | | | Cirrus: Show names/versions of critical packages
| * Cirrus: Show names/versions of critical packagesChris Evich2019-10-01
| | | | | | | | | | | | | | Adds an output to all testing tasks which lists the names/versions of critical/essential packages present on the VM. Signed-off-by: Chris Evich <cevich@redhat.com>
* | Merge pull request #4090 from vrothberg/build-catatonitOpenShift Merge Robot2019-10-01
|\ \ | |/ |/| Build catatonit
| * catatonit: clone and buildValentin Rothberg2019-09-25
| | | | | | | | | | | | | | | | Instead of unconditionally pulling the x86 binary, clone the repository and build the binary to make it independent of the architecture. Fixes: #2699 Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
* | Merge pull request #4100 from cevich/cache_image_docsOpenShift Merge Robot2019-09-29
|\ \ | | | | | | Cirrus: VM Image accounting doc update
| * | Cirrus: VM Image accounting doc updateChris Evich2019-09-24
| |/ | | | | | | Signed-off-by: Chris Evich <cevich@redhat.com>
* | Merge pull request #4028 from cevich/add_bash_completion_supportOpenShift Merge Robot2019-09-29
|\ \ | | | | | | cirrus: Add bash-completion support
| * | Cirrus: Disable boottime Ubuntu package updateChris Evich2019-09-26
| | | | | | | | | | | | Signed-off-by: Chris Evich <cevich@redhat.com>
| * | cirrus: Add bash-completion supportChris Evich2019-09-26
| |/ | | | | | | | | | | | | | | This is fairly standard thing to have on a user's workstation, supported by podman. When installed in a VM image, then it's useful for debugging with `hack/get_ci_vm.sh` at the cost of a minor increase in disk-space. Signed-off-by: Chris Evich <cevich@redhat.com>
* / Cirrus: Upload windows MSI release fileChris Evich2019-09-24
|/ | | | Signed-off-by: Chris Evich <cevich@redhat.com>
* Merge pull request #4071 from cevich/more_podbotOpenShift Merge Robot2019-09-22
|\ | | | | Cirrus: More podbot/success improvements
| * Cirrus: More podbot/success improvementsChris Evich2019-09-20
| | | | | | | | | | | | | | | | | | | | | | * Fix one disused and two missing required env. vars. * Slightly optomize processing of commit-author names * Fix problem of printing duplicate author names when there are multiple commits. * Fix bot's IRC connection timeout too short. * Add a single retry of IRC connection after 5-second delay. Signed-off-by: Chris Evich <cevich@redhat.com>
* | Cirrus: disable Evil Units in base-imagesChris Evich2019-09-20
| | | | | | | | | | | | Also, minor update to prevent harmless 'Fatal: not a git repo' error. Signed-off-by: Chris Evich <cevich@redhat.com>
* | Cirrus: Add latest ubuntuChris Evich2019-09-20
|/ | | | | | | | | | | | Add the latest Ubuntu version into the testing matrix and image-build workflow. This is also needed to support other containers projects which share use of VM images from this one. Update package lists to include needs for contianers/storage use of images. Signed-off-by: Chris Evich <cevich@redhat.com>
* Cirrus: Fix success scriptChris Evich2019-09-20
| | | | | | | | | Fixed a typo. Also script was grabbing quotes and other non-email-address junk while looping. Filter before and after to make sure we get 'em all. Signed-off-by: Chris Evich <cevich@redhat.com>
* Merge pull request #4051 from giuseppe/use-crun-pkgOpenShift Merge Robot2019-09-20
|\ | | | | tests: use crun package
| * tests: use crun packageGiuseppe Scrivano2019-09-19
| | | | | | | | Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
* | Merge pull request #3985 from cevich/verify_no_podmanOpenShift Merge Robot2019-09-19
|\ \ | |/ |/| Cirrus: Prevent resident pollution
| * Cirrus: Prevent resident pollutionChris Evich2019-09-10
| | | | | | | | | | | | | | | | | | | | | | | | | | When constructing VM cache-images, the latest/greatest podman package is installed to ensure all necessary dependencies are met. Prior to testing source-built binaries, most of of the packaged files are removed. However, if the `io.podman` service or socket is enabled/running, it could cause the packaged podman and varlink binaries to be both resident and cached. Since this condition would cause very difficult to diagnose behaviors, add preventative measures to ensure these services are absent prior to removing packaged podman files. Signed-off-by: Chris Evich <cevich@redhat.com>