Commit Graph

280 Commits

Author SHA1 Message Date
Kazuyoshi Kato
fd37cc75be Use protoc-gen-go instead of protoc-gen-gogoctrd
Signed-off-by: Kazuyoshi Kato <katokazu@amazon.com>
2022-04-22 15:31:53 +00:00
Kazuyoshi Kato
237ef0de9b Remove all gogoproto extensions
This commit removes the following gogoproto extensions;

- gogoproto.nullable
- gogoproto.customename
- gogoproto.unmarshaller_all
- gogoproto.stringer_all
- gogoproto.sizer_all
- gogoproto.marshaler_all
- gogoproto.goproto_unregonized_all
- gogoproto.goproto_stringer_all
- gogoproto.goproto_getters_all

None of them are supported by Google's toolchain (see #6564).

Signed-off-by: Kazuyoshi Kato <katokazu@amazon.com>
2022-04-20 07:23:28 +00:00
Maksym Pavlenko
549cc6890d
Merge pull request #6757 from gabriel-samfira/address-test-timeouts
[Windows CI] Address some timeout issues
2022-04-01 10:32:41 -07:00
Gabriel Adrian Samfira
c7bdcdfbef
Address some timeout issues in the Windows CI
This change disables Windows Defender real-time monitoring on the test
workers, and increases the test timeout to 20 minutes (default is 10).

The Windows Defender real time monitoring feature scans any newly
created files for malitious contents. This takes up a lot of CPU when
expanding image archives, which contain lots of files. The CI has been
timing out due to the fact that tests take longer than 10 minutes. This
change should address that issue.

Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
2022-04-01 14:02:20 +03:00
Akihiro Suda
f2d5f71a78
update runc binary to v1.1.1
Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
2022-04-01 15:20:26 +09:00
Akihiro Suda
b1030e7b68
CI: bump up crun to 1.4.4
https://github.com/containers/crun/compare/1.3...1.4.4

Also adds `crun-version` file for consistency with `runc-version`.
(Note: unlike runc, crun does not prepend "v" to a version tag)

Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
2022-03-30 21:08:17 +09:00
Kazuyoshi Kato
a19ad9bb6f Use Go 1.18 to build and test containerd
Go 1.18 is released. Go 1.16 is no longer supported by the Go team.
golangci-lint is updated since 1.44.2 doesn't support Go 1.18.

Signed-off-by: Kazuyoshi Kato <katokazu@amazon.com>
2022-03-18 16:48:25 +00:00
Sebastiaan van Stijn
e0a6f9c7d0
update to go 1.16.15, 1.17.8 to address CVE-2022-24921
Addresses [CVE-2022-24921](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-24921)

go 1.16.15
--------------------

go1.16.15 (released 2022-03-03) includes a security fix to the regexp/syntax package,
as well as bug fixes to the compiler, runtime, the go command, and to the net package.
See the Go 1.16.15 milestone on the issue tracker for details:

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

full diff: https://github.com/golang/go/compare/go1.16.14...go1.16.15

go 1.17.8
--------------------

go1.17.8 (released 2022-03-03) includes a security fix to the regexp/syntax package,
as well as bug fixes to the compiler, runtime, the go command, and the crypto/x509,
and net packages. See the Go 1.17.8 milestone on the issue tracker for details:

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

full diff: https://github.com/golang/go/compare/go1.17.7...go1.17.8

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-03-04 16:53:51 +01:00
Kazuyoshi Kato
77c0539e9a Use containerd/protobuild instead of stevvooe/protobuild
The new version still supports gogo/protobuf, but can be used with newer
protobuf packages if version = 2.

Signed-off-by: Kazuyoshi Kato <katokazu@amazon.com>
2022-02-22 00:03:31 +00:00
Sebastiaan van Stijn
f261498e0e
Update Go to 1.16.14, 1.17.7
Includes security fixes for crypto/elliptic (CVE-2022-23806), math/big (CVE-2022-23772),
and cmd/go (CVE-2022-23773).

go1.17.7 (released 2022-02-10) includes security fixes to the crypto/elliptic,
math/big packages and to the go command, as well as bug fixes to the compiler,
linker, runtime, the go command, and the debug/macho, debug/pe, and net/http/httptest
packages. See the Go 1.17.7 milestone on our issue tracker for details:

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

full diff: https://github.com/golang/go/compare/go1.17.6...go1.17.7

Update Go to 1.17.6

go1.17.6 (released 2022-01-06) includes fixes to the compiler, linker, runtime,
and the crypto/x509, net/http, and reflect packages. See the Go 1.17.6 milestone
on our issue tracker for details:

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

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-02-15 16:28:23 +01:00
Akihiro Suda
dba897c35c
update runc binary to v1.1.0
Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
2022-01-18 13:33:45 +09:00
Sebastiaan van Stijn
0e472420bf
Update Go to 1.17.5
go1.17.5 (released 2021-12-09) includes security fixes to the syscall and net/http
packages. See the Go 1.17.5 milestone on the issue tracker for details:

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

