Commit Graph

319 Commits

Author SHA1 Message Date
Brian Goff
af1e2af720 ci: upload junit formatted test results
This allows us to dig more details out of test runs and maintain a
better history.

For this we can use `gotestsum`, which is a utility that wraps `go test`
so that it outputs test2json (go's format) and output junit (a format
more easily imported into other systems).

The PR makes it possible to override the Makefile's use of `go test` to
use any other command tto executet the test. For CI we'll use `gotestsum
--`, where `gotestsum` expects everything after the `--` to be flags for
`go test`.
We then use environment variables to configure `gotestsum` (e.g.
`GOTESTSUM_JUNITFILE` is an env var accepted by `gotestsum`).

For cri tests, the test suite supports outputing test results to a
directory, these are in junit format already. The file is not named
properly just because the code that creates it (in ginkgo) is not
configured well. We can fix that upstream to give us a better name...
until then I'm keeping those results in a separate dir.

A second workflow is also added so the test results can be summed up and
a report added to the workflow run. The 2nd workflow is required for
this since PR runs do not have access to do some of this due to safety
reasons
(https://securitylab.github.com/research/github-actions-preventing-pwn-requests/)

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2021-03-31 17:00:49 +00:00
Derek McGowan
75a0c2b7d3 Merge pull request #5264 from mxpv/tests
Run unit tests on CI for MacOS
2021-03-25 09:46:25 -07:00
Maksym Pavlenko
55450e7730 Run unit tests on CI for MacOS
Though we don't officially support Apple platform, we should
at least run unit tests to make sure things are not broken.

Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com>
2021-03-24 22:10:04 -07:00
Brian Goff
311e326a1c Add CI job to cross compile all the things
This makes sure we can compile on all the platforms and prevent things
like integer overflows.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2021-03-24 22:57:56 +00:00
Derek McGowan
ec4d7736d8 Increase timeout for linux integration tests
The integration test times have slightly increased and are often
hitting the 25 minutes timeout. This increases to give more room
but still keeps it low enough to catch regressions in tests
causing longer than expected execution.

Signed-off-by: Derek McGowan <derek@mcg.dev>
2021-03-23 12:10:41 -07:00
pacoxu
01765d0974 night ci fix: add packages for ubuntu 20.04
Signed-off-by: pacoxu <paco.xu@daocloud.io>
2021-03-22 17:57:14 +08:00
Michael Crosby
e0c94bb269 Merge pull request #4708 from kzys/enable-criu
Re-enable CRIU tests by not using overlayfs snapshotter
2021-03-19 14:23:05 -04:00
Maksym Pavlenko
2d5f9bf870 Merge pull request #4990 from kzys/host-status
ci: log the status of GitHub Actions' VM at the end
2021-03-18 15:56:46 -07:00
Kazuyoshi Kato
8731888ec0 Re-enable CRIU tests by not using overlayfs snapshotter
While the issue hasn't been fixed in the kernel yet, we can workaround
the issue by not using overlayfs snapshotter.

The newly added step runs all tests that match /TestCheckpoint/.
So, TestCRWithImagePath has been renamed to match the regexp.

Fixes #3930.

Signed-off-by: Kazuyoshi Kato <katokazu@amazon.com>
2021-03-16 16:48:30 -07:00
Derek McGowan
9d5c1165a6 Merge pull request #5178 from estesp/go-1.16.2
Update to Go 1.16.2
2021-03-12 08:23:18 -08:00
Phil Estes
8cbef0fade Update to Go 1.16.2
Signed-off-by: Phil Estes <estesp@amazon.com>
2021-03-12 09:59:01 -05:00
Kazuyoshi Kato
437b7f71ba ci: log the status of GitHub Actions' VM at the end
To investigate issues like #4969, it would be helpful to understand
the status of the VM at the end.

Signed-off-by: Kazuyoshi Kato <katokazu@amazon.com>
2021-03-11 16:52:57 -08:00
Davanum Srinivas
6a4aa1e2e7 Separate go module for client tests
Will help us drop dependency to github.com/Microsoft/hcsshim/test in the
main go.mod

Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2021-03-11 19:27:45 -05:00
Phil Estes
c55492f8de Update to Go 1.16.1
Signed-off-by: Phil Estes <estesp@amazon.com>
2021-03-11 09:03:09 -05:00
Phil Estes
c9c7665bba CI: Add a name for the vagrant up step
Without a name the logs use a carriage return followed by the long
comment as the name of the job step which is messy when working with the
actions API/logs.

Signed-off-by: Phil Estes <estesp@amazon.com>
2021-03-10 14:48:01 -05:00
Wei Fu
34e8385815 .github: update bug_report.md with hint and tip
Since both cri-containerd and runC runtime are widely used, the relevent
information should include runC and CRI configuration when file bug.

Signed-off-by: Wei Fu <fuweid89@gmail.com>
2021-03-04 20:20:41 +08:00
Akihiro Suda
4702af9178 CI: cache ~/.vagrant.d/boxes
For deflaking `vagrant up`

Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
2021-03-01 15:01:47 +09:00
Akihiro Suda
b4ef1e9dc7 CI: fix "ls: cannot access '/etc/cni/net.d': Permission denied"
The CI host was probably updated recently and the permission bits of the
directory was changed.

Fix 5077

Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
2021-02-24 19:11:10 +09:00
Phil Estes
13f904cde2 Tune test timeouts for GH Actions
We have enough failures these days; getting timed out when tests are
almost done is the last thing we need :)

On avg. the Linux integration tests are taking 15-17 min, but sometimes
they end up at 20 or a bit over and get canceled. I've seen rare cases
where the Vagrant setup+build+test runs gets very close to 40 min as
well.

Signed-off-by: Phil Estes <estesp@amazon.com>
2021-02-19 16:27:43 -05:00
Akihiro Suda
e908be5b58 Merge pull request #5001 from kzys/no-lint-upgrade 2021-02-06 00:40:38 +09:00
Akihiro Suda
d05f7bdf02 Merge pull request #5011 from thaJeztah/setup_go_v2 2021-02-06 00:39:31 +09:00
Sebastiaan van Stijn
129c67dc85 GHA: use setup-go@v2
https://github.com/actions/setup-go/tree/v2.1.3#v2

The V2 offers:

- Adds GOBIN to the PATH
- Proxy Support
- stable input
- Bug Fixes (including issues around version matching and semver)

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2021-02-05 15:39:07 +01:00
Sebastiaan van Stijn
ec7d905f4e Update to go 1.15.8
go1.15.8 (released 2021/02/04) includes fixes to the compiler, linker, runtime,
the go command, and the net/http package. See the Go 1.15.8 milestone on the
issue tracker for details.

https://github.com/golang/go/issues?q=milestone%3AGo1.15.8+label%3ACherryPickApproved

full diff: https://github.com/golang/go/compare/go1.15.7...go1.15.8

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2021-02-05 12:53:25 +01:00
Kazuyoshi Kato
b14ccd2053 ci/gha: upgrade golangci-lint from v1.29.0 to v1.36.0
Signed-off-by: Kazuyoshi Kato <katokazu@amazon.com>
2021-02-04 11:59:51 -08:00
Sebastiaan van Stijn
f101c8ac6c ci/gha/fedora: retry vagrant up
download.fedoraproject.org gives HTTP 404 at times,
breaking the CI. Let's give it another chance.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2021-02-04 18:21:49 +01:00
Akihiro Suda
45265febd3 Bump Golang 1.15.7
Changes: https://golang.org/doc/devel/release.html#go1.15.minor

Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
2021-01-22 20:54:54 +09:00
Davanum Srinivas
b72534967e Bump Golang 1.15.6
Changes: https://golang.org/doc/devel/release.html#go1.15

Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2021-01-12 16:44:36 -05:00
Akihiro Suda
d50de11ce6 ISSUE_TEMPLATE: remove redundant "report a security issue" button
"report a security issue" button was shown redundantly in https://github.com/containerd/containerd/issues/new/choose

Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
2021-01-01 05:23:54 +09:00
Akihiro Suda
9a7bb7e40a add guidance about GitHub Discussions
Add `.github/ISSUE_TEMPLATE/config.yml` to clarify where is the right place (in the most cases) to ask questions.

Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
2020-12-24 18:21:04 +09:00
Michael Crosby
a9cc801922 Merge pull request #4821 from mxpv/tests
Enable devmapper tests
2020-12-14 14:52:08 -05:00
Samuel Karp
4bcfbfe663 ci: add cross-compile for FreeBSD
Signed-off-by: Samuel Karp <me@samuelkarp.com>
2020-12-10 21:41:34 -08:00
Maksym Pavlenko
5a26a03691 Enable devmapper tests on CI
Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com>
2020-12-09 09:34:31 -08:00
Shengjing Zhu
c129310ece Don't fail fast in integration matrix test
Signed-off-by: Shengjing Zhu <zhsj@debian.org>
2020-12-01 01:39:10 +08:00
Shengjing Zhu
819ac05f34 Fix hcsshim commit detection
Hack with space in grep, so it won't match github.com/Microsoft/hcsshim/test

Signed-off-by: Shengjing Zhu <zhsj@debian.org>
2020-12-01 01:34:14 +08:00
Wei Fu
625da6b3e6 Merge pull request #4719 from estesp/fix-shm-relabel-test
Reenable make test targets in GH Actions CI
2020-11-23 13:11:32 +08:00
Phil Estes
c11472d31d Add Go test runs to GitHub Actions CI
Disable devmapper for now until test issues are fixed.

Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com>
2020-11-19 08:43:14 -05:00
Phil Estes
159fb2e7e2 Update other actions for env/path CVE fix
Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com>
2020-11-17 14:20:48 -05:00
Akihiro Suda
af0a20a4d5 Bump Golang 1.15.5
Changes: https://golang.org/doc/devel/release.html#go1.15

Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
2020-11-16 14:36:35 +09:00
Sebastiaan van Stijn
0299fca49c ga: Linux Integration: extend timeout to 20 minutes
CI was timing out after 15 minutes on the crun tests; extending
the timeout to 20 minutes (we can make it shorter again if we know
the exact time it takes to run)

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2020-11-10 17:08:06 +01:00
Michael Crosby
1e7a6906bf Merge pull request #4698 from dweomer/test-selinux-enforcing
test: run tests with selinux enforcing
2020-11-10 10:22:46 -05:00
Phil Estes
6dc35dfdaa Merge pull request #4716 from thaJeztah/faster_golang_ci
gha: specify full version for golang-ci-lint to speedup selection
2020-11-10 10:14:22 -05:00
Sebastiaan van Stijn
72dd30feba gha: specify full version for golang-ci-lint to speedup selection
Noticed this in the CI output:

    Requested golangci-lint 'v1.29', using 'v1.29.0', calculation took 7969ms
    Installing golangci-lint v1.29.0...
    Downloading https://github.com/golangci/golangci-lint/releases/download/v1.29.0/golangci-lint-1.29.0-darwin-amd64.tar.gz ...

Using nearly 8 seconds to convert v1.29 to v1.29.0 seems a bit long,
so hard-coding to the full version to speedup CI somewhat.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2020-11-10 11:34:57 +01:00
Jacob Blain Christen
a7f24b29c2 test: run tests with selinux enforcing
With container-selinux policy updated to 2.145+ (the default for Fedora 32+) we
can enable SELinux=Enforcing mode in the CI workflow and pass all integration
and CRI tests except one, see https://github.com/containerd/containerd/issues/4460,
which has been marked as skipped.

Tested locally with:
- SELINUX=Enforcing vagrant up --provision-with=shell,selinux,test-integration
- SELINUX=Enforcing vagrant up --provision-with=shell,selinux,test-cri

Signed-off-by: Jacob Blain Christen <jacob@rancher.com>
2020-11-09 09:36:52 -07:00
Tianon Gravi
17688a733a Remove setuid gosu in favor of "sudo -E PATH=$PATH ..."
Signed-off-by: Tianon Gravi <admwiggin@gmail.com>
2020-11-05 14:08:05 -08:00
Akihiro Suda
8d42f86cf4 Merge pull request #4687 from samuelkarp/critest
ci: run critest target for all runtimes
2020-11-05 00:58:00 +09:00
Samuel Karp
e3f28eecd9 ci: run critest target for all runtimes
Signed-off-by: Samuel Karp <skarp@amazon.com>
2020-11-02 17:32:17 -08:00
Samuel Karp
a2581d3450 ci: run cri-integration target for all runtimes
Signed-off-by: Samuel Karp <skarp@amazon.com>
2020-11-02 14:36:12 -08:00
Maksym Pavlenko
f3f8a1d30e Use project checks
Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com>
2020-10-19 18:23:35 -07:00
Mike Brown
c876b15b54 getting cri integration up and running
Signed-off-by: Mike Brown <brownwm@us.ibm.com>
2020-10-19 10:02:05 -05:00
Maksym Pavlenko
e8fe4b6dc3 Cleanup CI scripts
Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com>
2020-10-15 16:00:43 -07:00