Commit Graph

144 Commits

Author SHA1 Message Date
Phil Estes
56512cca7b Merge pull request #4741 from thaJeztah/kudo_sudo
gha: use sudo -E in some places to prevent dropping env-vars
2021-04-19 10:55:03 -04:00
Sebastiaan van Stijn
fbe1e140f2 Update Go to 1.16.3
go1.16.3 (released 2021/04/01) includes fixes to the compiler, linker, runtime,
the go command, and the testing and time packages. See the Go 1.16.3 milestone
on our issue tracker for details:

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

full diff: https://github.com/golang/go/compare/go1.16.2...go1.16.3

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2021-04-19 13:10:18 +02:00
Sebastiaan van Stijn
c1d1edbad9 gha: use sudo -E in some places to prevent dropping env-vars
Using `-E` preserves environment variables, except for PATH, so PATH has to be
manually set to match the current environment.

I removed env-vars that were redundant (such as `GOPATH=$GOPATH`), which should
be handled by `-E`.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2021-04-19 13:04:43 +02:00
Phil Estes
6ef0d383e3 Merge pull request #5271 from cpuguy83/ci_output_junit
ci: upload junit formatted test results
2021-04-15 13:20:35 -04:00
Davanum Srinivas
9ad087947d Switch all our tests to version 2
Also warn when someone uses version 1

Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2021-04-12 13:18:33 -04:00
Mike Brown
58c5fd09e5 re-enable cri test
Signed-off-by: Mike Brown <brownwm@us.ibm.com>
2021-04-07 10:07:32 -05:00
Derek McGowan
58a07754a6 Temporarily disable cri-tools critest
cri-tools is hardcoded to use images which are broken
within their registry. Disable the tests to unblock
CI until fixed.

Signed-off-by: Derek McGowan <derek@mcg.dev>
2021-04-06 11:05:34 -07:00
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
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
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
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
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
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