Update Go to 1.17.4
--------------------

go1.17.4 (released 2021-12-02) includes fixes to the compiler, linker, runtime,
and the go/types, net/http, and time packages. See the Go 1.17.4 milestone on
the issue tracker for details:

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

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2021-12-12 01:25:02 +01:00
Akihiro Suda
44995d4831
update runc binary to v1.0.3
Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
2021-12-06 15:06:39 +09:00
Kazuyoshi Kato
6b0e2414c8 Do not use go get to install executables
https://go.dev/doc/go-get-install-deprecation

Signed-off-by: Kazuyoshi Kato <katokazu@amazon.com>
2021-12-03 14:56:33 -08:00
Gabriel Adrian Samfira
7ccd733d25 Add image build workflow
This change adds a new workflow that builds the volume test images
and pushes them to a remote registry.

Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
2021-11-25 09:26:17 +00:00
Nashwan Azhari
444ef2f6d7 Generalize Windows CI setup script for any user.
The current Windows CI setup script assumes it will always be run under
the `azureuser` username.

While this username is defined in the Windows CI GitHub action, the
current version of the script both exposes us to a future risk of
breaking should the CI action be changed, and is also unfriendly to
`curl | sh`-ing it for quick test environment setups.

This patch makes the Windows CI setup script work with any username
provided they have administrative privileges.

Signed-off-by: Nashwan Azhari <nazhari@cloudbasesolutions.com>
2021-11-16 17:30:40 +02:00
Nashwan Azhari
3d6bfa3f55 Standardize cmdlet capitalization in Windows CI scripts.
This patch standardizes the capitalization of PowerShell commandlets in
the Windows CI setup script in accordance with general PowerShell best
practices.

Signed-off-by: Nashwan Azhari <nazhari@cloudbasesolutions.com>
2021-11-16 17:25:54 +02:00
Brian Goff
27d7c50384 Add arm64 to releases
This moves all the release builds into a Dockerfile which is a bit
cleaner for setting up our build environment.

Non-linux/amd64 builds are cross-compiled.
Currently onlinux linux/amd64, linux/arm64, and windows/amd64 are
supported, but is easy to add more, provided their is a cross-compile
toolchain available for it.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2021-11-11 20:00:34 +00:00
Phil Estes
432ddecaae
Merge pull request #6211 from thaJeztah/bump_go_1.17.3
Update Go to 1.17.3
2021-11-08 11:49:23 -08:00
Akihiro Suda
a22346622b
CI: bump up crun: 1.0 -> 1.3
Release notes: https://github.com/containers/crun/releases

Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
2021-11-08 14:32:53 +09:00
Sebastiaan van Stijn
869ccc01c1
Update Go to 1.17.3
go1.17.3 (released 2021-11-04) includes security fixes to the archive/zip and
debug/macho packages, as well as bug fixes to the compiler, linker, runtime, the
go command, the misc/wasm directory, and to the net/http and syscall packages.
See the Go 1.17.3 milestone on our issue tracker for details.

From the announcement e-mail:

[security] Go 1.17.3 and Go 1.16.10 are released

We have just released Go versions 1.17.3 and 1.16.10, minor point releases.
These minor releases include two security fixes following the security policy:

- archive/zip: don't panic on (*Reader).Open
  Reader.Open (the API implementing io/fs.FS introduced in Go 1.16) can be made
  to panic by an attacker providing either a crafted ZIP archive containing
  completely invalid names or an empty filename argument.
  Thank you to Colin Arnott, SiteHost and Noah Santschi-Cooney, Sourcegraph Code
  Intelligence Team for reporting this issue. This is CVE-2021-41772 and Go issue
  golang.org/issue/48085.
- debug/macho: invalid dynamic symbol table command can cause panic
  Malformed binaries parsed using Open or OpenFat can cause a panic when calling
  ImportedSymbols, due to an out-of-bounds slice operation.
  Thanks to Burak Çarıkçı - Yunus Yıldırım (CT-Zer0 Crypttech) for reporting this
  issue. This is CVE-2021-41771 and Go issue golang.org/issue/48990.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2021-11-05 12:46:33 +01:00
