diff --git a/.circleci/config.yml b/.circleci/config.yml index a75f2a4b7e1d..278f5391976e 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -17,12 +17,12 @@ commands: - restore_cache: name: Restore go mod cache keys: - - go-mod-v2-{{ checksum "go.sum" }}-{{ .Environment.CIRCLE_JOB }} + - go-mod-v3-{{ checksum "go.sum" }}-{{ .Environment.CIRCLE_JOB }} save_go_mod: steps: - save_cache: name: Save go mod cache - key: go-mod-v2-{{ checksum "go.sum" }}-{{ .Environment.CIRCLE_JOB }} + key: go-mod-v3-{{ checksum "go.sum" }}-{{ .Environment.CIRCLE_JOB }} paths: - /home/circleci/.go_workspace/go/pkg/mod when: always @@ -39,7 +39,7 @@ commands: steps: - save_cache: name: Save Golang cache - key: go-v6-{{ .Branch }}-{{ .Environment.CIRCLE_JOB }} + key: go-v7-{{ .Branch }}-{{ .Environment.CIRCLE_JOB }} paths: - /home/circleci/.cache/go-build - /home/circleci/sdk/go1.13.4 @@ -49,13 +49,17 @@ commands: - restore_cache: name: Restore Golang cache keys: - - go-v6-{{ .Branch }}-{{ .Environment.CIRCLE_JOB }} - - go-v6-master-{{ .Environment.CIRCLE_JOB }} + - go-v7-{{ .Branch }}-{{ .Environment.CIRCLE_JOB }} + - go-v7-master-{{ .Environment.CIRCLE_JOB }} e2e: steps: - checkout - maybe_skip_job - install_kustomize + - run: + name: Preemptively pull images + command: make pull-build-images test-images + background: true - run: name: Install and start K3S v1.0.1 command: curl -sfL https://get.k3s.io | INSTALL_K3S_VERSION=v1.0.1 INSTALL_K3S_EXEC=--docker K3S_KUBECONFIG_MODE=644 sh - @@ -63,6 +67,7 @@ commands: - restore_go_cache - install_golang - restore_go_mod + - run: go mod download - run: name: Create KUBECONFIG # Copy kubeconfig file, and add a fake user for "argo --token xxx" testing @@ -91,7 +96,7 @@ commands: name: Run tests command: | trap 'make test-results/junit.xml' EXIT - make smoke test-e2e test-e2e-cron + make smoke $SUITE - store_test_results: path: test-results when: always @@ -131,8 +136,10 @@ jobs: sudo find /usr/local/include -type d | xargs sudo chmod a+rx rm -f $PROTOC_ZIP ls /usr/local/include/google/protobuf/ + - run: go mod download - run: make codegen - run: make manifests + - run: make lint - run: git diff --exit-code - save_go_cache - save_go_mod @@ -147,6 +154,7 @@ jobs: - restore_go_cache - install_golang - restore_go_mod + - run: go mod download - run: name: Run tests command: | @@ -167,16 +175,24 @@ jobs: path: test-results destination: . when: always - - run: make lint - - run: git diff --exit-code - save_go_cache - save_go_mod + e2e-cron: + working_directory: /home/circleci/.go_workspace/src/github.com/argoproj/argo + machine: + image: ubuntu-1604:201903-01 + environment: + DB: mysql + SUITE: test-e2e-cron + steps: + - e2e e2e-no-db: working_directory: /home/circleci/.go_workspace/src/github.com/argoproj/argo machine: image: ubuntu-1604:201903-01 environment: DB: no-db + SUITE: test-e2e steps: - e2e e2e-postgres: @@ -185,6 +201,7 @@ jobs: image: ubuntu-1604:201903-01 environment: DB: postgres + SUITE: test-e2e steps: - e2e e2e-mysql: @@ -193,6 +210,7 @@ jobs: image: ubuntu-1604:201903-01 environment: DB: mysql + SUITE: test-e2e steps: - e2e docker-build: @@ -233,7 +251,8 @@ workflows: context: SonarCloud - ui - codegen + - e2e-cron + - e2e-mysql - e2e-no-db - e2e-postgres - - e2e-mysql - docker-build diff --git a/Dockerfile b/Dockerfile index 0904e3b27541..af51273ddfc7 100644 --- a/Dockerfile +++ b/Dockerfile @@ -40,15 +40,6 @@ RUN if [ "${IMAGE_OS}" = "linux" -a "${IMAGE_ARCH}" = "amd64" ]; then \ tar --extract --file docker.tgz --strip-components 1 --directory /usr/local/bin/ && \ rm docker.tgz -# Install dep -ENV DEP_VERSION=0.5.1 -RUN if [ "${IMAGE_OS}" = "linux" -a "${IMAGE_ARCH}" = "amd64" ]; then \ - wget https://github.com/golang/dep/releases/download/v${DEP_VERSION}/dep-linux-amd64 -O /usr/local/bin/dep; \ - elif [ "${IMAGE_OS}" = "linux" -a "${IMAGE_ARCH}" = "arm64" ]; then \ - wget https://github.com/golang/dep/releases/download/v${DEP_VERSION}/dep-linux-arm64 -O /usr/local/bin/dep; \ - fi && \ - chmod +x /usr/local/bin/dep - #################################################################################################### # argoexec-base # Used as the base for both the release and development version of argoexec diff --git a/Dockerfile.dev b/Dockerfile.dev index 6d2b13a430ff..2ab97de8633a 100644 --- a/Dockerfile.dev +++ b/Dockerfile.dev @@ -33,22 +33,13 @@ ENV DOCKER_CHANNEL stable ENV DOCKER_VERSION 18.09.1 RUN if [ "${IMAGE_OS}" = "linux" -a "${IMAGE_ARCH}" = "amd64" ]; then \ - wget -O docker.tgz https://download.docker.com/linux/static/${DOCKER_CHANNEL}/x86_64/docker-${DOCKER_VERSION}.tgz; \ + wget -O docker.tgz https://download.docker.com/linux/static/${DOCKER_CHANNEL}/x86_64/docker-${DOCKER_VERSION}.tgz; \ elif [ "${IMAGE_OS}" = "linux" -a "${IMAGE_ARCH}" = "arm64" ]; then \ - wget -O docker.tgz https://download.docker.com/linux/static/${DOCKER_CHANNEL}/aarch64/docker-${DOCKER_VERSION}.tgz; \ + wget -O docker.tgz https://download.docker.com/linux/static/${DOCKER_CHANNEL}/aarch64/docker-${DOCKER_VERSION}.tgz; \ fi && \ tar --extract --file docker.tgz --strip-components 1 --directory /usr/local/bin/ && \ rm docker.tgz -# Install dep -ENV DEP_VERSION=0.5.1 -RUN if [ "${IMAGE_OS}" = "linux" -a "${IMAGE_ARCH}" = "amd64" ]; then \ - wget https://github.com/golang/dep/releases/download/v${DEP_VERSION}/dep-linux-amd64 -O /usr/local/bin/dep; \ - elif [ "${IMAGE_OS}" = "linux" -a "${IMAGE_ARCH}" = "arm64" ]; then \ - wget https://github.com/golang/dep/releases/download/v${DEP_VERSION}/dep-linux-arm64 -O /usr/local/bin/dep; \ - fi && \ - chmod +x /usr/local/bin/dep - #################################################################################################### # argoexec-base # Used as the base for both the release and development version of argoexec diff --git a/Makefile b/Makefile index 6ce0f44b7879..ab7e5d9f34b4 100644 --- a/Makefile +++ b/Makefile @@ -240,10 +240,10 @@ mocks: $(HOME)/go/bin/mockery ./hack/update-mocks.sh $(MOCK_FILES) .PHONY: codegen -codegen: status codegen-core swagger mocks docs +codegen: status proto swagger mocks docs -.PHONY: codegen-core -codegen-core: +.PHONY: proto +proto: $(call backup_go_mod) # We need the folder for compatibility go mod vendor @@ -332,6 +332,10 @@ else endif endif +.PHONY: pull-build-images +pull-build-images: + ./hack/pull-build-images.sh + .PHONY: test-images test-images: dist/cowsay-v1 dist/python-alpine3.6 @@ -466,7 +470,9 @@ pkg/apis/workflow/v1alpha1/openapi_generated.go: pkg/apiclient/_.secondary.swagger.json: hack/secondaryswaggergen.go pkg/apis/workflow/v1alpha1/openapi_generated.go go run ./hack secondaryswaggergen -api/openapi-spec/swagger.json: $(HOME)/go/bin/swagger pkg/apiclient/_.secondary.swagger.json $(SWAGGER_FILES) $(MANIFESTS_VERSION_FILE) hack/swaggify.sh +$(SWAGGER_FILES): pkg/apiclient/_.secondary.swagger.json proto + +api/openapi-spec/swagger.json: $(HOME)/go/bin/swagger $(SWAGGER_FILES) $(MANIFESTS_VERSION_FILE) hack/swaggify.sh swagger mixin -c 680 $(SWAGGER_FILES) | sed 's/VERSION/$(MANIFESTS_VERSION)/' | ./hack/swaggify.sh > api/openapi-spec/swagger.json .PHONY: docs diff --git a/api/openapi-spec/swagger.json b/api/openapi-spec/swagger.json index 0f5aab28e995..b0bc6732bcef 100644 --- a/api/openapi-spec/swagger.json +++ b/api/openapi-spec/swagger.json @@ -7104,9 +7104,6 @@ "io.argoproj.workflow.v1alpha1.WorkflowSubmitRequest": { "type": "object", "properties": { - "createOptions": { - "$ref": "#/definitions/io.k8s.api.core.v1.CreateOptions" - }, "namespace": { "type": "string" }, diff --git a/cmd/argo/commands/delete.go b/cmd/argo/commands/delete.go index b5bbbc6630bc..a8cb63147cd1 100644 --- a/cmd/argo/commands/delete.go +++ b/cmd/argo/commands/delete.go @@ -7,6 +7,7 @@ import ( "github.com/argoproj/pkg/errors" argotime "github.com/argoproj/pkg/time" "github.com/spf13/cobra" + apierr "k8s.io/apimachinery/pkg/api/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "github.com/argoproj/argo/cmd/argo/commands/client" @@ -69,10 +70,11 @@ func NewDeleteCommand() *cobra.Command { } } for _, md := range workflowsToDelete { - _, err := serviceClient.DeleteWorkflow(ctx, &workflowpkg.WorkflowDeleteRequest{ - Name: md.Name, - Namespace: md.Namespace, - }) + _, err := serviceClient.DeleteWorkflow(ctx, &workflowpkg.WorkflowDeleteRequest{Name: md.Name, Namespace: md.Namespace}) + if err != nil && apierr.IsNotFound(err) { + fmt.Printf("Workflow '%s' not found\n", md.Name) + continue + } errors.CheckError(err) fmt.Printf("Workflow '%s' deleted\n", md.Name) } diff --git a/hack/pull-build-images.sh b/hack/pull-build-images.sh new file mode 100755 index 000000000000..91c181601ed7 --- /dev/null +++ b/hack/pull-build-images.sh @@ -0,0 +1,4 @@ +#!/bin/bash +set -eu -o pipefail + +grep FROM Dockerfile.dev | grep 'builder$\|argoexec-base$' | awk '{print $2}' | while read image; do docker pull $image; done diff --git a/pkg/apiclient/workflow/workflow.pb.go b/pkg/apiclient/workflow/workflow.pb.go index a0e30b8d9428..f8b8adcdb9e7 100644 --- a/pkg/apiclient/workflow/workflow.pb.go +++ b/pkg/apiclient/workflow/workflow.pb.go @@ -1028,7 +1028,6 @@ type WorkflowSubmitRequest struct { ResourceKind string `protobuf:"bytes,2,opt,name=resourceKind,proto3" json:"resourceKind,omitempty"` ResourceName string `protobuf:"bytes,3,opt,name=resourceName,proto3" json:"resourceName,omitempty"` SubmitOptions *v1alpha1.SubmitOpts `protobuf:"bytes,4,opt,name=submitOptions,proto3" json:"submitOptions,omitempty"` - CreateOptions *v1.CreateOptions `protobuf:"bytes,5,opt,name=createOptions,proto3" json:"createOptions,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -1095,13 +1094,6 @@ func (m *WorkflowSubmitRequest) GetSubmitOptions() *v1alpha1.SubmitOpts { return nil } -func (m *WorkflowSubmitRequest) GetCreateOptions() *v1.CreateOptions { - if m != nil { - return m.CreateOptions - } - return nil -} - func init() { proto.RegisterType((*WorkflowCreateRequest)(nil), "workflow.WorkflowCreateRequest") proto.RegisterType((*WorkflowGetRequest)(nil), "workflow.WorkflowGetRequest") @@ -1127,87 +1119,86 @@ func init() { } var fileDescriptor_1f6bb75f9e833cb6 = []byte{ - // 1267 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x98, 0x41, 0x6f, 0xdc, 0x44, - 0x1b, 0xc7, 0x35, 0x49, 0xdf, 0x36, 0x9d, 0x26, 0x69, 0x3b, 0x2f, 0x94, 0x95, 0xd5, 0xa6, 0xe9, - 0x40, 0x21, 0x4d, 0x1b, 0x3b, 0x9b, 0x16, 0x28, 0x95, 0x0a, 0x2a, 0x4d, 0x89, 0x80, 0x15, 0x54, - 0x5e, 0x10, 0x2a, 0x37, 0xc7, 0xfb, 0xc4, 0x71, 0xe3, 0xf5, 0x18, 0xcf, 0xec, 0x46, 0x4b, 0x15, - 0x10, 0x1c, 0x39, 0xc0, 0x81, 0x0b, 0x82, 0x0b, 0x14, 0x90, 0x90, 0x90, 0xa0, 0x7c, 0x02, 0xae, - 0x1c, 0x91, 0xf8, 0x02, 0x28, 0xe2, 0x83, 0xa0, 0x19, 0xdb, 0x63, 0x3b, 0xbb, 0xdd, 0x9a, 0xb8, - 0xd0, 0xdb, 0x8c, 0xc7, 0x33, 0xff, 0xdf, 0x3c, 0xcf, 0xcc, 0xe3, 0xff, 0x2e, 0x3e, 0x1b, 0x6d, - 0x79, 0x96, 0x13, 0xf9, 0x6e, 0xe0, 0x43, 0x28, 0xac, 0x6d, 0x16, 0x6f, 0x6d, 0x04, 0x6c, 0x5b, - 0x37, 0xcc, 0x28, 0x66, 0x82, 0x91, 0xa9, 0xac, 0x6f, 0x2c, 0x79, 0xbe, 0xd8, 0xec, 0xad, 0x9b, - 0x2e, 0xeb, 0x5a, 0x1e, 0xf3, 0x98, 0xa5, 0x5e, 0x58, 0xef, 0x6d, 0xa8, 0x9e, 0xea, 0xa8, 0x56, - 0x32, 0xd1, 0x38, 0xe9, 0x31, 0xe6, 0x05, 0x20, 0x25, 0x2c, 0x27, 0x0c, 0x99, 0x70, 0x84, 0xcf, - 0x42, 0x9e, 0x8e, 0x5e, 0xda, 0xba, 0xcc, 0x4d, 0x9f, 0xc9, 0xd1, 0xae, 0xe3, 0x6e, 0xfa, 0x21, - 0xc4, 0x03, 0x2b, 0x25, 0xe2, 0x56, 0x17, 0x84, 0x63, 0xf5, 0x9b, 0x96, 0x07, 0x21, 0xc4, 0x8e, - 0x80, 0x4e, 0x3a, 0xeb, 0x7a, 0x01, 0xc1, 0x89, 0x95, 0xe8, 0x6d, 0xd5, 0xc8, 0xa7, 0xea, 0x7d, - 0xf4, 0x9b, 0x4e, 0x10, 0x6d, 0x3a, 0xc3, 0x8b, 0xd0, 0x5c, 0xda, 0x72, 0x59, 0x0c, 0x23, 0x84, - 0xe8, 0xcf, 0x13, 0xf8, 0xf1, 0x77, 0xd2, 0x95, 0xae, 0xc7, 0xe0, 0x08, 0xb0, 0xe1, 0xbd, 0x1e, - 0x70, 0x41, 0x4e, 0xe2, 0xc3, 0xa1, 0xd3, 0x05, 0x1e, 0x39, 0x2e, 0x34, 0xd0, 0x3c, 0x5a, 0x38, - 0x6c, 0xe7, 0x0f, 0xc8, 0x2d, 0xac, 0xe3, 0xd5, 0x98, 0x98, 0x47, 0x0b, 0x47, 0x56, 0xae, 0x9a, - 0x39, 0xb3, 0x99, 0x31, 0xab, 0x86, 0x19, 0x6d, 0x79, 0xa6, 0x64, 0x36, 0x75, 0xc8, 0x33, 0x66, - 0x33, 0xd3, 0xb6, 0xf5, 0x72, 0x64, 0x0e, 0x63, 0x3f, 0xe4, 0xc2, 0x09, 0x5d, 0x78, 0x75, 0xb5, - 0x31, 0xa9, 0x94, 0x0b, 0x4f, 0x08, 0xc5, 0xd3, 0x1c, 0xe2, 0x3e, 0xc4, 0xab, 0xf1, 0xc0, 0xee, - 0x85, 0x8d, 0x03, 0xf3, 0x68, 0x61, 0xca, 0x2e, 0x3d, 0x23, 0xb7, 0xf0, 0x8c, 0xab, 0x76, 0xf3, - 0x66, 0xa4, 0x92, 0xd1, 0xf8, 0x9f, 0x62, 0xbc, 0x68, 0x26, 0x21, 0x31, 0x8b, 0xd9, 0xc8, 0xf1, - 0x64, 0x36, 0xcc, 0x7e, 0xd3, 0xbc, 0x5e, 0x9c, 0x6a, 0x97, 0x57, 0xa2, 0xf7, 0x10, 0x26, 0x19, - 0xf5, 0x1a, 0x88, 0x2c, 0x5c, 0x04, 0x1f, 0x90, 0xd1, 0x49, 0x23, 0xa5, 0xda, 0xe5, 0x10, 0x4e, - 0xec, 0x0d, 0xe1, 0x4d, 0x8c, 0x3d, 0x10, 0x19, 0xe0, 0xa4, 0x02, 0x5c, 0xae, 0x06, 0xb8, 0xa6, - 0xe7, 0xd9, 0x85, 0x35, 0xc8, 0x09, 0x7c, 0x70, 0xc3, 0x87, 0xa0, 0xc3, 0x55, 0x4c, 0x0e, 0xdb, - 0x69, 0x8f, 0x7e, 0x8d, 0xf0, 0xff, 0x33, 0xe4, 0x96, 0xcf, 0x45, 0xb5, 0x14, 0xb7, 0xf1, 0x91, - 0xc0, 0xe7, 0x1a, 0x30, 0xc9, 0x72, 0xb3, 0x1a, 0x60, 0x2b, 0x9f, 0x68, 0x17, 0x57, 0x29, 0x20, - 0x4e, 0x96, 0x10, 0x3d, 0xfc, 0x84, 0x3e, 0x0a, 0xc0, 0x7b, 0xeb, 0x5d, 0xbf, 0x46, 0x64, 0x0d, - 0x3c, 0xd5, 0x85, 0x2e, 0xf3, 0xdf, 0x87, 0x8e, 0x92, 0x99, 0xb2, 0x75, 0x9f, 0xde, 0x45, 0xf8, - 0xb1, 0x5c, 0x49, 0xc4, 0x83, 0xfd, 0xcb, 0x2c, 0xe2, 0x63, 0x31, 0x70, 0xe1, 0xc4, 0xa2, 0xdd, - 0x73, 0x5d, 0xe0, 0x1b, 0xbd, 0x20, 0x95, 0x1b, 0x7a, 0x4e, 0x2e, 0xe0, 0xe3, 0x21, 0xeb, 0xc0, - 0x2b, 0x72, 0xb7, 0x6d, 0x08, 0xc0, 0x15, 0x2c, 0x4e, 0xb3, 0x34, 0x3c, 0x40, 0xb7, 0xf3, 0x4b, - 0x29, 0xa3, 0xd1, 0x85, 0xfd, 0x43, 0x8e, 0x14, 0x9e, 0xbc, 0x9f, 0x70, 0x0b, 0x37, 0x32, 0xe1, - 0xb7, 0x20, 0xee, 0xfa, 0x61, 0xa1, 0x20, 0xfc, 0x63, 0x6d, 0xfa, 0x59, 0xe1, 0xdc, 0xb5, 0x05, - 0x8b, 0xfe, 0xa3, 0x5d, 0x90, 0x06, 0x3e, 0xd4, 0x05, 0xce, 0x1d, 0x0f, 0xd2, 0x10, 0x67, 0x5d, - 0xfa, 0x1a, 0x3e, 0xa1, 0x81, 0x7a, 0x3c, 0x82, 0xb0, 0xb3, 0xff, 0xdd, 0x7d, 0x5b, 0x28, 0x04, - 0x2d, 0xe6, 0xed, 0x7f, 0x73, 0x0d, 0x7c, 0x28, 0x62, 0x9d, 0x37, 0xe4, 0xa4, 0x64, 0x4b, 0x59, - 0x97, 0x5c, 0xc3, 0x38, 0x60, 0x5e, 0x76, 0x03, 0x0f, 0xa8, 0x1b, 0x78, 0xa6, 0x70, 0x03, 0x4d, - 0x59, 0xd6, 0xe5, 0x7d, 0xbb, 0xc9, 0x3a, 0x2d, 0xfd, 0xa2, 0x5d, 0x98, 0x44, 0xbf, 0x43, 0xf9, - 0x59, 0x5a, 0x85, 0x00, 0x6a, 0xe4, 0x53, 0x56, 0xd5, 0x8e, 0x5a, 0xa2, 0x5c, 0xb4, 0x2a, 0x56, - 0xd5, 0xd5, 0xe2, 0x54, 0xbb, 0xbc, 0x12, 0x6d, 0xe4, 0x89, 0xc9, 0x28, 0x79, 0xc4, 0x42, 0x0e, - 0xf4, 0x13, 0xb9, 0x01, 0x47, 0xb8, 0x9b, 0xd9, 0x38, 0x7f, 0x74, 0xe5, 0x8b, 0x7e, 0x98, 0xa7, - 0x5c, 0x31, 0xdd, 0xe8, 0x43, 0xa8, 0x22, 0x29, 0x06, 0x91, 0x8e, 0xa4, 0x6c, 0x93, 0xb7, 0xf1, - 0x41, 0xb6, 0x7e, 0x1b, 0x5c, 0xf1, 0x70, 0x3e, 0x8f, 0xe9, 0x62, 0xf4, 0x45, 0x3c, 0xd5, 0x62, - 0xde, 0x8d, 0x50, 0xc4, 0x03, 0x79, 0x6e, 0x5c, 0x16, 0x0a, 0x08, 0x45, 0xaa, 0x9c, 0x75, 0x8b, - 0x27, 0x6a, 0xa2, 0x74, 0xa2, 0xe8, 0xa7, 0xa5, 0x4f, 0x41, 0x28, 0x1e, 0xf5, 0xd7, 0x9e, 0xfe, - 0x5a, 0x30, 0x20, 0xed, 0x52, 0xdd, 0x1f, 0x8f, 0x44, 0xf1, 0x74, 0x0c, 0x9c, 0xf5, 0x62, 0x17, - 0x5e, 0xf7, 0xc3, 0x4e, 0xba, 0xcf, 0xd2, 0xb3, 0xe2, 0x3b, 0x85, 0xdb, 0x55, 0x7a, 0x46, 0x00, - 0xcf, 0x24, 0x9f, 0x9b, 0xf2, 0x2d, 0x7b, 0x69, 0x5f, 0xfb, 0x6b, 0x67, 0x2b, 0x71, 0xbb, 0xbc, - 0xea, 0xbf, 0x68, 0x48, 0x56, 0xee, 0x1d, 0xc7, 0x47, 0x75, 0x04, 0x21, 0xee, 0xfb, 0x2e, 0x90, - 0x2f, 0x11, 0x9e, 0x4d, 0x26, 0x65, 0x23, 0xe4, 0x74, 0xce, 0x3b, 0xd2, 0xf0, 0x19, 0xf5, 0x52, - 0x4a, 0x17, 0x3e, 0xfe, 0xe3, 0xaf, 0xcf, 0x27, 0x28, 0x3d, 0xa5, 0xfc, 0x66, 0xbf, 0xa9, 0x0d, - 0x2a, 0xb7, 0xee, 0xe8, 0xb4, 0xed, 0x5c, 0x41, 0x8b, 0xe4, 0x0b, 0x84, 0x8f, 0xac, 0x81, 0xd0, - 0x64, 0x27, 0x87, 0xc9, 0x72, 0x63, 0x55, 0x17, 0xeb, 0x82, 0xc2, 0x7a, 0x9a, 0x3c, 0x35, 0x16, - 0x2b, 0x69, 0xef, 0x48, 0xb4, 0x19, 0x79, 0xf9, 0x75, 0xad, 0x21, 0xa7, 0x86, 0xe1, 0x0a, 0x16, - 0xca, 0xb8, 0x56, 0x8b, 0x4e, 0xae, 0x44, 0xcf, 0x2a, 0xc2, 0xd3, 0x64, 0x7c, 0xe0, 0xc8, 0x07, - 0x78, 0xb6, 0x5c, 0x06, 0x4b, 0x19, 0x1d, 0x55, 0x20, 0x8d, 0x11, 0x81, 0xcd, 0xab, 0x16, 0x3d, - 0xaf, 0x74, 0xcf, 0x92, 0x27, 0xf7, 0xea, 0x2e, 0x81, 0x1c, 0x2f, 0xa9, 0x2f, 0x23, 0xf2, 0x11, - 0xc2, 0xb3, 0x49, 0x69, 0x1e, 0x77, 0xa4, 0x4a, 0x9f, 0x18, 0x63, 0xfe, 0xfe, 0x2f, 0xa4, 0xd5, - 0x3d, 0x4d, 0xcf, 0x62, 0xb5, 0xf4, 0x7c, 0x8f, 0xf0, 0x8c, 0x32, 0x6d, 0x1a, 0x61, 0x6e, 0x58, - 0xa1, 0xe8, 0xea, 0xea, 0x9e, 0x9e, 0x67, 0x15, 0x9e, 0x65, 0x2c, 0x56, 0xc1, 0xb3, 0x62, 0xa9, - 0x2c, 0x4f, 0xf8, 0x4f, 0x08, 0x1f, 0xcb, 0x6c, 0xac, 0x46, 0x3d, 0x33, 0x0a, 0xb5, 0x64, 0x75, - 0xeb, 0xd2, 0x5e, 0x56, 0xb4, 0x2b, 0xc6, 0x52, 0x45, 0xda, 0x44, 0x5c, 0x02, 0xff, 0x80, 0xf0, - 0x6c, 0xe2, 0x34, 0xc7, 0x25, 0xb7, 0xe4, 0x45, 0xeb, 0xc2, 0x3e, 0xa7, 0x60, 0x97, 0x8d, 0xf3, - 0x95, 0x61, 0xbb, 0x20, 0x51, 0x7f, 0x44, 0xf8, 0x68, 0xea, 0xdd, 0x34, 0xeb, 0x88, 0x73, 0x56, - 0xb6, 0x77, 0x75, 0x61, 0x9f, 0x57, 0xb0, 0x4d, 0xe3, 0x42, 0x25, 0x58, 0x9e, 0x68, 0x4b, 0xda, - 0x5f, 0x10, 0x3e, 0xae, 0x9d, 0xb4, 0xe6, 0xa5, 0xc3, 0xbc, 0x7b, 0xed, 0x76, 0x5d, 0xe2, 0x17, - 0x14, 0xf1, 0x45, 0xc3, 0xac, 0x44, 0x2c, 0x32, 0x75, 0xc9, 0x7c, 0x17, 0xe1, 0x69, 0x69, 0xd7, - 0x35, 0xee, 0x88, 0x1a, 0x58, 0xb0, 0xf3, 0x75, 0x49, 0x2f, 0x29, 0x52, 0xd3, 0x38, 0x57, 0x2d, - 0xb6, 0x82, 0x45, 0x12, 0xf2, 0x2b, 0x84, 0xa7, 0xa5, 0x81, 0x19, 0x07, 0x59, 0x30, 0x38, 0x75, - 0x21, 0x97, 0x14, 0xe4, 0x33, 0x94, 0x8e, 0x87, 0x0c, 0xfc, 0x50, 0xdd, 0xa7, 0x01, 0x3e, 0x94, - 0x58, 0x72, 0x3e, 0xea, 0xeb, 0x96, 0xff, 0x5a, 0x30, 0x48, 0x3e, 0x9a, 0xf9, 0x3a, 0x7a, 0x45, - 0x69, 0x5d, 0x22, 0x2b, 0x95, 0x02, 0x72, 0x27, 0xb5, 0x76, 0x3b, 0x56, 0xc0, 0xbc, 0x65, 0x44, - 0xbe, 0x41, 0x78, 0xb6, 0x5d, 0xae, 0x3c, 0xa7, 0x47, 0x5d, 0x8f, 0x87, 0x58, 0x77, 0x2c, 0x05, - 0x7c, 0x8e, 0x3e, 0xa0, 0x88, 0xeb, 0x72, 0xf3, 0xf2, 0xd5, 0xdf, 0x76, 0xe7, 0xd0, 0xef, 0xbb, - 0x73, 0xe8, 0xcf, 0xdd, 0x39, 0xf4, 0xae, 0xf5, 0xa0, 0x3f, 0xbb, 0xf6, 0xfc, 0x73, 0xb7, 0x7e, - 0x50, 0xfd, 0x77, 0x75, 0xf1, 0xef, 0x00, 0x00, 0x00, 0xff, 0xff, 0x2f, 0x3f, 0x7b, 0xe3, 0xda, - 0x13, 0x00, 0x00, + // 1260 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x98, 0xcf, 0x6f, 0xdc, 0x44, + 0x14, 0xc7, 0x35, 0x49, 0x69, 0xd3, 0x69, 0x92, 0xb6, 0x03, 0x94, 0x95, 0xd5, 0xa6, 0xe9, 0x40, + 0x21, 0x4d, 0x1b, 0x3b, 0x9b, 0x16, 0x28, 0x95, 0x0a, 0x2a, 0x4d, 0x89, 0x80, 0x15, 0x54, 0x5e, + 0x10, 0x2a, 0x37, 0xc7, 0xfb, 0xe2, 0xb8, 0xf1, 0x7a, 0x8c, 0x67, 0x76, 0xa3, 0xa5, 0x0a, 0x08, + 0x8e, 0x1c, 0xe0, 0xc0, 0x05, 0xc1, 0x05, 0x0a, 0x48, 0x48, 0x48, 0x50, 0xfe, 0x0b, 0x8e, 0x48, + 0xfc, 0x03, 0x28, 0xea, 0x1f, 0x82, 0x66, 0x6c, 0x8f, 0xed, 0xec, 0x76, 0x6b, 0xe2, 0x8a, 0xde, + 0xe6, 0x87, 0xe7, 0xbd, 0xcf, 0xbc, 0x37, 0xf3, 0xe6, 0x2b, 0xe3, 0xb3, 0xd1, 0x96, 0x67, 0x39, + 0x91, 0xef, 0x06, 0x3e, 0x84, 0xc2, 0xda, 0x66, 0xf1, 0xd6, 0x46, 0xc0, 0xb6, 0x75, 0xc3, 0x8c, + 0x62, 0x26, 0x18, 0x99, 0xca, 0xfa, 0xc6, 0x92, 0xe7, 0x8b, 0xcd, 0xde, 0xba, 0xe9, 0xb2, 0xae, + 0xe5, 0x31, 0x8f, 0x59, 0xea, 0x83, 0xf5, 0xde, 0x86, 0xea, 0xa9, 0x8e, 0x6a, 0x25, 0x0b, 0x8d, + 0x93, 0x1e, 0x63, 0x5e, 0x00, 0xd2, 0x85, 0xe5, 0x84, 0x21, 0x13, 0x8e, 0xf0, 0x59, 0xc8, 0xd3, + 0xd9, 0x4b, 0x5b, 0x97, 0xb9, 0xe9, 0x33, 0x39, 0xdb, 0x75, 0xdc, 0x4d, 0x3f, 0x84, 0x78, 0x60, + 0xa5, 0x44, 0xdc, 0xea, 0x82, 0x70, 0xac, 0x7e, 0xd3, 0xf2, 0x20, 0x84, 0xd8, 0x11, 0xd0, 0x49, + 0x57, 0x5d, 0x2f, 0x20, 0x38, 0xb1, 0x72, 0x7a, 0x5b, 0x35, 0xf2, 0xa5, 0x7a, 0x1f, 0xfd, 0xa6, + 0x13, 0x44, 0x9b, 0xce, 0xb0, 0x11, 0x9a, 0xbb, 0xb6, 0x5c, 0x16, 0xc3, 0x08, 0x47, 0xf4, 0xf7, + 0x09, 0xfc, 0xf4, 0x07, 0xa9, 0xa5, 0xeb, 0x31, 0x38, 0x02, 0x6c, 0xf8, 0xa8, 0x07, 0x5c, 0x90, + 0x93, 0xf8, 0x70, 0xe8, 0x74, 0x81, 0x47, 0x8e, 0x0b, 0x0d, 0x34, 0x8f, 0x16, 0x0e, 0xdb, 0xf9, + 0x00, 0xb9, 0x85, 0x75, 0xbc, 0x1a, 0x13, 0xf3, 0x68, 0xe1, 0xc8, 0xca, 0x55, 0x33, 0x67, 0x36, + 0x33, 0x66, 0xd5, 0x30, 0xa3, 0x2d, 0xcf, 0x94, 0xcc, 0xa6, 0x0e, 0x79, 0xc6, 0x6c, 0x66, 0xbe, + 0x6d, 0x6d, 0x8e, 0xcc, 0x61, 0xec, 0x87, 0x5c, 0x38, 0xa1, 0x0b, 0x6f, 0xae, 0x36, 0x26, 0x95, + 0xe7, 0xc2, 0x08, 0xa1, 0x78, 0x9a, 0x43, 0xdc, 0x87, 0x78, 0x35, 0x1e, 0xd8, 0xbd, 0xb0, 0x71, + 0x60, 0x1e, 0x2d, 0x4c, 0xd9, 0xa5, 0x31, 0x72, 0x0b, 0xcf, 0xb8, 0x6a, 0x37, 0xef, 0x46, 0x2a, + 0x19, 0x8d, 0x27, 0x14, 0xe3, 0x45, 0x33, 0x09, 0x89, 0x59, 0xcc, 0x46, 0x8e, 0x27, 0xb3, 0x61, + 0xf6, 0x9b, 0xe6, 0xf5, 0xe2, 0x52, 0xbb, 0x6c, 0x89, 0xde, 0x43, 0x98, 0x64, 0xd4, 0x6b, 0x20, + 0xb2, 0x70, 0x11, 0x7c, 0x40, 0x46, 0x27, 0x8d, 0x94, 0x6a, 0x97, 0x43, 0x38, 0xb1, 0x37, 0x84, + 0x37, 0x31, 0xf6, 0x40, 0x64, 0x80, 0x93, 0x0a, 0x70, 0xb9, 0x1a, 0xe0, 0x9a, 0x5e, 0x67, 0x17, + 0x6c, 0x90, 0x13, 0xf8, 0xe0, 0x86, 0x0f, 0x41, 0x87, 0xab, 0x98, 0x1c, 0xb6, 0xd3, 0x1e, 0xfd, + 0x1e, 0xe1, 0x27, 0x33, 0xe4, 0x96, 0xcf, 0x45, 0xb5, 0x14, 0xb7, 0xf1, 0x91, 0xc0, 0xe7, 0x1a, + 0x30, 0xc9, 0x72, 0xb3, 0x1a, 0x60, 0x2b, 0x5f, 0x68, 0x17, 0xad, 0x14, 0x10, 0x27, 0x4b, 0x88, + 0x1e, 0x7e, 0x46, 0x1f, 0x05, 0xe0, 0xbd, 0xf5, 0xae, 0x5f, 0x23, 0xb2, 0x06, 0x9e, 0xea, 0x42, + 0x97, 0xf9, 0x1f, 0x43, 0x47, 0xb9, 0x99, 0xb2, 0x75, 0x9f, 0xde, 0x45, 0xf8, 0xa9, 0xdc, 0x93, + 0x88, 0x07, 0xfb, 0x77, 0xb3, 0x88, 0x8f, 0xc5, 0xc0, 0x85, 0x13, 0x8b, 0x76, 0xcf, 0x75, 0x81, + 0x6f, 0xf4, 0x82, 0xd4, 0xdd, 0xd0, 0x38, 0xb9, 0x80, 0x8f, 0x87, 0xac, 0x03, 0x6f, 0xc8, 0xdd, + 0xb6, 0x21, 0x00, 0x57, 0xb0, 0x38, 0xcd, 0xd2, 0xf0, 0x04, 0xdd, 0xce, 0x2f, 0xa5, 0x8c, 0x46, + 0x17, 0xf6, 0x0f, 0x39, 0xd2, 0xf1, 0xe4, 0x83, 0x1c, 0xb7, 0x70, 0x23, 0x73, 0xfc, 0x1e, 0xc4, + 0x5d, 0x3f, 0x2c, 0x14, 0x84, 0xff, 0xec, 0x9b, 0x7e, 0x55, 0x38, 0x77, 0x6d, 0xc1, 0xa2, 0xff, + 0x69, 0x17, 0xa4, 0x81, 0x0f, 0x75, 0x81, 0x73, 0xc7, 0x83, 0x34, 0xc4, 0x59, 0x97, 0xbe, 0x85, + 0x4f, 0x68, 0xa0, 0x1e, 0x8f, 0x20, 0xec, 0xec, 0x7f, 0x77, 0x3f, 0x16, 0x0a, 0x41, 0x8b, 0x79, + 0xfb, 0xdf, 0x5c, 0x03, 0x1f, 0x8a, 0x58, 0xe7, 0x1d, 0xb9, 0x28, 0xd9, 0x52, 0xd6, 0x25, 0xd7, + 0x30, 0x0e, 0x98, 0x97, 0xdd, 0xc0, 0x03, 0xea, 0x06, 0x9e, 0x29, 0xdc, 0x40, 0x53, 0x96, 0x75, + 0x79, 0xdf, 0x6e, 0xb2, 0x4e, 0x4b, 0x7f, 0x68, 0x17, 0x16, 0xd1, 0x9f, 0x50, 0x7e, 0x96, 0x56, + 0x21, 0x80, 0x1a, 0xf9, 0x94, 0x55, 0xb5, 0xa3, 0x4c, 0x94, 0x8b, 0x56, 0xc5, 0xaa, 0xba, 0x5a, + 0x5c, 0x6a, 0x97, 0x2d, 0xd1, 0x46, 0x9e, 0x98, 0x8c, 0x92, 0x47, 0x2c, 0xe4, 0x40, 0xbf, 0x90, + 0x1b, 0x70, 0x84, 0xbb, 0x99, 0xcd, 0xf3, 0xc7, 0x57, 0xbe, 0xe8, 0xa7, 0x79, 0xca, 0x15, 0xd3, + 0x8d, 0x3e, 0x84, 0x2a, 0x92, 0x62, 0x10, 0xe9, 0x48, 0xca, 0x36, 0x79, 0x1f, 0x1f, 0x64, 0xeb, + 0xb7, 0xc1, 0x15, 0x8f, 0xe6, 0x79, 0x4c, 0x8d, 0xd1, 0x57, 0xf1, 0x54, 0x8b, 0x79, 0x37, 0x42, + 0x11, 0x0f, 0xe4, 0xb9, 0x71, 0x59, 0x28, 0x20, 0x14, 0xa9, 0xe7, 0xac, 0x5b, 0x3c, 0x51, 0x13, + 0xa5, 0x13, 0x45, 0xbf, 0x2c, 0x3d, 0x05, 0xa1, 0x78, 0xdc, 0xaf, 0x3d, 0xbd, 0x5f, 0x38, 0x9f, + 0xed, 0x52, 0xdd, 0x1f, 0x8f, 0x44, 0xf1, 0x74, 0x0c, 0x9c, 0xf5, 0x62, 0x17, 0xde, 0xf6, 0xc3, + 0x4e, 0xba, 0xcf, 0xd2, 0x58, 0xf1, 0x9b, 0xc2, 0xed, 0x2a, 0x8d, 0x11, 0xc0, 0x33, 0xc9, 0x73, + 0x53, 0xbe, 0x65, 0xaf, 0xed, 0x6b, 0x7f, 0xed, 0xcc, 0x12, 0xb7, 0xcb, 0x56, 0x57, 0xee, 0x1d, + 0xc7, 0x47, 0xf5, 0x36, 0x21, 0xee, 0xfb, 0x2e, 0x90, 0x6f, 0x11, 0x9e, 0x4d, 0xa4, 0x46, 0x36, + 0x43, 0x4e, 0xe7, 0x46, 0x47, 0xaa, 0x32, 0xa3, 0x5e, 0xdc, 0xe9, 0xc2, 0xe7, 0x7f, 0xdf, 0xff, + 0x7a, 0x82, 0xd2, 0x53, 0x4a, 0x14, 0xf6, 0x9b, 0x5a, 0x45, 0x72, 0xeb, 0x8e, 0x8e, 0xed, 0xce, + 0x15, 0xb4, 0x48, 0xbe, 0x41, 0xf8, 0xc8, 0x1a, 0x08, 0x4d, 0x76, 0x72, 0x98, 0x2c, 0x57, 0x3f, + 0x75, 0xb1, 0x2e, 0x28, 0xac, 0xe7, 0xc9, 0x73, 0x63, 0xb1, 0x92, 0xf6, 0x8e, 0x44, 0x9b, 0x91, + 0x37, 0x54, 0x17, 0x04, 0x72, 0x6a, 0x18, 0xae, 0xa0, 0x73, 0x8c, 0x6b, 0xb5, 0xe8, 0xa4, 0x25, + 0x7a, 0x56, 0x11, 0x9e, 0x26, 0xe3, 0x03, 0x47, 0x3e, 0xc1, 0xb3, 0xe5, 0x5a, 0x55, 0xca, 0xe8, + 0xa8, 0x2a, 0x66, 0x8c, 0x08, 0x6c, 0x5e, 0x5a, 0xe8, 0x79, 0xe5, 0xf7, 0x2c, 0x79, 0x76, 0xaf, + 0xdf, 0x25, 0x90, 0xf3, 0x25, 0xef, 0xcb, 0x88, 0x7c, 0x86, 0xf0, 0x6c, 0x52, 0x3f, 0xc7, 0x1d, + 0xa9, 0xd2, 0x3b, 0x60, 0xcc, 0x3f, 0xf8, 0x83, 0xb4, 0x04, 0xa7, 0xe9, 0x59, 0xac, 0x96, 0x9e, + 0x9f, 0x11, 0x9e, 0x51, 0xca, 0x4a, 0x23, 0xcc, 0x0d, 0x7b, 0x28, 0x4a, 0xaf, 0xba, 0xa7, 0xe7, + 0x45, 0x85, 0x67, 0x19, 0x8b, 0x55, 0xf0, 0xac, 0x58, 0x7a, 0x96, 0x27, 0xfc, 0x37, 0x84, 0x8f, + 0x65, 0x5a, 0x53, 0xa3, 0x9e, 0x19, 0x85, 0x5a, 0xd2, 0xa3, 0x75, 0x69, 0x2f, 0x2b, 0xda, 0x15, + 0x63, 0xa9, 0x22, 0x6d, 0xe2, 0x5c, 0x02, 0xff, 0x82, 0xf0, 0x6c, 0x22, 0x07, 0xc7, 0x25, 0xb7, + 0x24, 0x18, 0xeb, 0xc2, 0xbe, 0xa4, 0x60, 0x97, 0x8d, 0xf3, 0x95, 0x61, 0xbb, 0x20, 0x51, 0x7f, + 0x45, 0xf8, 0x68, 0x2a, 0xb0, 0x34, 0xeb, 0x88, 0x73, 0x56, 0xd6, 0x60, 0x75, 0x61, 0x5f, 0x56, + 0xb0, 0x4d, 0xe3, 0x42, 0x25, 0x58, 0x9e, 0xf8, 0x96, 0xb4, 0x7f, 0x20, 0x7c, 0x5c, 0xcb, 0x5d, + 0xcd, 0x4b, 0x87, 0x79, 0xf7, 0x6a, 0xe2, 0xba, 0xc4, 0xaf, 0x28, 0xe2, 0x8b, 0x86, 0x59, 0x89, + 0x58, 0x64, 0xde, 0x25, 0xf3, 0x5d, 0x84, 0xa7, 0xa5, 0xa6, 0xd6, 0xb8, 0x23, 0x6a, 0x60, 0x41, + 0x73, 0xd7, 0x25, 0xbd, 0xa4, 0x48, 0x4d, 0xe3, 0x5c, 0xb5, 0xd8, 0x0a, 0x16, 0x49, 0xc8, 0xef, + 0x10, 0x9e, 0x96, 0x2a, 0x63, 0x1c, 0x64, 0x41, 0x85, 0xd4, 0x85, 0x5c, 0x52, 0x90, 0x2f, 0x50, + 0x3a, 0x1e, 0x32, 0xf0, 0x43, 0x75, 0x9f, 0x06, 0xf8, 0x50, 0xa2, 0x9b, 0xf9, 0xa8, 0xd7, 0x2d, + 0x97, 0xf4, 0x06, 0xc9, 0x67, 0x33, 0xf1, 0x45, 0xaf, 0x28, 0x5f, 0x97, 0xc8, 0x4a, 0xa5, 0x80, + 0xdc, 0x49, 0xf5, 0xd7, 0x8e, 0x15, 0x30, 0x6f, 0x19, 0x91, 0x1f, 0x10, 0x9e, 0x6d, 0x97, 0x2b, + 0xcf, 0xe9, 0x51, 0xd7, 0xe3, 0x11, 0xd6, 0x1d, 0x4b, 0x01, 0x9f, 0xa3, 0x0f, 0x29, 0xe2, 0xba, + 0xdc, 0xbc, 0x7e, 0xf5, 0xcf, 0xdd, 0x39, 0xf4, 0xd7, 0xee, 0x1c, 0xfa, 0x67, 0x77, 0x0e, 0x7d, + 0x68, 0x3d, 0xec, 0x8f, 0xd4, 0x9e, 0xdf, 0x6b, 0xeb, 0x07, 0xd5, 0x0f, 0xa6, 0x8b, 0xff, 0x06, + 0x00, 0x00, 0xff, 0xff, 0xa0, 0x8f, 0x8f, 0x05, 0x7f, 0x13, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -2638,18 +2629,6 @@ func (m *WorkflowSubmitRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { i -= len(m.XXX_unrecognized) copy(dAtA[i:], m.XXX_unrecognized) } - if m.CreateOptions != nil { - { - size, err := m.CreateOptions.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintWorkflow(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x2a - } if m.SubmitOptions != nil { { size, err := m.SubmitOptions.MarshalToSizedBuffer(dAtA[:i]) @@ -3088,10 +3067,6 @@ func (m *WorkflowSubmitRequest) Size() (n int) { l = m.SubmitOptions.Size() n += 1 + l + sovWorkflow(uint64(l)) } - if m.CreateOptions != nil { - l = m.CreateOptions.Size() - n += 1 + l + sovWorkflow(uint64(l)) - } if m.XXX_unrecognized != nil { n += len(m.XXX_unrecognized) } @@ -5569,42 +5544,6 @@ func (m *WorkflowSubmitRequest) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex - case 5: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CreateOptions", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowWorkflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthWorkflow - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthWorkflow - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.CreateOptions == nil { - m.CreateOptions = &v1.CreateOptions{} - } - if err := m.CreateOptions.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipWorkflow(dAtA[iNdEx:]) diff --git a/pkg/apiclient/workflow/workflow.proto b/pkg/apiclient/workflow/workflow.proto index 8d28582dd332..b06dd80be5a8 100644 --- a/pkg/apiclient/workflow/workflow.proto +++ b/pkg/apiclient/workflow/workflow.proto @@ -113,8 +113,6 @@ message WorkflowSubmitRequest{ string resourceKind = 2; string resourceName = 3; github.com.argoproj.argo.pkg.apis.workflow.v1alpha1.SubmitOpts submitOptions = 4; - k8s.io.apimachinery.pkg.apis.meta.v1.CreateOptions createOptions = 5; - } service WorkflowService { diff --git a/pkg/apiclient/workflow/workflow.swagger.json b/pkg/apiclient/workflow/workflow.swagger.json index 6d40c3b8c9b9..3ad44c373960 100644 --- a/pkg/apiclient/workflow/workflow.swagger.json +++ b/pkg/apiclient/workflow/workflow.swagger.json @@ -5104,9 +5104,6 @@ }, "submitOptions": { "$ref": "#/definitions/github.com.argoproj.argo.pkg.apis.workflow.v1alpha1.SubmitOpts" - }, - "createOptions": { - "$ref": "#/definitions/k8s.io.apimachinery.pkg.apis.meta.v1.CreateOptions" } } }, diff --git a/test/e2e/argo_server_test.go b/test/e2e/argo_server_test.go index b1eb60d07f5b..027676de5c8d 100644 --- a/test/e2e/argo_server_test.go +++ b/test/e2e/argo_server_test.go @@ -1124,7 +1124,7 @@ func (s *ArgoServerSuite) TestWorkflowTemplateService() { }) } -func (s *ArgoServerSuite) TestSumbitWorkflowFromResource() { +func (s *ArgoServerSuite) TestSubmitWorkflowFromResource() { s.Run("CreateWFT", func() { s.e(s.T()).POST("/api/v1/workflow-templates/argo"). @@ -1157,7 +1157,10 @@ func (s *ArgoServerSuite) TestSumbitWorkflowFromResource() { s.e(s.T()).POST("/api/v1/workflows/argo/submit"). WithBytes([]byte(`{ "resourceKind": "WorkflowTemplate", - "resourceName": "test" + "resourceName": "test", + "submitOptions": { + "labels": "argo-e2e=true" + } }`)). Expect(). Status(200) @@ -1197,7 +1200,10 @@ func (s *ArgoServerSuite) TestSumbitWorkflowFromResource() { s.e(s.T()).POST("/api/v1/workflows/argo/submit"). WithBytes([]byte(`{ "resourceKind": "cronworkflow", - "resourceName": "test" + "resourceName": "test", + "submitOptions": { + "labels": "argo-e2e=true" + } }`)). Expect(). Status(200) @@ -1234,7 +1240,10 @@ func (s *ArgoServerSuite) TestSumbitWorkflowFromResource() { s.e(s.T()).POST("/api/v1/workflows/argo/submit"). WithBytes([]byte(`{ "resourceKind": "ClusterWorkflowTemplate", - "resourceName": "test" + "resourceName": "test", + "submitOptions": { + "labels": "argo-e2e=true" + } }`)). Expect(). Status(200) diff --git a/test/e2e/cli_test.go b/test/e2e/cli_test.go index 40510cdb5e62..04b9d36b72fc 100644 --- a/test/e2e/cli_test.go +++ b/test/e2e/cli_test.go @@ -590,7 +590,7 @@ func (s *CLISuite) TestTemplate() { assert.Contains(t, output, "Created:") } }) - var templateWorkflowName string + var workflowName string s.Given().RunCli([]string{"list"}, func(t *testing.T, output string, err error) { if assert.NoError(t, err) { r := regexp.MustCompile(`\s+?(workflow-template-whalesay-template-[a-z0-9]+)`) @@ -598,14 +598,19 @@ func (s *CLISuite) TestTemplate() { if len(res) != 2 { assert.Fail(t, "Internal test error, please report a bug") } - templateWorkflowName = res[1] - } - }).When().Wait(30*time.Second).RunCli([]string{"get", templateWorkflowName}, func(t *testing.T, output string, err error) { - if assert.NoError(t, err) { - assert.Contains(t, output, templateWorkflowName) - assert.Contains(t, output, "Succeeded") + workflowName = res[1] } }) + s.Given(). + WorkflowName(workflowName). + When(). + WaitForWorkflow(30*time.Second). + RunCli([]string{"get", workflowName}, func(t *testing.T, output string, err error) { + if assert.NoError(t, err) { + assert.Contains(t, output, workflowName) + assert.Contains(t, output, "Succeeded") + } + }) }) s.Run("Delete", func() { s.Given().RunCli([]string{"template", "delete", "workflow-template-whalesay-template"}, func(t *testing.T, output string, err error) { diff --git a/test/e2e/expectedfailures/volumes-pvc-fail-event.yaml b/test/e2e/expectedfailures/volumes-pvc-fail-event.yaml index d9f7492a7c22..4362abd7094e 100644 --- a/test/e2e/expectedfailures/volumes-pvc-fail-event.yaml +++ b/test/e2e/expectedfailures/volumes-pvc-fail-event.yaml @@ -36,7 +36,7 @@ spec: - name: print-message container: - image: alpine:latest + image: cowsay:v1 command: [sh, -c] args: ["echo getting message from volume; find /mnt/vol; cat /mnt/vol/hello_world.txt"] volumeMounts: diff --git a/test/e2e/fixtures/e2e_suite.go b/test/e2e/fixtures/e2e_suite.go index 2e456e0b27ff..f79e3713d455 100644 --- a/test/e2e/fixtures/e2e_suite.go +++ b/test/e2e/fixtures/e2e_suite.go @@ -48,7 +48,7 @@ func init() { if imageTag == "master" { imageTag = "latest" } - if strings.HasPrefix(gitBranch, "release-2") { + if strings.HasPrefix(gitBranch, "release-") { tags, err := runCli("git", "tag", "--merged") if err != nil { panic(err) @@ -56,6 +56,7 @@ func init() { parts := strings.Split(tags, "\n") imageTag = parts[len(parts)-2] } + imageTag = strings.ReplaceAll(imageTag, "/", "-") context, err := runCli("kubectl", "config", "current-context") if err != nil { panic(err) @@ -74,11 +75,6 @@ type E2ESuite struct { cronClient v1alpha1.CronWorkflowInterface KubeClient kubernetes.Interface // Guard-rail. - // A list of images that exist on the K3S node at the start of the test are probably those created as part - // of the Kubernetes system (e.g. k8s.gcr.io/pause:3.1) or K3S. This is populated at the start of each test, - // and checked at the end of each test. - images map[string]bool - // Guard-rail. // The number of archived workflows. If is changes between two tests, we have a problem. numWorkflows int } @@ -96,24 +92,6 @@ func (s *E2ESuite) SetupSuite() { s.cwfTemplateClient = versioned.NewForConfigOrDie(s.RestConfig).ArgoprojV1alpha1().ClusterWorkflowTemplates() } -func (s *E2ESuite) listImages() map[string]bool { - list, err := s.KubeClient.CoreV1().Nodes().List(metav1.ListOptions{}) - s.CheckError(err) - images := make(map[string]bool) - // looks O^3, but is actually going to be O(n) - for _, node := range list.Items { - for _, image := range node.Status.Images { - for _, n := range image.Names { - // We want to ignore hashes. - if !strings.Contains(n, "@sha256") && strings.HasPrefix(n, "docker.io/") { - images[n] = true - } - } - } - } - return images -} - func (s *E2ESuite) TearDownSuite() { s.Persistence.Close() } @@ -129,8 +107,6 @@ func (s *E2ESuite) BeforeTest(suiteName, testName string) { s.CheckError(err) log.Infof("logging debug diagnostics to file://%s", name) s.DeleteResources(Label) - s.images = s.listImages() - s.importImages() numWorkflows := s.countWorkflows() if s.numWorkflows > 0 && s.numWorkflows != numWorkflows { s.T().Fatal("there should almost never be a change to the number of workflows between tests, this means the last test (not the current test) is bad and needs fixing - note this guard-rail does not work across test suites") @@ -144,18 +120,6 @@ func (s *E2ESuite) countWorkflows() int { return len(workflows.Items) } -func (s *E2ESuite) importImages() { - // If we are running K3D we should re-import these prior to running tests, as they may have been evicted. - if k3d { - for _, n := range []string{"docker.io/argoproj/argoexec:" + imageTag, "docker.io/library/cowsay:v1"} { - if !s.images[n] { - _, err := runCli("k3d", "import-images", n) - s.CheckError(err) - } - } - } -} - func (s *E2ESuite) DeleteResources(label string) { // delete all cron workflows cronList, err := s.cronClient.List(metav1.ListOptions{LabelSelector: label}) @@ -337,18 +301,6 @@ func (s *E2ESuite) AfterTest(_, _ string) { for _, wf := range wfs.Items { s.printWorkflowDiagnostics(wf.GetName()) } - // Using an arbitrary image will result in slow and flakey tests as we can't really predict when they'll be - // downloaded or evicted. To keep tests fast and reliable you must use whitelisted images. - imageWhitelist := map[string]bool{ - "docker.io/argoproj/argoexec:" + imageTag: true, - "docker.io/library/cowsay:v1": true, - "docker.io/library/python:alpine3.6": true, - } - for n := range s.listImages() { - if !s.images[n] && !imageWhitelist[n] { - s.T().Fatalf("non-whitelisted image used in test: %s", n) - } - } err = file.Close() s.CheckError(err) } diff --git a/test/e2e/fixtures/given.go b/test/e2e/fixtures/given.go index ec4c5d6b4a5d..10356ddd2039 100644 --- a/test/e2e/fixtures/given.go +++ b/test/e2e/fixtures/given.go @@ -64,11 +64,31 @@ func (g *Given) Workflow(text string) *Given { if err != nil { g.t.Fatal(err) } + g.checkImages(g.wf.Spec.Templates) + g.checkLabels(g.wf.ObjectMeta) } - g.checkLabels(g.wf.ObjectMeta) return g } +func (g *Given) checkImages(templates []wfv1.Template) { + // Using an arbitrary image will result in slow and flakey tests as we can't really predict when they'll be + // downloaded or evicted. To keep tests fast and reliable you must use whitelisted images. + imageWhitelist := map[string]bool{ + "argoexec:" + imageTag: true, + "cowsay:v1": true, + "python:alpine3.6": true, + } + for _, t := range templates { + container := t.Container + if container != nil { + image := container.Image + if !imageWhitelist[image] { + g.t.Fatalf("non-whitelisted image used in test: %s", image) + } + } + } +} + func (g *Given) checkLabels(m metav1.ObjectMeta) { if m.GetLabels()[Label] == "" && m.GetLabels()[LabelCron] == "" { g.t.Fatalf("%s%s does not have one of {%s, %s} labels", m.Name, m.GenerateName, Label, LabelCron) @@ -110,6 +130,7 @@ func (g *Given) WorkflowTemplate(text string) *Given { if err != nil { g.t.Fatal(err) } + g.checkImages(wfTemplate.Spec.Templates) g.checkLabels(wfTemplate.ObjectMeta) g.wfTemplates = append(g.wfTemplates, wfTemplate) } @@ -146,9 +167,7 @@ func (g *Given) CronWorkflow(text string) *Given { if err != nil { g.t.Fatal(err) } - if g.cronWf.GetLabels() == nil { - g.cronWf.SetLabels(map[string]string{}) - } + g.checkImages(g.cronWf.Spec.WorkflowSpec.Templates) g.checkLabels(g.cronWf.ObjectMeta) } return g diff --git a/test/e2e/functional/global-scope.yaml b/test/e2e/functional/global-scope.yaml index a929ff9cf3bd..d110b1e2b6ad 100644 --- a/test/e2e/functional/global-scope.yaml +++ b/test/e2e/functional/global-scope.yaml @@ -55,7 +55,7 @@ spec: parameters: - name: parameter container: - image: alpine:latest + image: cowsay:v1 command: [sh, -c] args: ["echo '{{inputs.parameters.parameter}}' > /tmp/hello_world.txt"] outputs: @@ -79,6 +79,6 @@ spec: - name: global-parameter-consumption container: - image: alpine:latest + image: cowsay:v1 command: [sh, -c] args: ["echo {{workflow.outputs.parameters.global-parameter}}"] diff --git a/test/e2e/functional/loops-empty-param.yaml b/test/e2e/functional/loops-empty-param.yaml index 59be350520ae..f80c9e9c7964 100644 --- a/test/e2e/functional/loops-empty-param.yaml +++ b/test/e2e/functional/loops-empty-param.yaml @@ -33,6 +33,6 @@ spec: parameters: - name: seconds container: - image: alpine:latest + image: cowsay:v1 command: [sh, -c] args: ["echo sleeping for {{inputs.parameters.seconds}} seconds; sleep {{inputs.parameters.seconds}}; echo done"] diff --git a/test/e2e/functional/stop-terminate.yaml b/test/e2e/functional/stop-terminate.yaml index 69bc81a478c0..1790b523bb06 100644 --- a/test/e2e/functional/stop-terminate.yaml +++ b/test/e2e/functional/stop-terminate.yaml @@ -22,10 +22,10 @@ spec: parameters: - name: message container: - image: alpine + image: cowsay:v1 command: [sleep, "10"] - name: exit container: - image: alpine + image: cowsay:v1 command: [echo, "one exit"] diff --git a/test/e2e/testdata/sleep-3s.yaml b/test/e2e/testdata/sleep-3s.yaml index 32b0a8757002..115257bf21ed 100644 --- a/test/e2e/testdata/sleep-3s.yaml +++ b/test/e2e/testdata/sleep-3s.yaml @@ -9,5 +9,5 @@ spec: templates: - name: sleep-3s container: - image: alpine + image: cowsay:v1 command: [sh, -c, "sleep 3"] diff --git a/util/tmp.go b/util/tmp.go deleted file mode 100644 index b4e558369c13..000000000000 --- a/util/tmp.go +++ /dev/null @@ -1,5 +0,0 @@ -package util - -func foo() string { - return "bar" -} diff --git a/util/tmp_test.go b/util/tmp_test.go deleted file mode 100644 index 0e4faa34a02d..000000000000 --- a/util/tmp_test.go +++ /dev/null @@ -1,11 +0,0 @@ -package util - -import ( - "testing" - - "github.com/stretchr/testify/assert" -) - -func Test_foo(t *testing.T) { - assert.Equal(t, "bar", foo()) -}