From 570fdc6d32c31280ed13b261a244013ed95d5b0b Mon Sep 17 00:00:00 2001 From: Vineeth Bandi Date: Fri, 16 Aug 2024 10:25:26 -0500 Subject: [PATCH] add go 1.23 prow jobs (#629) --- ...stro-base-presubmits-golang-1-23-al-2.yaml | 117 ++++++++++++++++++ ...o-base-presubmits-golang-1-23-al-2023.yaml | 117 ++++++++++++++++++ .../golang-1-23-PROD-images-postsubmits.yaml | 98 +++++++++++++++ .../golang-1-23-presubmits.yaml | 91 ++++++++++++++ templater/jobs/utils/utils.go | 1 + 5 files changed, 424 insertions(+) create mode 100644 jobs/aws/eks-distro-build-tooling/eks-distro-base-presubmits-golang-1-23-al-2.yaml create mode 100644 jobs/aws/eks-distro-build-tooling/eks-distro-base-presubmits-golang-1-23-al-2023.yaml create mode 100644 jobs/aws/eks-distro-build-tooling/golang-1-23-PROD-images-postsubmits.yaml create mode 100644 jobs/aws/eks-distro-build-tooling/golang-1-23-presubmits.yaml diff --git a/jobs/aws/eks-distro-build-tooling/eks-distro-base-presubmits-golang-1-23-al-2.yaml b/jobs/aws/eks-distro-build-tooling/eks-distro-base-presubmits-golang-1-23-al-2.yaml new file mode 100644 index 000000000..1b8a5a795 --- /dev/null +++ b/jobs/aws/eks-distro-build-tooling/eks-distro-base-presubmits-golang-1-23-al-2.yaml @@ -0,0 +1,117 @@ +# Copyright Amazon.com Inc. or its affiliates. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +################################################################################ +# IMPORTANT: This Prowjob was generated by running `make prowjobs -C templater`. +# DO NOT EDIT THIS FILE BY HAND! Refer to docs/prowjobs.md for instructions on +# how to add a new Prowjob or update an existing Prowjob. +################################################################################ + +presubmits: + aws/eks-distro-build-tooling: + - name: eks-distro-base-tooling-presubmits-golang-1-23-al-2 + always_run: false + run_if_changed: "eks-distro-base/.*|scripts/setup_public_ecr_push.sh" + max_concurrency: 10 + cluster: "prow-presubmits-cluster" + skip_report: false + extra_refs: + - org: eks-distro-pr-bot + repo: eks-distro-build-tooling + base_ref: main + - org: eks-distro-pr-bot + repo: eks-distro + base_ref: main + - org: eks-distro-pr-bot + repo: eks-anywhere-build-tooling + base_ref: main + - org: eks-distro-pr-bot + repo: eks-anywhere + base_ref: main + decoration_config: + gcs_configuration: + bucket: s3://prowpresubmitsdataclusterstack-prowbucket7c73355c-vfwwxd2eb4gp + path_strategy: explicit + s3_credentials_secret: s3-credentials + labels: + image-build: "true" + local-registry: "true" + disk-usage: "true" + spec: + serviceaccountName: presubmits-build-account + automountServiceAccountToken: false + containers: + - name: build-container + image: public.ecr.aws/eks-distro-build-tooling/builder-base:minimal-989717f8fb50055f480045b8bdd3afa87b709d9e.2 + command: + - bash + - -c + - > + trap '(docker buildx rm eks-d-builders || true) && touch /status/done && rm -rf /home/prow/go/src/' EXIT + && + scripts/buildkit_check.sh + && + scripts/local_registry_check.sh + && + scripts/setup_buildx.sh + && + export DATE_EPOCH=$(date "+%F-%s") + && + make golang-1.23-compiler-images -C $PROJECT_PATH IMAGE_TAG=${DATE_EPOCH}.${AL_TAG} + && + make create-pr -C $PROJECT_PATH IMAGE_TAG=${DATE_EPOCH}.${AL_TAG} + env: + - name: PROJECT_PATH + value: "eks-distro-base" + - name: AL_TAG + value: "2" + - name: IMAGE_REPO + value: "localhost:5000" + - name: PLATFORMS + value: "linux/amd64" + - name: BUILDKITD_IMAGE + value: "moby/buildkit:v0.12.3-rootless" + - name: USE_BUILDX + value: "true" + resources: + requests: + memory: "4Gi" + cpu: "1024m" + - name: buildkitd + image: moby/buildkit:v0.12.3-rootless + command: + - sh + args: + - /script/entrypoint.sh + securityContext: + runAsUser: 1000 + runAsGroup: 1000 + - name: registry + image: public.ecr.aws/docker/library/registry:2 + command: + - sh + args: + - /registry-script/entrypoint.sh + readinessProbe: + httpGet: + path: / + port: 5000 + initialDelaySeconds: 5 + periodSeconds: 3 + - command: + - sh + args: + - /disk-usage-script/entrypoint.sh + image: public.ecr.aws/amazonlinux/amazonlinux:2 + name: disk-monitor diff --git a/jobs/aws/eks-distro-build-tooling/eks-distro-base-presubmits-golang-1-23-al-2023.yaml b/jobs/aws/eks-distro-build-tooling/eks-distro-base-presubmits-golang-1-23-al-2023.yaml new file mode 100644 index 000000000..50d566226 --- /dev/null +++ b/jobs/aws/eks-distro-build-tooling/eks-distro-base-presubmits-golang-1-23-al-2023.yaml @@ -0,0 +1,117 @@ +# Copyright Amazon.com Inc. or its affiliates. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +################################################################################ +# IMPORTANT: This Prowjob was generated by running `make prowjobs -C templater`. +# DO NOT EDIT THIS FILE BY HAND! Refer to docs/prowjobs.md for instructions on +# how to add a new Prowjob or update an existing Prowjob. +################################################################################ + +presubmits: + aws/eks-distro-build-tooling: + - name: eks-distro-base-tooling-presubmits-golang-1-23-al-2023 + always_run: false + run_if_changed: "eks-distro-base/.*|scripts/setup_public_ecr_push.sh" + max_concurrency: 10 + cluster: "prow-presubmits-cluster" + skip_report: false + extra_refs: + - org: eks-distro-pr-bot + repo: eks-distro-build-tooling + base_ref: main + - org: eks-distro-pr-bot + repo: eks-distro + base_ref: main + - org: eks-distro-pr-bot + repo: eks-anywhere-build-tooling + base_ref: main + - org: eks-distro-pr-bot + repo: eks-anywhere + base_ref: main + decoration_config: + gcs_configuration: + bucket: s3://prowpresubmitsdataclusterstack-prowbucket7c73355c-vfwwxd2eb4gp + path_strategy: explicit + s3_credentials_secret: s3-credentials + labels: + image-build: "true" + local-registry: "true" + disk-usage: "true" + spec: + serviceaccountName: presubmits-build-account + automountServiceAccountToken: false + containers: + - name: build-container + image: public.ecr.aws/eks-distro-build-tooling/builder-base:minimal-989717f8fb50055f480045b8bdd3afa87b709d9e.2 + command: + - bash + - -c + - > + trap '(docker buildx rm eks-d-builders || true) && touch /status/done && rm -rf /home/prow/go/src/' EXIT + && + scripts/buildkit_check.sh + && + scripts/local_registry_check.sh + && + scripts/setup_buildx.sh + && + export DATE_EPOCH=$(date "+%F-%s") + && + make golang-1.23-compiler-images -C $PROJECT_PATH IMAGE_TAG=${DATE_EPOCH}.${AL_TAG} + && + make create-pr -C $PROJECT_PATH IMAGE_TAG=${DATE_EPOCH}.${AL_TAG} + env: + - name: PROJECT_PATH + value: "eks-distro-base" + - name: AL_TAG + value: "2023" + - name: IMAGE_REPO + value: "localhost:5000" + - name: PLATFORMS + value: "linux/amd64" + - name: BUILDKITD_IMAGE + value: "moby/buildkit:v0.12.3-rootless" + - name: USE_BUILDX + value: "true" + resources: + requests: + memory: "4Gi" + cpu: "1024m" + - name: buildkitd + image: moby/buildkit:v0.12.3-rootless + command: + - sh + args: + - /script/entrypoint.sh + securityContext: + runAsUser: 1000 + runAsGroup: 1000 + - name: registry + image: public.ecr.aws/docker/library/registry:2 + command: + - sh + args: + - /registry-script/entrypoint.sh + readinessProbe: + httpGet: + path: / + port: 5000 + initialDelaySeconds: 5 + periodSeconds: 3 + - command: + - sh + args: + - /disk-usage-script/entrypoint.sh + image: public.ecr.aws/amazonlinux/amazonlinux:2 + name: disk-monitor diff --git a/jobs/aws/eks-distro-build-tooling/golang-1-23-PROD-images-postsubmits.yaml b/jobs/aws/eks-distro-build-tooling/golang-1-23-PROD-images-postsubmits.yaml new file mode 100644 index 000000000..9f1d16bfe --- /dev/null +++ b/jobs/aws/eks-distro-build-tooling/golang-1-23-PROD-images-postsubmits.yaml @@ -0,0 +1,98 @@ +# Copyright Amazon.com Inc. or its affiliates. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +################################################################################ +# IMPORTANT: This Prowjob was generated by running `make prowjobs -C templater`. +# DO NOT EDIT THIS FILE BY HAND! Refer to docs/prowjobs.md for instructions on +# how to add a new Prowjob or update an existing Prowjob. +################################################################################ + +postsubmits: + aws/eks-distro-build-tooling: + - name: golang-1-23-PROD-images-tooling-postsubmit + always_run: false + run_if_changed: "eks-distro-base/golang_versions.yaml" + branches: + - ^main$ + max_concurrency: 10 + error_on_eviction: true + cluster: "prow-postsubmits-cluster" + skip_report: false + decoration_config: + gcs_configuration: + bucket: s3://prowdataclusterstack-316434458-prowbucket7c73355c-1n9f9v93wpjcm + path_strategy: explicit + s3_credentials_secret: s3-credentials + labels: + image-build: "true" + disk-usage: "true" + spec: + serviceaccountName: postsubmits-build-account + automountServiceAccountToken: true + nodeSelector: + arch: AMD64 + containers: + - name: build-container + image: public.ecr.aws/eks-distro-build-tooling/builder-base:standard-989717f8fb50055f480045b8bdd3afa87b709d9e.2 + command: + - bash + - -c + - > + trap 'touch /status/done' EXIT + && + scripts/buildkit_check.sh + && + make install-deps -C $PROJECT_PATH + && + projects/golang/go/scripts/prow_release_images.sh + && + projects/golang/go/scripts/debian_image_release_notification.sh + env: + - name: PROJECT_PATH + value: "projects/golang/go" + - name: GO_SOURCE_VERSION + value: "1.23" + - name: AWS_REGION + value: "us-east-1" + - name: IMAGE_REPO + value: "public.ecr.aws/eks-distro-build-tooling" + - name: ECR_PUBLIC_PUSH_ROLE_ARN + value: "arn:aws:iam::832188789588:role/ECRPublicPushRole" + - name: SNS_TOPIC_ARN + value: "arn:aws:sns:us-east-1:379412251201:eks-golang-image-updates" + - name: ARTIFACT_DEPLOYMENT_ROLE_ARN + value: "arn:aws:iam::379412251201:role/ArtifactDeploymentRole" + resources: + requests: + memory: "2Gi" + cpu: "1" + - name: buildkitd + image: moby/buildkit:v0.12.3-rootless + command: + - sh + args: + - /script/entrypoint.sh + securityContext: + runAsUser: 1000 + runAsGroup: 1000 + resources: + requests: + memory: "2Gi" + cpu: "1024m" + - command: + - sh + args: + - /disk-usage-script/entrypoint.sh + image: public.ecr.aws/amazonlinux/amazonlinux:2 + name: disk-monitor diff --git a/jobs/aws/eks-distro-build-tooling/golang-1-23-presubmits.yaml b/jobs/aws/eks-distro-build-tooling/golang-1-23-presubmits.yaml new file mode 100644 index 000000000..3a6ba3cf9 --- /dev/null +++ b/jobs/aws/eks-distro-build-tooling/golang-1-23-presubmits.yaml @@ -0,0 +1,91 @@ +# Copyright Amazon.com Inc. or its affiliates. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +################################################################################ +# IMPORTANT: This Prowjob was generated by running `make prowjobs -C templater`. +# DO NOT EDIT THIS FILE BY HAND! Refer to docs/prowjobs.md for instructions on +# how to add a new Prowjob or update an existing Prowjob. +################################################################################ + +presubmits: + aws/eks-distro-build-tooling: + - name: golang-1-23-tooling-presubmit + always_run: false + run_if_changed: "projects/golang/go/Makefile|projects/golang/go/1.23/.*|projects/golang/go/docker/debianBase/.*" + max_concurrency: 10 + cluster: "prow-presubmits-cluster" + skip_report: false + decoration_config: + gcs_configuration: + bucket: s3://prowpresubmitsdataclusterstack-prowbucket7c73355c-vfwwxd2eb4gp + path_strategy: explicit + s3_credentials_secret: s3-credentials + labels: + image-build: "true" + disk-usage: "true" + spec: + serviceaccountName: presubmits-build-account + automountServiceAccountToken: false + containers: + - name: build-container + image: public.ecr.aws/eks-distro-build-tooling/builder-base:standard-989717f8fb50055f480045b8bdd3afa87b709d9e.2 + command: + - bash + - -c + - > + trap 'touch /status/done && rm -rf /home/prow/go/src/' EXIT + && + scripts/buildkit_check.sh + && + make install-deps -C $PROJECT_PATH + && + projects/golang/go/scripts/prow_release_images.sh + env: + - name: PROJECT_PATH + value: "projects/golang/go" + - name: GO_SOURCE_VERSION + value: "1.23" + - name: SKIP_PRIVILEGED_TESTS + value: "true" + - name: PUSH_IMAGES + value: "false" + - name: AWS_REGION + value: "us-east-1" + - name: IMAGE_REPO + value: "public.ecr.aws/eks-distro-build-tooling" + - name: ECR_PUBLIC_PUSH_ROLE_ARN + value: "arn:aws:iam::832188789588:role/ECRPublicPushRole" + - name: SNS_TOPIC_ARN + value: "arn:aws:sns:us-east-1:379412251201:eks-golang-image-updates" + - name: ARTIFACT_DEPLOYMENT_ROLE_ARN + value: "arn:aws:iam::379412251201:role/ArtifactDeploymentRole" + resources: + requests: + memory: "16Gi" + cpu: "2560m" + - name: buildkitd + image: moby/buildkit:v0.12.3-rootless + command: + - sh + args: + - /script/entrypoint.sh + securityContext: + runAsUser: 1000 + runAsGroup: 1000 + - command: + - sh + args: + - /disk-usage-script/entrypoint.sh + image: public.ecr.aws/amazonlinux/amazonlinux:2 + name: disk-monitor diff --git a/templater/jobs/utils/utils.go b/templater/jobs/utils/utils.go index ead2d3614..705b03ead 100644 --- a/templater/jobs/utils/utils.go +++ b/templater/jobs/utils/utils.go @@ -31,6 +31,7 @@ var k8releaseBranches = []string{ var golangVersions = []string{ "1-21", "1-22", + "1-23", } var pythonVersions = []string{