102 Commits

Author SHA1 Message Date
7633bd3b1b Merge pull request #1936 from cevich/cirrus_packaged_deps
Cirrus: Use packaged-based dependencies
2019-07-09 00:16:45 +02:00
473d060454 cirrus: add test for compiling without cgo
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-07-02 16:41:11 +02:00
3d559df540 Cirrus: Use packaged dependencies
Building/installing dependencies from fixed source-version ensures
testing is reliable, but introduces a maintenance burden and
risks testing far outside of a real-world environment.  The
sensible alternative is to install dependencies from distro-packaging
systems.

Install all development and testing dependencies at VM cache-image build
time, to help ensure testing remains stable.  The existing cache-image
build workflow can be utilized at any future time to build/test
with updated packages.

***N/B***: This does not update any dockerfiles used by testing, that is
left up to future efforts.

Signed-off-by: Chris Evich <cevich@redhat.com>
2019-06-27 09:05:26 -04:00
cd78825be7 Cirrus: More tests to verify cache_images
Signed-off-by: Chris Evich <cevich@redhat.com>
2019-06-25 15:45:12 -04:00
72260a296c Merge pull request #3414 from vrothberg/go-modules
Go modules
2019-06-24 16:52:02 +02:00
d697456dc9 migrate to go-modules
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2019-06-24 13:20:59 +02:00
a06bb80b4b update cirrus image
Signed-off-by: Peter Hunt <pehunt@redhat.com>
2019-06-21 11:39:29 -04:00
284208a238 Update conmon to include attach socket unlink
Signed-off-by: Peter Hunt <pehunt@redhat.com>
2019-06-21 10:55:24 -04:00
7be87f5551 Merge pull request #3078 from cevich/cirrus_f30
Cirrus F30
2019-06-19 16:13:47 +02:00
d6f436204f run BATS tests in Cirrus
I'm running the BATS tests manually once in a while, and
catching several problems each week that make it past
the rest of CI. Since the BATS tests run at RPM gating
time, we need to catch problems earlier. Try running
the tests from Cirrus.

Tests will be skipped on Ubuntu due to a too-ancient
version of coreutils (8.28; the 'timeout -v' we use
requires 8.29).

Tests are run *after* integration tests, even though
these take three minutes and would be nice to have
fail quickly, because running before causes bizarre
CI failures. Shrug.

UPDATE: also fix run test, broken by #3311.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2019-06-17 13:41:14 -06:00
058c93f850 Merge pull request #3308 from cevich/always_collect_logs
Cirrus: Simplify log collection commands
2019-06-17 21:38:25 +02:00
11484580d3 Cirrus: Add support for testing F30
Remove disused `build_cache_images` task, and
update relevant dockerfiles for F30.

Fix problem of cloud-init failing to expand root-device on boot
(/var/lib/cloud/instance left in improper state).

Fix problem of cloud-init racing with google-network-daemon.service on
boot (looking for cloudconfig metadata too early).  Causing
root-device to _sometimes_ fail to expand.

Fix problem of hack/get_ci_vm.sh argument passing.

Signed-off-by: Chris Evich <cevich@redhat.com>
2019-06-14 13:41:58 -04:00
4e9f5e5f2b Cirrus: Simplify log collection commands
Signed-off-by: Chris Evich <cevich@redhat.com>
2019-06-14 08:49:18 -04:00
ef9e0ec6cb Bump cirrus images
Signed-off-by: Peter Hunt <pehunt@redhat.com>
2019-06-13 13:21:09 -04:00
a3ed16416f Bump conmon to 0.3.0
This enables cgroup v2 OOM

Signed-off-by: Peter Hunt <pehunt@redhat.com>
2019-06-13 12:03:57 -04:00
8baa897356 Cirrus: New images w/o buildah
Signed-off-by: Chris Evich <cevich@redhat.com>
2019-06-10 12:56:12 -04:00
ae16fa33d7 Cirrus: Minor cleanup of dependencies and docs
Signed-off-by: Chris Evich <cevich@redhat.com>
2019-06-06 15:33:01 -04:00
e601c8ea38 Cirrus: Disable testing on F28 (EOL)
Signed-off-by: Chris Evich <cevich@redhat.com>
2019-06-04 10:44:37 -04:00
d1c44ea856 split rootless local and remote testing
Signed-off-by: baude <bbaude@redhat.com>
2019-05-31 14:54:06 -05:00
52c86775be cirrus: update images w/ zip pkg
Signed-off-by: Chris Evich <cevich@redhat.com>
2019-05-23 11:28:31 -04:00
bd0ac639bf Cirrus: Fix missing CRIO_COMMIT -> CONMON_COMMIT
Signed-off-by: Chris Evich <cevich@redhat.com>
2019-05-21 10:56:47 -04:00
1a2055ffac Cirrus: Stub in F30 support
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>
2019-05-21 08:44:02 -04:00
95141f88d4 Cirrus: fixups based on review feedback
Also remove disused distros (RHEL/CentOS/FAH) and fix get_ci_vm script