zounengren
a217b5ac8f bump CNI to spec v1.0.0
Signed-off-by: zounengren <zouyee1989@gmail.com>
2021-10-22 10:58:40 +08:00
Sebastiaan van Stijn
de1a39bf32
Update Go to 1.17.2
go1.17.2 (released 2021-10-07) includes a security fix to the linker and misc/wasm
directory, as well as bug fixes to the compiler, the runtime, the go command, and
to the time and text/template packages. See the Go 1.17.2 milestone on our issue
tracker for details:

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

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2021-10-08 15:26:34 +02:00
Adelina Tuvenie
9734b40393 Pin mingw to version 10.2.0
Signed-off-by: Adelina Tuvenie <atuvenie@cloudbasesolutions.com>
2021-10-04 16:44:31 +03:00
Adelina Tuvenie
d19af5afbf Update to golang 1.17.1
Signed-off-by: Adelina Tuvenie <atuvenie@cloudbasesolutions.com>
2021-10-04 16:44:22 +03:00
Adelina Tuvenie
3cb0ec01ec Install nssm
Signed-off-by: Adelina Tuvenie <atuvenie@cloudbasesolutions.com>
2021-10-04 16:44:06 +03:00
Akihiro Suda
f700ae8732
CI: bump up crun to 1.0
Release notes: https://github.com/containers/crun/releases

Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
2021-09-15 14:45:06 +09:00
Michael Crosby
9954147c03
pin protobuild version to tag
Signed-off-by: Michael Crosby <michael@thepasture.io>
2021-09-09 15:26:25 -04:00
Akihiro Suda
3f8ea1b6a1
update runc binary to v1.0.2
Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
2021-08-23 23:24:10 +09:00
Kazuyoshi Kato
4dd5ca70fb script: update golangci-lint from v1.38.0 and v1.36.0 to v1.42.0
golint has been deprecated and replaced by revive since v1.41.0.

Signed-off-by: Kazuyoshi Kato <katokazu@amazon.com>
2021-08-19 16:27:16 -07:00
Sebastiaan van Stijn
42a28ad2ca
Update Go to 1.16.7
go1.16.7 (released 2021-08-05) includes a security fix to the net/http/httputil
package, as well as bug fixes to the compiler, the linker, the runtime, the go
command, and the net/http package. See the Go 1.16.7 milestone on the issue
tracker for details:

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

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2021-08-07 18:07:50 +02:00
Maksym Pavlenko
10eab21a4d Cleanup CI
Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com>
2021-08-06 14:59:05 -07:00
Sebastiaan van Stijn
dba0ef4eb5
scripts: add missing quotes, and minor linting issues
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2021-08-03 17:23:18 +02:00
Derek McGowan
0d93936507
Update protobuf install to use correct repository
The protobuf repository is under the protocolbuffers org

Signed-off-by: Derek McGowan <derek@mcg.dev>
2021-07-28 09:51:27 -07:00
Sebastiaan van Stijn
18d6cc1b06
update gotestsum to v1.7.0
Same as previous commit, but a release was tagged;

1a94380793...v1.7.0

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2021-07-26 13:13:17 +02:00
Sebastiaan van Stijn
d2b6d192db
Update cpuguy83/go-md2man binary to v2.0.1
full diff: https://github.com/cpuguy83/go-md2man/compare/v2.0.0...v2.0.1

- Fix handling multiple definition descriptions
- Fix inline markup causing table cells to split
- Remove escaping tilde character (prevents tildes (`~`) from disappearing).
- Do not escape dash, underscore, and ampersand (prevents ampersands (`&`) from disappearing).
- Ignore unknown HTML tags to prevent noisy warnings

Note that this only updates the binaries we install. The vendor code also
includes go-md2man (as indirect dependency of urfave/cli). I don't think we use that
feature, so I did not add it to our go.mod

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2021-07-21 12:21:03 +02:00
Phil Estes
b809212b18
Merge pull request #5750 from thaJeztah/cleanup_test_dockerfile
Refactor / optimize contrib/Dockerfile.test
2021-07-20 10:33:55 -04:00
Phil Estes
1292c50fe9
Merge pull request #5754 from thaJeztah/update_gotestsum
update gotestsum to current master
2021-07-19 14:01:16 -04:00
Sebastiaan van Stijn
603962bc81
update gotestsum to current master
removes golang.org/x/cryto dependency:
full diff: 012a85e34a...1a94380793

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2021-07-19 10:00:02 +02:00
Akihiro Suda
43e0594ae9
update runc binary to v1.0.1
Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
2021-07-18 20:18:14 +09:00
Sebastiaan van Stijn
546538971c
install-critools: make sure DESTDIR exists
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2021-07-17 14:00:58 +02:00
Akihiro Suda
e72046f86b
Update Go to 1.16.6
Release notes: https://golang.org/doc/devel/release#go1.16

Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
2021-07-13 14:05:37 +09:00
Maksym Pavlenko
7eceeb950b
Merge pull request #5571 from adelina-t/win_set_specific_go_version
Install specific golang version in Windows CI.
2021-07-02 14:54:58 -07:00
Akihiro Suda
28bb59c080 update runc binary to v1.0.0 GA
Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
2021-06-22 10:26:46 -04:00
Brian Goff
bfbebf02b7 Update gotestsum to add timestamps to junit output
The current release of gotestsum is missing timestamps in the junit
data, which makes it difficult to import in an external system later.

https://github.com/gotestyourself/gotestsum/commit/012a85e34a7ce5554057d512e55dcb
includes the necessary changes to add the timestamp for the test run to
the junit output.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2021-06-16 16:17:40 +00:00
Adelina Tuvenie
419d616fec Install specific golang version in Windows CI.
For Periodic Windows runs we installed the latest available golang version.
It seems 1.16.5 is creating problems with go.sum. We now introduce the
ability to install specific versions for required packages when preparing
the testing env.

Signed-off-by: Adelina Tuvenie <atuvenie@cloudbasesolutions.com>
2021-06-07 15:17:02 +03:00
Derek McGowan
334e74765e
Merge pull request #5165 from adelina-t/azure_ci_workflow
Add CI periodic Windows Jobs.
2021-05-28 08:12:25 -07:00
Akihiro Suda
599127f4df
update runc binary to v1.0.0-rc95
Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
2021-05-19 19:18:59 +09:00
Mike Brown
3157392513 just release ctd-decoder not ctr-enc
Signed-off-by: Mike Brown <brownwm@us.ibm.com>
2021-05-13 15:56:45 -05:00
Davanum Srinivas
5c99f150ae
Update the runc binary used with containerd to runc v1.0.0-rc94
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2021-05-10 13:11:07 -04:00
Derek McGowan
1ecc98f1de
Merge pull request #5462 from mikebrow/correct-critools-release
update to new cri-tools make install
2021-05-07 13:05:13 -07:00
Mike Brown
c74a6c4194 update to new cri-tools make install
Signed-off-by: Mike Brown <brownwm@us.ibm.com>
2021-05-07 12:45:24 -05:00
Mike Brown
b56527cb7e update seccomp version
Signed-off-by: Mike Brown <brownwm@us.ibm.com>
2021-05-03 19:36:16 -05:00
Derek McGowan
7942ae68b1
Revert "Specify seccomp target arch for CC"
This reverts commit 969ec89493.

Signed-off-by: Derek McGowan <derek@mcg.dev>
2021-04-29 15:05:54 -07:00
Brian Goff
969ec89493 Specify seccomp target arch for CC
seccomp's build scripts require setting the target arch that will be
built when cross compiling.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2021-04-28 17:07:44 +00:00
Adelina Tuvenie
421fc6ea73 Add CI periodic Windows Jobs.
Signed-off-by: Adelina Tuvenie <atuvenie@cloudbasesolutions.com>
2021-04-20 17:18:46 +03: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
Akihiro Suda
14f357b90f
CI: update crun to 0.19
Release notes: https://github.com/containers/crun/releases

Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
2021-04-12 17:05:11 +09:00
Phil Estes
b52727342c
Merge pull request #5308 from AkihiroSuda/add-imgcrypt-bin
cri-cni-release: add imgcrypt binaries (v1.1.0)
2021-04-07 15:43:38 -04:00
Mike Brown
da998c81eb move to gcr.io/k8s-staging-cri-tools test images
Signed-off-by: Mike Brown <brownwm@us.ibm.com>
2021-04-07 10:04:02 -05:00
Akihiro Suda
92ea98eda5
cri-cni-release: add imgcrypt binaries (v1.1.0)
Add `ctd-decoder` and `ctr-enc`.

Close issue 5265

Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
2021-04-07 17:38:42 +09: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
Mike Brown
548d984f27
Merge pull request #5132 from mikebrow/add-some-debug-out-for-dep-setups
adds a new install-deps in the makefile; and some refactoring of the scripts
2021-03-24 15:28:16 -05:00
Mike Brown
9ad87b9ba7 adds critools-version
Signed-off-by: Mike Brown <brownwm@us.ibm.com>
2021-03-24 10:58:40 -05:00
Phil Estes
a1138182d5
Merge pull request #5180 from dmcgowan/lint-enforce-comments
Fix exported comments enforcer in CI
2021-03-15 10:50:06 -04:00
Sebastiaan van Stijn
55a9bbc033
Prevent runc inheriting BUILDTAGS from containerd
Both runc and containerd use BUILDTAGS to customize go build-tags.

When building containerd with custom build-tags, runc inherited
those, causing the default to be overwritten, e.g.;

    make BUILDTAGS=no_btrfs cri-cni-release
    (in script/setup/install-runc)

    HEAD is now at 12644e61 VERSION: release 1.0.0~rc93
    make[1]: Entering directory '/tmp/tmp.ZJzc2KtI0A/runc'
    go build -trimpath "-mod=vendor" "-buildmode=pie"  -tags "no_btrfs" -ldflags "-X main.gitCommit="12644e614e25b05da6fd08a38ffa0cfe1903fdec" -X main.version=1.0.0-rc93 " -o runc .
                                                   ^^^^^^^^^^^^^^^^

