From 95e1014a02335e4528d6d2f6050e541145bd3b06 Mon Sep 17 00:00:00 2001 From: Jordan Liggitt Date: Thu, 2 Feb 2023 18:12:33 -0500 Subject: [PATCH 1/2] Copy release branch unit and integration presubmits to -go-compatibility variants --- .../sig-release/release-branch-jobs/1.23.yaml | 54 +++++++++++++++++++ .../sig-release/release-branch-jobs/1.24.yaml | 54 +++++++++++++++++++ .../sig-release/release-branch-jobs/1.25.yaml | 54 +++++++++++++++++++ .../sig-release/release-branch-jobs/1.26.yaml | 52 ++++++++++++++++++ .../kubernetes/sig-testing/integration.yaml | 30 +++++++++++ .../kubernetes/sig-testing/make-test.yaml | 35 ++++++++++++ 6 files changed, 279 insertions(+) diff --git a/config/jobs/kubernetes/sig-release/release-branch-jobs/1.23.yaml b/config/jobs/kubernetes/sig-release/release-branch-jobs/1.23.yaml index f69c3337af09..fe5b88a22c4b 100644 --- a/config/jobs/kubernetes/sig-release/release-branch-jobs/1.23.yaml +++ b/config/jobs/kubernetes/sig-release/release-branch-jobs/1.23.yaml @@ -1600,6 +1600,34 @@ presubmits: memory: 15Gi securityContext: privileged: true + - always_run: true + branches: + - release-1.23 + cluster: k8s-infra-prow-build + context: pull-kubernetes-integration-go-compatibility + decorate: true + labels: + preset-dind-enabled: "true" + preset-service-account: "true" + name: pull-kubernetes-integration-go-compatibility + path_alias: k8s.io/kubernetes + spec: + containers: + - args: + - ./hack/jenkins/test-dockerized.sh + command: + - runner.sh + image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20230127-9396ca613c-1.23 + name: "" + resources: + limits: + cpu: "6" + memory: 15Gi + requests: + cpu: "6" + memory: 15Gi + securityContext: + privileged: true - always_run: true branches: - release-1.23 @@ -1748,6 +1776,32 @@ presubmits: memory: 36Gi securityContext: runAsUser: 2000 + - always_run: true + branches: + - release-1.23 + cluster: k8s-infra-prow-build + context: pull-kubernetes-unit-go-compatibility + decorate: true + labels: + preset-service-account: "true" + name: pull-kubernetes-unit-go-compatibility + path_alias: k8s.io/kubernetes + spec: + containers: + - command: + - make + - test + image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20230127-9396ca613c-1.23 + name: "" + resources: + limits: + cpu: "4" + memory: 36Gi + requests: + cpu: "4" + memory: 36Gi + securityContext: + runAsUser: 2000 - always_run: true branches: - release-1.23 diff --git a/config/jobs/kubernetes/sig-release/release-branch-jobs/1.24.yaml b/config/jobs/kubernetes/sig-release/release-branch-jobs/1.24.yaml index 21ef948919b7..70044b95c29d 100644 --- a/config/jobs/kubernetes/sig-release/release-branch-jobs/1.24.yaml +++ b/config/jobs/kubernetes/sig-release/release-branch-jobs/1.24.yaml @@ -1420,6 +1420,34 @@ presubmits: memory: 15Gi securityContext: privileged: true + - always_run: true + branches: + - release-1.24 + cluster: k8s-infra-prow-build + context: pull-kubernetes-integration-go-compatibility + decorate: true + labels: + preset-dind-enabled: "true" + preset-service-account: "true" + name: pull-kubernetes-integration-go-compatibility + path_alias: k8s.io/kubernetes + spec: + containers: + - args: + - ./hack/jenkins/test-dockerized.sh + command: + - runner.sh + image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20230127-9396ca613c-1.24 + name: "" + resources: + limits: + cpu: "6" + memory: 15Gi + requests: + cpu: "6" + memory: 15Gi + securityContext: + privileged: true - always_run: true branches: - release-1.24 @@ -1568,6 +1596,32 @@ presubmits: memory: 36Gi securityContext: runAsUser: 2000 + - always_run: true + branches: + - release-1.24 + cluster: k8s-infra-prow-build + context: pull-kubernetes-unit-go-compatibility + decorate: true + labels: + preset-service-account: "true" + name: pull-kubernetes-unit-go-compatibility + path_alias: k8s.io/kubernetes + spec: + containers: + - command: + - make + - test + image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20230127-9396ca613c-1.24 + name: "" + resources: + limits: + cpu: "4" + memory: 36Gi + requests: + cpu: "4" + memory: 36Gi + securityContext: + runAsUser: 2000 - always_run: true branches: - release-1.24 diff --git a/config/jobs/kubernetes/sig-release/release-branch-jobs/1.25.yaml b/config/jobs/kubernetes/sig-release/release-branch-jobs/1.25.yaml index 463ff917fdd3..f7fa2253bcba 100644 --- a/config/jobs/kubernetes/sig-release/release-branch-jobs/1.25.yaml +++ b/config/jobs/kubernetes/sig-release/release-branch-jobs/1.25.yaml @@ -1430,6 +1430,34 @@ presubmits: memory: 15Gi securityContext: privileged: true + - always_run: true + branches: + - release-1.25 + cluster: k8s-infra-prow-build + context: pull-kubernetes-integration-go-compatibility + decorate: true + labels: + preset-dind-enabled: "true" + preset-service-account: "true" + name: pull-kubernetes-integration-go-compatibility + path_alias: k8s.io/kubernetes + spec: + containers: + - args: + - ./hack/jenkins/test-dockerized.sh + command: + - runner.sh + image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20230127-9396ca613c-1.25 + name: "" + resources: + limits: + cpu: "6" + memory: 15Gi + requests: + cpu: "6" + memory: 15Gi + securityContext: + privileged: true - always_run: true branches: - release-1.25 @@ -1578,6 +1606,32 @@ presubmits: memory: 36Gi securityContext: runAsUser: 2000 + - always_run: true + branches: + - release-1.25 + cluster: k8s-infra-prow-build + context: pull-kubernetes-unit-go-compatibility + decorate: true + labels: + preset-service-account: "true" + name: pull-kubernetes-unit-go-compatibility + path_alias: k8s.io/kubernetes + spec: + containers: + - command: + - make + - test + image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20230127-9396ca613c-1.25 + name: "" + resources: + limits: + cpu: "4" + memory: 36Gi + requests: + cpu: "4" + memory: 36Gi + securityContext: + runAsUser: 2000 - always_run: true branches: - release-1.25 diff --git a/config/jobs/kubernetes/sig-release/release-branch-jobs/1.26.yaml b/config/jobs/kubernetes/sig-release/release-branch-jobs/1.26.yaml index 293eb7db68d7..6f2e44609159 100755 --- a/config/jobs/kubernetes/sig-release/release-branch-jobs/1.26.yaml +++ b/config/jobs/kubernetes/sig-release/release-branch-jobs/1.26.yaml @@ -1458,6 +1458,34 @@ presubmits: memory: 15Gi securityContext: privileged: true + - always_run: true + branches: + - release-1.26 + cluster: k8s-infra-prow-build + context: pull-kubernetes-integration-go-compatibility + decorate: true + labels: + preset-dind-enabled: "true" + preset-service-account: "true" + name: pull-kubernetes-integration-go-compatibility + path_alias: k8s.io/kubernetes + spec: + containers: + - args: + - ./hack/jenkins/test-dockerized.sh + command: + - runner.sh + image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20230127-9396ca613c-1.26 + name: "" + resources: + limits: + cpu: "6" + memory: 15Gi + requests: + cpu: "6" + memory: 15Gi + securityContext: + privileged: true - always_run: true branches: - release-1.26 @@ -1604,6 +1632,30 @@ presubmits: requests: cpu: "4" memory: 36Gi + - always_run: true + branches: + - release-1.26 + cluster: k8s-infra-prow-build + context: pull-kubernetes-unit-go-compatibility + decorate: true + labels: + preset-service-account: "true" + name: pull-kubernetes-unit-go-compatibility + path_alias: k8s.io/kubernetes + spec: + containers: + - command: + - make + - test + image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20230127-9396ca613c-1.26 + name: "" + resources: + limits: + cpu: "4" + memory: 36Gi + requests: + cpu: "4" + memory: 36Gi - always_run: true branches: - release-1.26 diff --git a/config/jobs/kubernetes/sig-testing/integration.yaml b/config/jobs/kubernetes/sig-testing/integration.yaml index 859398310625..2b5507e1c672 100644 --- a/config/jobs/kubernetes/sig-testing/integration.yaml +++ b/config/jobs/kubernetes/sig-testing/integration.yaml @@ -33,6 +33,36 @@ presubmits: requests: cpu: 6 memory: 15Gi + - name: pull-kubernetes-integration-go-compatibility + cluster: k8s-infra-prow-build + always_run: true + decorate: true + skip_branches: + - release-\d+.\d+ # per-release job + annotations: + fork-per-release: "true" + testgrid-dashboards: sig-testing-canaries + path_alias: k8s.io/kubernetes + labels: + preset-service-account: "true" + preset-dind-enabled: "true" + spec: + containers: + - image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20230127-9396ca613c-master + command: + - runner.sh + args: + - ./hack/jenkins/test-dockerized.sh + # docker-in-docker needs privileged mode + securityContext: + privileged: true + resources: + limits: + cpu: 6 + memory: 15Gi + requests: + cpu: 6 + memory: 15Gi - name: pull-kubernetes-integration-go-canary cluster: k8s-infra-prow-build always_run: false diff --git a/config/jobs/kubernetes/sig-testing/make-test.yaml b/config/jobs/kubernetes/sig-testing/make-test.yaml index e4abf4c9160d..7e1d36fe05f1 100644 --- a/config/jobs/kubernetes/sig-testing/make-test.yaml +++ b/config/jobs/kubernetes/sig-testing/make-test.yaml @@ -35,6 +35,41 @@ presubmits: requests: cpu: 4 memory: "36Gi" + - name: pull-kubernetes-unit-go-compatibility + annotations: + fork-per-release: "true" + testgrid-dashboards: sig-testing-canaries + decorate: true + cluster: k8s-infra-prow-build + skip_branches: + - release-\d+.\d+ # per-release job + labels: + preset-service-account: "true" + optional: false + always_run: true + path_alias: k8s.io/kubernetes + spec: + # unit tests have no business requiring root or doing privileged operations + securityContext: + # NOTE: these are arbitrary non-root values. They don't exist in the + # image and don't need to, the unit tests should only write to TMPDIR + runAsUser: 2001 + runAsGroup: 2010 + containers: + - image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20230127-9396ca613c-master + securityContext: + allowPrivilegeEscalation: false + command: + - make + - test + # TODO: direct copy from pull-kubernetes-bazel-test, tune these + resources: + limits: + cpu: 4 + memory: "36Gi" + requests: + cpu: 4 + memory: "36Gi" - name: pull-kubernetes-unit-experimental # try clonerefs with preclone decoration_config: From f029e1203146c51175207d12e8e622f6542795d1 Mon Sep 17 00:00:00 2001 From: Jordan Liggitt Date: Thu, 2 Feb 2023 23:41:31 -0500 Subject: [PATCH 2/2] Make go-compatibility presubmits opt-in and non-blocking, set original GO_VERSION --- .../sig-release/release-branch-jobs/1.23.yaml | 16 ++++++++++++++-- .../sig-release/release-branch-jobs/1.24.yaml | 16 ++++++++++++++-- .../sig-release/release-branch-jobs/1.25.yaml | 16 ++++++++++++++-- .../sig-release/release-branch-jobs/1.26.yaml | 16 ++++++++++++++-- .../jobs/kubernetes/sig-testing/integration.yaml | 7 ++++++- .../jobs/kubernetes/sig-testing/make-test.yaml | 8 ++++++-- 6 files changed, 68 insertions(+), 11 deletions(-) diff --git a/config/jobs/kubernetes/sig-release/release-branch-jobs/1.23.yaml b/config/jobs/kubernetes/sig-release/release-branch-jobs/1.23.yaml index fe5b88a22c4b..27c892c8eb72 100644 --- a/config/jobs/kubernetes/sig-release/release-branch-jobs/1.23.yaml +++ b/config/jobs/kubernetes/sig-release/release-branch-jobs/1.23.yaml @@ -1600,7 +1600,8 @@ presubmits: memory: 15Gi securityContext: privileged: true - - always_run: true + - always_run: false + optional: true branches: - release-1.23 cluster: k8s-infra-prow-build @@ -1609,6 +1610,8 @@ presubmits: labels: preset-dind-enabled: "true" preset-service-account: "true" + annotations: + description: run with GO_VERSION set to the original go version used for this branch name: pull-kubernetes-integration-go-compatibility path_alias: k8s.io/kubernetes spec: @@ -1617,6 +1620,9 @@ presubmits: - ./hack/jenkins/test-dockerized.sh command: - runner.sh + env: + - name: GO_VERSION + value: "1.17.3" image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20230127-9396ca613c-1.23 name: "" resources: @@ -1776,7 +1782,8 @@ presubmits: memory: 36Gi securityContext: runAsUser: 2000 - - always_run: true + - always_run: false + optional: true branches: - release-1.23 cluster: k8s-infra-prow-build @@ -1784,6 +1791,8 @@ presubmits: decorate: true labels: preset-service-account: "true" + annotations: + description: run with GO_VERSION set to the original go version used for this branch name: pull-kubernetes-unit-go-compatibility path_alias: k8s.io/kubernetes spec: @@ -1791,6 +1800,9 @@ presubmits: - command: - make - test + env: + - name: GO_VERSION + value: "1.17.3" image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20230127-9396ca613c-1.23 name: "" resources: diff --git a/config/jobs/kubernetes/sig-release/release-branch-jobs/1.24.yaml b/config/jobs/kubernetes/sig-release/release-branch-jobs/1.24.yaml index 70044b95c29d..a31bc0801d9e 100644 --- a/config/jobs/kubernetes/sig-release/release-branch-jobs/1.24.yaml +++ b/config/jobs/kubernetes/sig-release/release-branch-jobs/1.24.yaml @@ -1420,7 +1420,8 @@ presubmits: memory: 15Gi securityContext: privileged: true - - always_run: true + - always_run: false + optional: true branches: - release-1.24 cluster: k8s-infra-prow-build @@ -1429,6 +1430,8 @@ presubmits: labels: preset-dind-enabled: "true" preset-service-account: "true" + annotations: + description: run with GO_VERSION set to the original go version used for this branch name: pull-kubernetes-integration-go-compatibility path_alias: k8s.io/kubernetes spec: @@ -1437,6 +1440,9 @@ presubmits: - ./hack/jenkins/test-dockerized.sh command: - runner.sh + env: + - name: GO_VERSION + value: "1.18.1" image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20230127-9396ca613c-1.24 name: "" resources: @@ -1596,7 +1602,8 @@ presubmits: memory: 36Gi securityContext: runAsUser: 2000 - - always_run: true + - always_run: false + optional: true branches: - release-1.24 cluster: k8s-infra-prow-build @@ -1604,6 +1611,8 @@ presubmits: decorate: true labels: preset-service-account: "true" + annotations: + description: run with GO_VERSION set to the original go version used for this branch name: pull-kubernetes-unit-go-compatibility path_alias: k8s.io/kubernetes spec: @@ -1611,6 +1620,9 @@ presubmits: - command: - make - test + env: + - name: GO_VERSION + value: "1.18.1" image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20230127-9396ca613c-1.24 name: "" resources: diff --git a/config/jobs/kubernetes/sig-release/release-branch-jobs/1.25.yaml b/config/jobs/kubernetes/sig-release/release-branch-jobs/1.25.yaml index f7fa2253bcba..64ae9a7fae9d 100644 --- a/config/jobs/kubernetes/sig-release/release-branch-jobs/1.25.yaml +++ b/config/jobs/kubernetes/sig-release/release-branch-jobs/1.25.yaml @@ -1430,7 +1430,8 @@ presubmits: memory: 15Gi securityContext: privileged: true - - always_run: true + - always_run: false + optional: true branches: - release-1.25 cluster: k8s-infra-prow-build @@ -1439,6 +1440,8 @@ presubmits: labels: preset-dind-enabled: "true" preset-service-account: "true" + annotations: + description: run with GO_VERSION set to the original go version used for this branch name: pull-kubernetes-integration-go-compatibility path_alias: k8s.io/kubernetes spec: @@ -1447,6 +1450,9 @@ presubmits: - ./hack/jenkins/test-dockerized.sh command: - runner.sh + env: + - name: GO_VERSION + value: "1.19.1" image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20230127-9396ca613c-1.25 name: "" resources: @@ -1606,7 +1612,8 @@ presubmits: memory: 36Gi securityContext: runAsUser: 2000 - - always_run: true + - always_run: false + optional: true branches: - release-1.25 cluster: k8s-infra-prow-build @@ -1614,6 +1621,8 @@ presubmits: decorate: true labels: preset-service-account: "true" + annotations: + description: run with GO_VERSION set to the original go version used for this branch name: pull-kubernetes-unit-go-compatibility path_alias: k8s.io/kubernetes spec: @@ -1621,6 +1630,9 @@ presubmits: - command: - make - test + env: + - name: GO_VERSION + value: "1.19.1" image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20230127-9396ca613c-1.25 name: "" resources: diff --git a/config/jobs/kubernetes/sig-release/release-branch-jobs/1.26.yaml b/config/jobs/kubernetes/sig-release/release-branch-jobs/1.26.yaml index 6f2e44609159..b47757adf71a 100755 --- a/config/jobs/kubernetes/sig-release/release-branch-jobs/1.26.yaml +++ b/config/jobs/kubernetes/sig-release/release-branch-jobs/1.26.yaml @@ -1458,7 +1458,8 @@ presubmits: memory: 15Gi securityContext: privileged: true - - always_run: true + - always_run: false + optional: true branches: - release-1.26 cluster: k8s-infra-prow-build @@ -1467,6 +1468,8 @@ presubmits: labels: preset-dind-enabled: "true" preset-service-account: "true" + annotations: + description: run with GO_VERSION set to the original go version used for this branch name: pull-kubernetes-integration-go-compatibility path_alias: k8s.io/kubernetes spec: @@ -1475,6 +1478,9 @@ presubmits: - ./hack/jenkins/test-dockerized.sh command: - runner.sh + env: + - name: GO_VERSION + value: "1.19.4" image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20230127-9396ca613c-1.26 name: "" resources: @@ -1632,7 +1638,8 @@ presubmits: requests: cpu: "4" memory: 36Gi - - always_run: true + - always_run: false + optional: true branches: - release-1.26 cluster: k8s-infra-prow-build @@ -1640,6 +1647,8 @@ presubmits: decorate: true labels: preset-service-account: "true" + annotations: + description: run with GO_VERSION set to the original go version used for this branch name: pull-kubernetes-unit-go-compatibility path_alias: k8s.io/kubernetes spec: @@ -1647,6 +1656,9 @@ presubmits: - command: - make - test + env: + - name: GO_VERSION + value: "1.19.4" image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20230127-9396ca613c-1.26 name: "" resources: diff --git a/config/jobs/kubernetes/sig-testing/integration.yaml b/config/jobs/kubernetes/sig-testing/integration.yaml index 2b5507e1c672..d2bbc4ff966c 100644 --- a/config/jobs/kubernetes/sig-testing/integration.yaml +++ b/config/jobs/kubernetes/sig-testing/integration.yaml @@ -35,13 +35,15 @@ presubmits: memory: 15Gi - name: pull-kubernetes-integration-go-compatibility cluster: k8s-infra-prow-build - always_run: true + always_run: false + optional: true decorate: true skip_branches: - release-\d+.\d+ # per-release job annotations: fork-per-release: "true" testgrid-dashboards: sig-testing-canaries + description: run with GO_VERSION set to the original go version used for this branch path_alias: k8s.io/kubernetes labels: preset-service-account: "true" @@ -51,6 +53,9 @@ presubmits: - image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20230127-9396ca613c-master command: - runner.sh + env: + - name: GO_VERSION + value: "" args: - ./hack/jenkins/test-dockerized.sh # docker-in-docker needs privileged mode diff --git a/config/jobs/kubernetes/sig-testing/make-test.yaml b/config/jobs/kubernetes/sig-testing/make-test.yaml index 7e1d36fe05f1..fd26c9cab62e 100644 --- a/config/jobs/kubernetes/sig-testing/make-test.yaml +++ b/config/jobs/kubernetes/sig-testing/make-test.yaml @@ -39,14 +39,15 @@ presubmits: annotations: fork-per-release: "true" testgrid-dashboards: sig-testing-canaries + description: run with GO_VERSION set to the original go version used for this branch decorate: true cluster: k8s-infra-prow-build skip_branches: - release-\d+.\d+ # per-release job labels: preset-service-account: "true" - optional: false - always_run: true + optional: true + always_run: false path_alias: k8s.io/kubernetes spec: # unit tests have no business requiring root or doing privileged operations @@ -62,6 +63,9 @@ presubmits: command: - make - test + env: + - name: GO_VERSION + value: "" # TODO: direct copy from pull-kubernetes-bazel-test, tune these resources: limits: