diff --git a/.travis.yml b/.travis.yml index f3982c02a32d..534c9501a247 100644 --- a/.travis.yml +++ b/.travis.yml @@ -36,9 +36,8 @@ before_install: - uname -r install: - - wget https://github.com/google/protobuf/releases/download/v3.1.0/protoc-3.1.0-linux-x86_64.zip -O /tmp/protoc-3.1.0-linux-x86_64.zip - - unzip -o -d /tmp/protobuf /tmp/protoc-3.1.0-linux-x86_64.zip - - export PATH=$PATH:/tmp/protobuf/bin/ + - wget https://github.com/google/protobuf/releases/download/v3.3.0/protoc-3.3.0-linux-x86_64.zip -O /tmp/protoc-3.3.0-linux-x86_64.zip + - sudo unzip -o -d /usr/local /tmp/protoc-3.3.0-linux-x86_64.zip - go get -u github.com/vbatts/git-validation - sudo wget https://github.com/crosbymichael/runc/releases/download/ctd-4/runc -O /bin/runc; sudo chmod +x /bin/runc - wget https://github.com/xemul/criu/archive/v3.0.tar.gz -O /tmp/criu.tar.gz @@ -57,6 +56,7 @@ script: - make setup - make vet - make ineffassign + - if [ "$GOOS" = "linux" ]; then make check-protos check-api-descriptors; fi - make build - make binaries - if [ "$GOOS" = "linux" ]; then sudo make install ; fi diff --git a/Makefile b/Makefile index aef96906b254..f4aec50a1861 100644 --- a/Makefile +++ b/Makefile @@ -83,12 +83,18 @@ protos: bin/protoc-gen-gogoctrd ## generate protobuf @echo "$(WHALE) $@" @PATH=${ROOTDIR}/bin:${PATH} protobuild ${PACKAGES} -checkprotos: protos ## check if protobufs needs to be generated again +check-protos: protos ## check if protobufs needs to be generated again @echo "$(WHALE) $@" @test -z "$$(git status --short | grep ".pb.go" | tee /dev/stderr)" || \ ((git diff | cat) && \ (echo "$(ONI) please run 'make generate' when making changes to proto files" && false)) +check-api-descriptors: protos ## check that protobuf changes aren't present. + @echo "$(WHALE) $@" + @test -z "$$(git status --short | grep ".pb.txt" | tee /dev/stderr)" || \ + ((git diff $$(find . -name '*.pb.txt') | cat) && \ + (echo "$(ONI) please run 'make protos' when making changes to proto files and check-in the generated descriptor file changes" && false)) + # Depends on binaries because vet will silently fail if it can't load compiled # imports vet: ## run go vet diff --git a/api/next.pb.txt b/api/next.pb.txt index 9cfb64d64ba1..5bf32137a153 100755 --- a/api/next.pb.txt +++ b/api/next.pb.txt @@ -2888,6 +2888,7 @@ file { name: "github.com/containerd/containerd/api/types/task/task.proto" package: "containerd.v1.types" dependency: "gogoproto/gogo.proto" + dependency: "google/protobuf/timestamp.proto" message_type { name: "Process" field { @@ -2954,6 +2955,18 @@ file { type: TYPE_UINT32 json_name: "exitStatus" } + field { + name: "exited_at" + number: 10 + label: LABEL_OPTIONAL + type: TYPE_MESSAGE + type_name: ".google.protobuf.Timestamp" + options { + 65010: 1 + 65001: 0 + } + json_name: "exitedAt" + } } enum_type { name: "Status" diff --git a/linux/runcopts/next.pb.txt b/linux/runcopts/next.pb.txt index 76fb011d36c6..142ea3b95e40 100755 --- a/linux/runcopts/next.pb.txt +++ b/linux/runcopts/next.pb.txt @@ -5,17 +5,31 @@ file { message_type { name: "RuncOptions" field { - name: "criu_path" + name: "runtime" number: 1 label: LABEL_OPTIONAL type: TYPE_STRING - json_name: "criuPath" + json_name: "runtime" } field { - name: "systemd_cgroup" + name: "runtime_root" number: 2 label: LABEL_OPTIONAL type: TYPE_STRING + json_name: "runtimeRoot" + } + field { + name: "criu_path" + number: 3 + label: LABEL_OPTIONAL + type: TYPE_STRING + json_name: "criuPath" + } + field { + name: "systemd_cgroup" + number: 4 + label: LABEL_OPTIONAL + type: TYPE_BOOL json_name: "systemdCgroup" } }