Signed-off-by: Chris Evich <cevich@redhat.com>
2019-05-21 08:44:02 -04:00
c4d9b03f78 Cirrus: Overhaul/Simplify env. var setup
Signed-off-by: Chris Evich <cevich@redhat.com>
2019-05-21 08:44:02 -04:00
51a95e6ef1 Cirrus: Run tests on test-built cache-images
Also, add jq and catatonit installs to images.

Signed-off-by: Chris Evich <cevich@redhat.com>
2019-05-21 08:44:01 -04:00
191a08ae43 Cirrus: Support testing of VM cache-image changes
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>
2019-05-21 08:44:01 -04:00
84c6f7c55d Cirrus: Remove "too new" runc hack
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>
2019-05-21 08:44:01 -04:00
0f31c6bdc4 Cirrus: Confirm networking is working
Thanks to @edsantiago for suggestion to use nc

Signed-off-by: Chris Evich <cevich@redhat.com>
2019-05-17 13:25:59 -04:00
95d90c1de7 Merge pull request #3127 from mheon/fix_start_race
Ensure that start() in StartAndAttach() is locked
2019-05-16 01:08:05 +02:00
d1f82231d6 Add debug mode to Ginkgo, collect debug logs in Cirrus
Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-05-15 12:07:16 -04:00
a86aa4b1e9 split remote tests from distro tests
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>
2019-05-13 12:17:55 -05:00
6c8b548160 Cirrus: Add missing task dependencies
Signed-off-by: Chris Evich <cevich@redhat.com>
2019-05-03 15:04:48 -04:00
b648ca0810 Cirrus: Add check for make varlink_api_generate
Signed-off-by: Chris Evich <cevich@redhat.com>
2019-05-03 15:04:48 -04:00
074a26f7a1 Cirrus: Add pipefail confirmation check
Signed-off-by: Chris Evich <cevich@redhat.com>
2019-05-02 15:03:16 -04:00
3ab67b9c30 Cirrus: timestamp all output script output
Also remove direct time-stamping by CI scripts that would compete.

Signed-off-by: Chris Evich <cevich@redhat.com>
2019-05-02 15:03:15 -04:00
ad68036a88 Merge pull request #3031 from baude/remotewindows
enable podman-remote on windows
2019-05-01 16:20:41 +02:00
0b6bb6a3d3 enable podman-remote on windows
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>
2019-04-30 15:28:39 -05:00
8e84291643 Merge pull request #2992 from cevich/collect_audit_log
Cirrus: Collect audit log on success and failure
2019-04-30 20:41:29 +02:00
3d6f787d7d Cirrus: Collect audit log on success and failure
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>
2019-04-25 11:32:47 -04:00
4072f2738b Cirrus: Use freshly built images
Signed-off-by: Chris Evich <cevich@redhat.com>
2019-04-24 14:25:45 -04:00
c008cf569c Cirrus: Bump up runc commit
Signed-off-by: Chris Evich <cevich@redhat.com>
2019-04-24 14:25:45 -04:00
23602de816 Revert "Switch to golangci-lint"
Signed-off-by: baude <bbaude@redhat.com>
2019-04-05 20:09:45 -05:00
5099f189a5 Increase CI resources to help avoid hitting timeouts
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>
2019-04-04 18:14:05 -04:00
599714d9f2 Cirrus: Support special-case modes of testing
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>
2019-04-03 09:57:20 -04:00
bb068e46f0 Cirrus: Verify manpages for all subcommands exist
fixes #2630

Signed-off-by: Chris Evich <cevich@redhat.com>
2019-03-21 10:47:27 -04:00
bae1561c99 Merge pull request #2711 from cevich/parallel_vendor_check
Cirrus: Run vendor check in parallel
2019-03-20 07:02:10 -07:00
85ff086820 Cirrus: Run vendor check in parallel
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>
2019-03-19 17:14:40 -04:00
37eb694bd0 Cirrus: Various fixes for rootless testing
* 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>
2019-03-19 13:00:18 -04:00
c6b205be77 Enable rootless integration tests
Signed-off-by: baude <bbaude@redhat.com>
2019-03-19 15:01:48 +01:00
8dd6edacff Cirrus: Disable master-success IRC notices
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>
2019-03-18 13:37:22 -04:00