summaryrefslogtreecommitdiff
path: root/contrib/cirrus
Commit message (Collapse)AuthorAge
* Four small CI fixes:Ed Santiago2020-03-16
| | | | | | | | | | | | | | | | | | | 1) 'podman system info' (in logcollector): has been silently failing in special_testing_rootless, with: logcollector.sh: line 16: podman: command not found Use ./bin/podman instead of just podman; this is probably the right thing to do in the general case anyway 2) logformatter: highlight 'panic:', seen in bindings test: https://storage.googleapis.com/cirrus-ci-5385732420009984-fcae48/artifacts/containers/libpod/6693715108429824/html/integration_test.log.html 3) logformatter: handle Unicode bullet in front of 'Running', seen in bindings test. 4) logformatter: turn down contrast on BATS 'ok' results, for legibility Signed-off-by: Ed Santiago <santiago@redhat.com>
* turn off color-mode for bindingsBrent Baude2020-03-12
| | | | | | the binding ginkgo tests were using color mode which throws in a bunch of ansi garbage that makes it hard to read the logs Signed-off-by: Brent Baude <bbaude@redhat.com>
* Fix spelling mistakes in code found by codespellDaniel J Walsh2020-03-07
| | | | Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
* add default network for apiv2 createBrent Baude2020-03-06
| | | | | | | | | | | | | during container creation, if no network is provided, we need to add a default value so the container can be later started. use apiv2 container creation for RunTopContainer instead of an exec to the system podman. RunTopContainer now also returns the container id and an error. added a libpod commit endpoint. also, changed the use of the connections and bindings slightly to make it more convenient to write tests. Fixes: 5366 Signed-off-by: Brent Baude <bbaude@redhat.com>
* Merge pull request #5039 from cevich/fix_gobin_exit_bugOpenShift Merge Robot2020-03-05
|\ | | | | Cirrus: Fix gate image & false-positive exits
| * Cirrus: Fix gate image & false-positive exitsChris Evich2020-03-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A number of scripts relating to tooling used and the gate container image were not exiting upon errors as intended. Coupled with external service unavailability (i.e. downloading golangci-lint) was observed to cause difficult to debug failures. This change corrects the scripts inside/out of the gate container as well as fixes many golang related path consistency problems vs other CI jobs. After this change, all jobs use consistent path names reducing the number of special-case overrides needed. Lastly, I also made a documentation-pass, updating/correcting as needed, including documenting a likely local validation-failure mode, related to `$EPOCH_TEST_COMMIT`. This is dependent on the developers git environment, so documentation is the only possible "fix". Signed-off-by: Chris Evich <cevich@redhat.com>
* | 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>