This patch brings back the BUILDTAGS make-var in the runc-install
script, which fixates the buildtags to our defaults.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2021-03-12 18:37:18 +01:00
Derek McGowan
35eeb24a17
Fix exported comments enforcer in CI
Add comments where missing and fix incorrect comments

Signed-off-by: Derek McGowan <derek@mcg.dev>
2021-03-12 08:47:05 -08:00
Mike Brown
2205da64a6 clean up install-cni and install-critools
Signed-off-by: Mike Brown <brownwm@us.ibm.com>
2021-03-11 10:21:32 -06:00
Sebastiaan van Stijn
79a51cd16a
move runc version to a separate file for easier consumption
This moves the runc version to build to scripts/setup/runc-version,
which makes it easier for packagers to find the default version
to use.

The RUNC_VERSION environment variable can still be used to override
the version, which can be used (e.g.) to test against different versions
in our CI.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2021-03-10 14:28:29 +01:00
Sebastiaan van Stijn
8325ba5d36
Separate runc binary version from libcontainer version
Now that the dependency on runc (libcontaienr) code has been reduced
considerably, it is probbaly ok to cut the version dependency between
libcontainer and the runc binary that is supported.

This patch separates the runc binary version from the version of
libcontainer that is defined in go.mod, and updates the documentation
accordingly.

The RUNC_COMMIT variable in the install-runc script is renamed to
RUNC_VERSION to encourage using tagged versions, and the Dockerfile
in contrib is updated to allow building with a custom version.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2021-03-10 13:41:12 +01:00
Sebastiaan van Stijn
b89a63a235
Remove references to apparmor and selinux buildtags for runc
From the runc v1.0.0-rc93 release notes:

> The "selinux" and "apparmor" buildtags have been removed, and now all runc
> builds will have SELinux and AppArmor support enabled. Note that "seccomp"
> is still optional (though we very highly recommend you enable it).

Also adding a note about kmem support.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2021-03-10 12:16:54 +01:00
Sebastiaan van Stijn
164573897c
script/setup: use git clone instead of go get -d
`go get -d` uses go modules by default in Go 1.16 and up, which results
in modules being fetched for the "latest" module version, after which we
tried to "git checkout" to `<VERSION>`.

For runc, this means that (possibly incorrectly), `go get` will download
runc `v0.1.1` (most recent non-"pre-release", which caused failures (e.g
the old `Sirupsen/logrus` being downloaded).

In addition, some of the dependencies we're installing use vendoring, and
thus would not require the modules to be downloaded (and vendored files
will be ignored when using `go get` with modules).

This patch switches several uses `go get -d` to use a regular
git clone, after which the desired version is checked out,
and the binaries are built.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Signed-off-by: Phil Estes <estesp@amazon.com>
2021-03-03 15:34:54 -05:00
Akihiro Suda
80243b8667
CI: update crun to 0.17
https://github.com/containers/crun/releases/tag/0.17

Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
2021-01-22 20:51:14 +09:00
Shengjing Zhu
56672b961d Change to GOPATH before go get
So it won't touch go.mod

Signed-off-by: Shengjing Zhu <zhsj@debian.org>
2020-12-01 01:39:10 +08:00
Shengjing Zhu
553a369158 Fix reference to vendor.conf in scripts
Signed-off-by: Shengjing Zhu <zhsj@debian.org>
2020-12-01 01:34:10 +08:00
Akihiro Suda
a67dbdee79
CI: update crun to 0.16
Changes since 0.15:
- https://github.com/containers/crun/releases/tag/0.16
- https://github.com/containers/crun/releases/tag/0.15.1

Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
2020-11-30 18:10:24 +09:00
Sebastiaan van Stijn
1edeea7663
install-runc: remove unused USESUDO variable
This is no longer needed, as the script is already run with sudo.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2020-11-10 12:49:21 +01:00
Mike Brown
63f673a229 updates cri-tools to latest version
Signed-off-by: Mike Brown <brownwm@us.ibm.com>
2020-10-31 14:46:44 -05:00
Phil Estes
615af428a3
Windows CNI install script using lowercase "destdir"
Fixes packaging via GH Actions script, which sets DESTDIR and is used
across many scripts.

Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com>
2020-10-02 16:31:28 -04:00
Akihiro Suda
c385d1102b
CI: update crun to v0.15
Changes: https://github.com/containers/crun/releases/tag/0.15

Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
2020-09-29 17:12:23 +09:00
Derek McGowan
65df8db289
Remove sudo from installation and cri release
Signed-off-by: Derek McGowan <derek@mcg.dev>
2020-09-25 14:40:59 -07:00
Antonio Ojea
e3d27f9ed8 bump cni version to v0.8.0
bump cni dependencies so we can benefits from its
bugfixes and improvements

Signed-off-by: Antonio Ojea <antonio.ojea.garcia@gmail.com>
2020-08-21 19:55:13 +02:00
Derek McGowan
d2472ecc59
Add CRI release build
Add installation scripts needed to generate CRI + CNI tar package on
release.
Update Github action release script to generate CRI release tarballs for
Linux and Windows.

Signed-off-by: Derek McGowan <derek@mcg.dev>
2020-08-11 09:16:38 -07:00
Jacob Blain Christen
b4376e9865 Update Vagrantfile for testing SELinux
`vagrant up` will build and install containerd and all dependencies,
setting up proper SELinux contexts on the runc and containerd binaries.
The VM is configured to be SELinux Enforcing by default but this gets
changed during various CI passes via a matrix param to Disabled and
Permissive before running tests. I have an open PR to fix the
container-selinux policy for containerd at
https://github.com/containers/container-selinux/pull/98 which once
accepted we will want to update the CI matrix to use Enforcing mode
instead of Permissive.

All tests currently pass in SELinux permissive mode with containerd
configured with `enable_selinux=true`. To see which tests are failing
with SELinux enforcing and an already spun up VM:
`SELINUX=Enforcing vagrant up --provision-with=selinux,test-cri`
To test SELinux enforcing in a new VM:
`vagrant destroy -force; SELINUX=Enforcing vagrant up --provision-with=shell,selinux,test-cri`

The `selinux` shell provisioner, parameterized by the SELINUX envvar,
will configure the system as you would expect, with the side effect that
containerd is configured with `enable_selinux=true` via
`/etc/containerd/config.toml` for Permissive or Enforcing modes and
`enable_selinux=false` when SELINUX=Disabled.

Provided that virtualization is suported, this Vagrantfile and provisioners
make it easy to test containerd/cri for conformance under SELinux on
non-SELinux systems.

Signed-off-by: Jacob Blain Christen <jacob@rancher.com>
2020-08-10 01:55:44 -07:00
Sebastiaan van Stijn
3cc2be2a87
Update cri-tools to v1.18.0-100-g2bf7674 for Go 1.15 compatibility
full diff: 16911795a3...2bf7674922

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2020-08-05 13:17:11 +02:00
Phil Estes
b47c7ec274
Update to later version of critools with timing fix.
Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com>
2020-07-15 14:43:58 -04:00
Akihiro Suda
c041970e99
update crun to v0.14
Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
2020-07-03 12:59:04 +09:00
Sebastiaan van Stijn
a6dd1f27d9
update urfave/cli v1.22.1, go-md2man v2.0.0, blackfriday v2.0.1
This updates urfave/cli and its dependencies to v1.22.1:

- diff for urfave/cli: https://github.com/urfave/cli/compare/v1.22.0...v1.22.1
- diff for go-md2man: https://github.com/cpuguy83/go-md2man/compare/v1.0.10...v2.0.0
- diff for blackfriday: https://github.com/russross/blackfriday/compare/v1.5.2...v2.0.1

Also adds github.com/shurcooL/sanitized_anchor_name as a new dependency, which is
used by russross/blackfriday, but will be removed again in a future update (dependency
is already removed on the v2 branch through russross/blackfriday@919b1f5b9b

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2020-07-02 10:48:45 +02:00
Phil Estes
ef0cf12647
Match version used in CRI project
Use the critools version currently being used in the CRI project CI.

Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com>
2020-06-03 15:12:48 -04:00
Akihiro Suda
af131d7258 cgroup2 CI
Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
2020-05-22 01:15:12 +09:00
fahedouch
24b331ad1e omit sudo when EUID eqto 0
Signed-off-by: fahedouch <fahed.dorgaa@gmail.com>

omit sudo when EUID eqto 0

Signed-off-by: fahedouch <fahed.dorgaa@gmail.com>

omit sudo when EUID eqto 0

Signed-off-by: fahedouch <fahed.dorgaa@gmail.com>

omit sudo when EUID eqto 0

Signed-off-by: fahedouch <fahed.dorgaa@gmail.com>

use gosu to omit sudo in GA

Signed-off-by: fahedouch <fahed.dorgaa@gmail.com>

use gosu to omit sudo in GA

Signed-off-by: fahedouch <fahed.dorgaa@gmail.com>

set working-dir for <<Setup gosu>> step

Signed-off-by: fahedouch <fahed.dorgaa@gmail.com>

fix job permissions

Signed-off-by: fahedouch <fahed.dorgaa@gmail.com>
2020-05-05 20:13:27 +02:00
ktock
046a520c91 vendor: update containerd/cri dc7afe8fbe
full diff: 61b7af7564...dc7afe8fbe

This commit includes moving up to the latest critools(1.18.0).

Signed-off-by: Kohei Tokunaga <ktokunaga.mail@gmail.com>
2020-04-29 14:49:54 +09:00
Phil Estes
32649fe305
Fix retrieval of golangci-lint specific version
Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com>
2020-04-22 14:45:31 -04:00
Phil Estes
74ceb35f50
Small fixes to our Actions CI workflow
Integration tests were running with latest Go release rather than the
version used everywhere else. Also, we don't need to install protoc from
tarball and also apt-get the package for Ubuntu when used as a
dependency for criu build.

Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com>
2020-04-15 15:19:01 -04:00
Davanum Srinivas
7a252f3ca1
Build runc with selinux support
docker-ce seems to be building runc with selinux support, let us follow
the same pattern here please:
https://github.com/docker/docker-ce/search?p=1&q=RUNC_BUILDTAGS&unscoped_q=RUNC_BUILDTAGS

Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2020-04-14 15:24:31 -04:00
Phil Estes
041545cd6a
Fix protobuild and CI check protos
Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com>
2020-04-14 14:31:43 -04:00
Sebastiaan van Stijn
4326fc624a
Update Golangci-lint v1.23.8
full diff: https://github.com/golangci/golangci-lint/compare/v1.18.0...v1.23.8

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2020-03-10 12:46:31 +01:00
Akihiro Suda
8e448bb279 vendor protobuf & grpc
Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
2020-02-26 10:57:05 +09:00
Wei Fu
246a560edb script: use github.com/kubernetes-sigs/cri-tools directly
When we call `go get -d -v
github.com/kubernetes-incubator/cri-tools/...` which repos has been
moved to `github.com/kubernetes-sigs/cri-tools`, `go get` will create
package `github.com/kubernetes-sigs/cri-tools`.

```
go get -d -v github.com/kubernetes-incubator/cri-tools/...
github.com/kubernetes-incubator/cri-tools (download)
github.com/kubernetes-sigs/cri-tools (download)
```

According to old version of `github.com/kubernetes-incubator/cri-tools`
Makefile, if there is no `github.com/kubernetes-sigs/cri-tools` package,
it will create softlink self to `github.com/kubernetes-sigs/cri-tools`.
But `go get` will create `github.com/kubernetes-sigs/cri-tools` and
there is no softlink. Therefore, the critools are always latest one, not
specific version.

So, use `github.com/kubernetes-sigs/cri-tools` will be better and save
traffic from `go get`.

Signed-off-by: Wei Fu <fuweid89@gmail.com>
2020-02-17 21:52:39 +08:00
Phil Estes
75d0c5f2e7
Fix incorrect comment from copy/paste of starting script
Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com>
2020-02-13 11:48:12 -05:00
Akihiro Suda
067a66b90a
.travis.yml: run test with crun
Relates to #3727

Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
2020-01-06 16:29:06 -08:00
Joakim Roubert
9eef69e3ae Update after review comments
Change-Id: Ic566e4857436409cdf1cdd7a635dfeee809b91a9
Signed-off-by: Joakim Roubert <joakimr@axis.com>
2019-12-13 08:07:23 +01:00
Joakim Roubert
499fbb0337 Improve install scripts
* Only use bash where needed (scripts with pipes that use -o pipefail)
* Make string comparisons POSIX compatible
* Handle whitespace(s) in GOPATH
* Remove superfluous quotes in variable assignments

Change-Id: If1ea55f06f402ded646b5085d4837c0996f90fab
Signed-off-by: Joakim Roubert <joakimr@axis.com>
2019-12-12 13:25:25 +01:00
Sebastiaan van Stijn
55ea3dc9b1
vendor.conf: reformat to use columns
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2019-11-29 13:33:32 +01:00
Lantao Liu
90735a5d13 Update cri to 5d49e7e51b43e36a6b9c4386257c7d08c602237f.
Signed-off-by: Lantao Liu <lantaol@google.com>
2019-09-26 14:31:00 -07:00
Michael Crosby
3bc99755d4 Try set GOGC for golint
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2019-09-17 14:52:49 -04:00
Lantao Liu
1b4cec9796 Update cri test to fix image reference test and fix gcs deploy.
Signed-off-by: Lantao Liu <lantaol@google.com>
2019-09-09 23:51:36 -07:00
Michael Crosby
b5f03eacd3 Pin to libseccomp 2.3.3
lib seccomp 2.4 has huge performance regressions.
This change pins to 2.3.3 where that is not an issue

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2019-08-23 15:19:38 +00:00
Michael Crosby
28bdb71cc9
Merge pull request #3492 from Random-Liu/update-cri
Update cri to b213648c5b
2019-08-06 10:53:29 -04:00
Lantao Liu
a5940da62c Remove ctr cri load and update cri-tools to v1.15.0
Signed-off-by: Lantao Liu <lantaol@google.com>
2019-08-05 15:22:36 -07:00
Nitesh Konkar
594f423190 protobuf: Bump Protobuf version to 3.7.0
Bump Protobuf version to 3.7.0

Signed-off-by: Nitesh Konkar <niteshkonkar@in.ibm.com>
2019-08-01 13:48:37 +05:30
Maksym Pavlenko
2b521e25a7 Switch to golangci-lint
Signed-off-by: Maksym Pavlenko <makpav@amazon.com>
2019-07-14 20:49:28 -07:00
Lantao Liu
64a0046416 Update cri-tools to v1.13.0.
Signed-off-by: Lantao Liu <lantaol@google.com>
2019-01-02 12:54:55 -08:00
Sebastiaan van Stijn
897afeaf35
Revert "Fix CI due to Golang 1.10.6 / 1.11.3 regressions (workaround)"
This reverts commit 52de371700.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2018-12-19 19:05:30 +01:00
Sebastiaan van Stijn
52de371700
Fix CI due to Golang 1.10.6 / 1.11.3 regressions (workaround)
Attempt to fix CI is failing due to a regression in Go 1.10.6 / 1.11.3 (see https://github.com/golang/go/issues/29241)

```
package github.com/containernetworking/plugins/...: github.com/containernetworking/plugins/...: invalid import path: malformed import path "github.com/containernetworking/plugins/...": double dot
```

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2018-12-14 15:35:10 +01:00
Phil Estes
bd93a66fc2
Use common project repo copies of travis scripts
Remove local copies of common containerd/project located scripts for
DCO, fileheader, and vendor checks.

Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com>
2018-10-15 09:05:48 -04:00
Lantao Liu
88bfc17d14 Update cri to 8506fe836677cc3bb23a16b68145128243d843b5.
Signed-off-by: Lantao Liu <lantaol@google.com>
2018-10-05 14:53:17 -07:00
Lantao Liu
9c9abec21c Update cri plugin to v1.0.0.
Signed-off-by: Lantao Liu <lantaol@google.com>
2018-04-23 16:34:17 -07:00
Lantao Liu
74e45c0392 Update cri validation test version.
Signed-off-by: Lantao Liu <lantaol@google.com>
2018-03-27 05:15:14 +00:00
Kunal Kushwaha
3491b9ea4a Copyright header added
Signed-off-by: Kunal Kushwaha <kushwaha_kunal_v7@lab.ntt.co.jp>
2018-03-05 10:07:58 +09:00
Lantao Liu
4c903c356b Update critools and run critest in parallel.
Signed-off-by: Lantao Liu <lantaol@google.com>
2018-02-26 19:41:04 +00:00
Derek McGowan
5bd99af7db
Merge pull request #2097 from Random-Liu/vendor-cri-plugin
Vendor cri plugin into containerd.
2018-02-23 13:55:13 -08:00
Kunal Kushwaha
b12c3215a0 Licence header added
Signed-off-by: Kunal Kushwaha <kushwaha_kunal_v7@lab.ntt.co.jp>
2018-02-19 10:32:26 +09:00
Lantao Liu
809a99a39e Vendor cri plugin and add critest
Signed-off-by: Lantao Liu <lantaol@google.com>
2018-02-16 23:23:47 +00:00
Michael Crosby
aa82d17d1d
Merge pull request #2079 from estesp/man-pages
Add initial man pages
2018-02-15 11:07:35 -05:00
Phil Estes
8f183b5ee9
Add basic manpages for ctr, containerd, containerd-config
Adds initial manpages for ctr, containerd, and containerd config
commands, as well as the config.toml configuration file.

Adds targets to Makefile for generating and installing manpages.

Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com>
2018-02-14 15:17:31 -05:00
Phil Estes
fc1913a5a6
Add capability to build manpages from markdown
Adds capability to build the manpages via the go-md2man utility to the
make framework for containerd

Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com>
2018-01-30 19:50:45 -05:00
Christopher Jones
a8c5ff57e5
Cleanup loop devices after test failure
Cleans up loop devices if part of the test or mount process fails.

Also increases btrfs default file size to 650MB to accommodate
minimum btrfs size on ppc64le and s390x

Signed-off-by: Christopher Jones <tophj@linux.vnet.ibm.com>
2018-01-30 14:44:36 -05:00
Christopher Jones
051ac5dd63
running tests in a container
This provides a dockerfile for building a container to run the containerd tests

Signed-off-by: Christopher Jones <tophj@linux.vnet.ibm.com>
2018-01-30 14:44:30 -05:00
Daniel Nephin
cc9216c1dd Remove go install from Makefile
Signed-off-by: Daniel Nephin <dnephin@gmail.com>
2017-12-18 11:17:24 -05:00