From d0066f98f3ae9cfcc1f410769ee021a5a11eeb42 Mon Sep 17 00:00:00 2001 From: Jackson West Date: Thu, 19 Dec 2024 14:32:59 -0600 Subject: [PATCH] improves batch build generation (#4138) --- Common.mk | 6 +- Makefile | 4 +- build/lib/generate_staging_buildspec.sh | 82 ++- build/lib/setup.sh | 18 +- build/lib/validate_release_buildspecs.sh | 8 +- projects/aws/bottlerocket-bootstrap/Makefile | 16 +- .../buildspecs/batch-build.yml | 38 +- .../aws/eks-anywhere-build-tooling/Makefile | 3 + projects/aws/upgrader/Makefile | 13 +- .../aws/upgrader/buildspecs/batch-build.yml | 2 +- projects/containerd/containerd/Makefile | 2 - projects/emissary-ingress/emissary/Makefile | 6 +- .../emissary/buildspecs/batch-build.yml | 2 +- projects/goharbor/harbor/Makefile | 7 +- .../harbor/buildspecs/batch-build.yml | 2 +- projects/isc-projects/dhcp/Makefile | 1 - projects/kubernetes-sigs/cri-tools/Makefile | 2 + .../kubernetes-sigs/image-builder/Makefile | 7 +- .../image-builder/buildspecs/br.yml | 15 + projects/kubernetes-sigs/kind/Makefile | 40 +- .../kind/buildspecs/batch-build.yml | 220 +-------- .../kind/buildspecs/node-images.yml | 6 +- .../cloud-provider-vsphere/Makefile | 13 +- .../buildspecs/batch-build.yml | 38 +- projects/linuxkit/linuxkit/Makefile | 6 +- .../linuxkit/buildspecs/batch-build.yml | 2 +- projects/opencontainers/runc/Makefile | 1 - projects/replicatedhq/troubleshoot/Makefile | 3 + projects/tinkerbell/boots/Makefile | 1 - projects/tinkerbell/hook/Makefile | 7 +- .../hook/buildspecs/batch-build.yml | 2 +- projects/tinkerbell/hub/Makefile | 1 - projects/tinkerbell/ipxedust/Makefile | 8 +- projects/tinkerbell/rufio/Makefile | 9 +- .../rufio/buildspecs/batch-build.yml | 2 +- projects/tinkerbell/tink/Makefile | 7 +- .../tink/buildspecs/batch-build.yml | 2 +- projects/torvalds/linux/Makefile | 1 - release/checksums-build.yml | 18 +- release/staging-build.yml | 467 +++--------------- tools/version-tracker/buildspecs/upgrade.yml | 18 +- 41 files changed, 323 insertions(+), 783 deletions(-) create mode 100644 projects/kubernetes-sigs/image-builder/buildspecs/br.yml diff --git a/Common.mk b/Common.mk index 6f062e0a86..8879c5f775 100644 --- a/Common.mk +++ b/Common.mk @@ -84,6 +84,10 @@ BUILDSPEC_VARS_KEYS?= BUILDSPEC_VARS_VALUES?= BUILDSPEC_PLATFORM?=ARM_CONTAINER BUILDSPEC_COMPUTE_TYPE?=BUILD_GENERAL1_SMALL +BUILDSPECS_FOR_COMBINE_IMAGES=buildspec.yml buildspecs/combine-images.yml +BUILDSPEC_1_VARS_KEYS?=$(if $(findstring $(BUILDSPECS_FOR_COMBINE_IMAGES),$(BUILDSPECS)),IMAGE_PLATFORMS,) +BUILDSPEC_1_VARS_VALUES?=$(if $(findstring $(BUILDSPECS_FOR_COMBINE_IMAGES),$(BUILDSPECS)),IMAGE_PLATFORMS,) +BUILDSPEC_2_DEPENDS_ON_OVERRIDE?=$(if $(filter buildspecs/combine-images.yml,$(word 2,$(BUILDSPECS))),BUILDSPEC_1,) #################################################### #################### GIT ########################### @@ -907,7 +911,7 @@ release: $(or $(RELEASE_TARGETS_OVERRIDE),$(RELEASE_TARGETS)) @set -e; \ for version in $(SUPPORTED_K8S_VERSIONS) ; do \ if ! [[ "$(SKIPPED_K8S_VERSIONS)" =~ $$version ]]; then \ - $(MAKE) $* $(if $(filter true,$(BINARIES_ARE_RELEASE_BRANCHED)),clean-output,) RELEASE_BRANCH=$$version; \ + $(MAKE) $* $(if $(filter true,$(BINARIES_ARE_RELEASE_BRANCHED)),clean-output,) RELEASE_BRANCH=$$version IMAGE_PLATFORMS=$(call IF_OVERRIDE_VARIABLE,IMAGE_PLATFORMS,); \ fi \ done; diff --git a/Makefile b/Makefile index 99c3b022e8..a17aad95b5 100644 --- a/Makefile +++ b/Makefile @@ -199,7 +199,7 @@ generate-project-list: | ensure-locale generate-staging-buildspec: export BINARY_PLATFORMS=linux/amd64 linux/arm64 generate-staging-buildspec: export IMAGE_PLATFORMS=linux/amd64 linux/arm64 generate-staging-buildspec: | ensure-locale - build/lib/generate_staging_buildspec.sh $(BASE_DIRECTORY) "$(ALL_PROJECTS)" "$(BASE_DIRECTORY)/release/staging-build.yml" "$(BASE_DIRECTORY)/buildspec.yml" + build/lib/generate_staging_buildspec.sh $(BASE_DIRECTORY) "$(ALL_PROJECTS)" "$(BASE_DIRECTORY)/release/staging-build.yml" "$(BASE_DIRECTORY)/buildspec.yml" false EXCLUDE_FROM_STAGING_BUILDSPEC BUILDSPECS false build/lib/generate_staging_buildspec.sh $(BASE_DIRECTORY) "$(ALL_PROJECTS)" "$(BASE_DIRECTORY)/release/checksums-build.yml" "$(BASE_DIRECTORY)/buildspecs/checksums-buildspec.yml" true EXCLUDE_FROM_CHECKSUMS_BUILDSPEC CHECKSUMS_BUILDSPECS false buildspecs/checksums-pr-buildspec.yml build/lib/generate_staging_buildspec.sh $(BASE_DIRECTORY) "aws_bottlerocket-bootstrap" "$(BASE_DIRECTORY)/projects/aws/bottlerocket-bootstrap/buildspecs/batch-build.yml" "$(BASE_DIRECTORY)/buildspec.yml" true build/lib/generate_staging_buildspec.sh $(BASE_DIRECTORY) "kubernetes_cloud-provider-vsphere" "$(BASE_DIRECTORY)/projects/kubernetes/cloud-provider-vsphere/buildspecs/batch-build.yml" "$(BASE_DIRECTORY)/buildspec.yml" true @@ -240,7 +240,7 @@ check-project-path-exists: .PHONY: validate-release-buildspecs validate-release-buildspecs: - build/lib/validate_release_buildspecs.sh + build/lib/validate_release_buildspecs.sh "$(BASE_DIRECTORY)/release/checksums-build.yml" "$(BASE_DIRECTORY)/release/staging-build.yml" "$(BASE_DIRECTORY)/tools/version-tracker/buildspecs/upgrade.yml" .PHONY: validate-eksd-releases validate-eksd-releases: diff --git a/build/lib/generate_staging_buildspec.sh b/build/lib/generate_staging_buildspec.sh index 4efd4ad974..83daec80e4 100755 --- a/build/lib/generate_staging_buildspec.sh +++ b/build/lib/generate_staging_buildspec.sh @@ -76,6 +76,7 @@ for project in "${PROJECTS[@]}"; do BUILDSPECS=$(make_var $PROJECT_PATH $BUILDSPECS_VAR) SPECS=(${BUILDSPECS// / }) + PREVIOUS_SPEC_IDENTIFIERS="" for (( i=0; i < ${#SPECS[@]}; i++ )); do IDENTIFIER="${org//-/_}_${repo//-/_}" @@ -94,17 +95,28 @@ for project in "${PROJECTS[@]}"; do if [[ "none" = "$BUILDSPEC_DEPENDS_ON" ]]; then PROJECT_DEPENDENCIES="" break + elif [[ -n "$BUILDSPEC_DEPENDS_ON" ]] && [[ $BUILDSPEC_DEPENDS_ON == BUILDSPEC_* ]]; then + # TODO: In the makefiles we will use `BUILDSPEC_1` as if you can control the specific buildspec + # to depend on. This code assumes its always the previous + HARDCODED_DEP="true" + PROJECT_DEPENDENCIES=$PREVIOUS_SPEC_IDENTIFIERS + break elif [[ -n "$BUILDSPEC_DEPENDS_ON" ]]; then HARDCODED_DEP="true" PROJECT_DEPENDENCIES=$BUILDSPEC_DEPENDS_ON break fi done - + + PREVIOUS_SPEC_IDENTIFIERS="" + + BUILDSPEC_NAME=$(basename $buildspec .yml) BUILDSPEC_IDENTIFIER_OVERRIDE="$(make_var $PROJECT_PATH BUILDSPEC_$((( $i + 1 )))_IDENTIFIER_OVERRIDE)" if [[ -n "$BUILDSPEC_IDENTIFIER_OVERRIDE" ]]; then IDENTIFIER="$BUILDSPEC_IDENTIFIER_OVERRIDE" - fi + elif [[ "${BUILDSPEC_NAME}" != *buildspec* ]]; then + IDENTIFIER+="_${BUILDSPEC_NAME//-/_}" + fi echo "Adding: $IDENTIFIER" @@ -134,10 +146,20 @@ for project in "${PROJECTS[@]}"; do fi DEP_IDENTIFIER=${DEP_ORG//-/_}_${DEP_REPO//-/_} + if [ -n "${DEP_RELEASE_BRANCH}" ]; then DEP_IDENTIFIER=${DEP_ORG//-/_}_${DEP_REPO//-/_}_${DEP_RELEASE_BRANCH//[-\/]/_} fi - DEPEND_ON+="\"${DEP_IDENTIFIER}\"," + # if dep is split by binary platform, append platform/arch + DEP_BUILDSPEC_VARS="$(make_var $MAKE_ROOT/projects/$DEP_ORG/$DEP_REPO BUILDSPEC_VARS_KEYS)" + DEP_BUILDSPECS="$(make_var $MAKE_ROOT/projects/$DEP_ORG/$DEP_REPO BUILDSPECS)" + if [[ "$DEP_BUILDSPEC_VARS" == "BINARY_PLATFORMS" ]]; then + DEPEND_ON+="\"${DEP_IDENTIFIER}_linux_amd64\",\"${DEP_IDENTIFIER}_linux_arm64\"," + elif [[ $DEP_BUILDSPECS == *combine-images.yml* ]]; then + DEPEND_ON+="\"${DEP_IDENTIFIER}_combine_images\"," + else + DEPEND_ON+="\"${DEP_IDENTIFIER}\"," + fi done fi @@ -160,21 +182,42 @@ for project in "${PROJECTS[@]}"; do fi ARCH_TYPE="\"type\":\"$BUILDSPEC_PLATFORM\",\"compute-type\":\"$BUILDSPEC_COMPUTE_TYPE\"," - - if [[ "$BUILDSPECS_VAR" == "CHECKSUMS_BUILDSPECS" ]] && [[ "${BUILDSPEC_VARS_KEYS}" = "IMAGE_PLATFORMS" || ("$BUILDSPEC_VARS_KEYS" == "RELEASE_BRANCH" && "false" == "$(make_var $PROJECT_PATH BINARIES_ARE_RELEASE_BRANCHED)") ]]; then - BUILDSPEC_VARS_KEYS="" + + BUILDSPEC_VARS_VALUES="" + if [[ "$BUILDSPECS_VAR" == "CHECKSUMS_BUILDSPECS" ]]; then + if [[ "true" == "$(make_var $PROJECT_PATH HAS_RELEASE_BRANCHES)" ]]; then + if [[ "false" == "$(make_var $PROJECT_PATH BINARIES_ARE_RELEASE_BRANCHED)" ]]; then + BUILDSPEC_VARS_KEYS="" + else + BUILDSPEC_VARS_KEYS="RELEASE_BRANCH" + BUILDSPEC_VARS_VALUES="SUPPORTED_K8S_VERSIONS" + fi + elif [[ "${BUILDSPEC_VARS_KEYS}" = "IMAGE_PLATFORMS" ]]; then + BUILDSPEC_VARS_KEYS="" + fi fi - if [[ "$BUILDSPECS_VAR" == "UPGRADE_BUILDSPECS" ]] && [[ "${IDENTIFIER}" = "kubernetes_sigs_image_builder" ]]; then - BUILDSPEC_VARS_KEYS="" + if [[ "$BUILDSPECS_VAR" == "UPGRADE_BUILDSPECS" ]]; then + if [[ "${IDENTIFIER}" = "kubernetes_sigs_image_builder" ]]; then + BUILDSPEC_VARS_KEYS="" + elif [[ "true" == "$(make_var $PROJECT_PATH HAS_RELEASE_BRANCHES)" ]]; then + if [[ "false" == "$(make_var $PROJECT_PATH BINARIES_ARE_RELEASE_BRANCHED)" ]]; then + BUILDSPEC_VARS_KEYS="" + else + BUILDSPEC_VARS_KEYS="RELEASE_BRANCH" + BUILDSPEC_VARS_VALUES="SUPPORTED_K8S_VERSIONS" + fi + fi fi if [[ -n "$BUILDSPEC_VARS_KEYS" ]]; then KEYS=(${BUILDSPEC_VARS_KEYS// / }) - BUILDSPEC_VARS_VALUES=$(make_var $PROJECT_PATH BUILDSPEC_VARS_VALUES) if [[ -z "$BUILDSPEC_VARS_VALUES" ]]; then - BUILDSPEC_VARS_VALUES=$(make_var $PROJECT_PATH BUILDSPEC_$((( $i + 1 )))_VARS_VALUES) + BUILDSPEC_VARS_VALUES=$(make_var $PROJECT_PATH BUILDSPEC_VARS_VALUES) + if [[ -z "$BUILDSPEC_VARS_VALUES" ]]; then + BUILDSPEC_VARS_VALUES=$(make_var $PROJECT_PATH BUILDSPEC_$((( $i + 1 )))_VARS_VALUES) + fi fi VARS=(${BUILDSPEC_VARS_VALUES// / }) @@ -184,8 +227,7 @@ for project in "${PROJECTS[@]}"; do ARR_1=(${VALUES_1// / }) for val1 in "${ARR_1[@]}"; do - BUILDSPEC_NAME=$(basename $buildspec .yml) - IDENTIFIER=${org//-/_}_${repo//-/_}_${val1//[-\/]/_} + IDENTIFIER_WITH_VAL=${IDENTIFIER}_${val1//[-\/]/_} # If building on one binary platform assume we want to run on a specific arch instance ARCH_TYPE="\"type\":\"$BUILDSPEC_PLATFORM\",\"compute-type\":\"$BUILDSPEC_COMPUTE_TYPE\"," @@ -206,9 +248,10 @@ for project in "${PROJECTS[@]}"; do fi fi - ALL_PROJECT_IDS+="\"$IDENTIFIER\"," + ALL_PROJECT_IDS+="\"$IDENTIFIER_WITH_VAL\"," + PREVIOUS_SPEC_IDENTIFIERS+="$IDENTIFIER_WITH_VAL " yq eval -i -P \ - ".batch.build-graph += [{\"identifier\":\"$IDENTIFIER\",$buildspec_field$DEPEND_ON\"env\":{$ARCH_TYPE\"variables\":{\"PROJECT_PATH\": \"projects/$org/$repo\"$CLONE_URL,\"${KEYS[0]}\":\"$val1\"$EXTRA_VARS}}}]" \ + ".batch.build-graph += [{\"identifier\":\"$IDENTIFIER_WITH_VAL\",$buildspec_field$DEPEND_ON\"env\":{$ARCH_TYPE\"variables\":{\"PROJECT_PATH\": \"projects/$org/$repo\"$CLONE_URL,\"${KEYS[0]}\":\"$val1\"$EXTRA_VARS}}}]" \ $STAGING_BUILDSPEC_FILE done @@ -220,8 +263,7 @@ for project in "${PROJECTS[@]}"; do ARR_2=(${VALUES_2// / }) for val1 in "${ARR_1[@]}"; do for val2 in "${ARR_2[@]}"; do - BUILDSPEC_NAME=$(basename $buildspec .yml) - IDENTIFIER=${org//-/_}_${repo//-/_}_${val1//[-\/]/_}_${val2//[-\/]/_}_${BUILDSPEC_NAME//-/_} + IDENTIFIER_WITH_VAL=${IDENTIFIER}_${val1//[-\/]/_}_${val2//[-\/]/_} # TODO: revisit this to make it more dynamic if other projects need it in the future EXTRA_VARS="" if [[ "$IDENTIFIER" =~ "kubernetes_sigs_image_builder_bottlerocket" ]]; then @@ -239,15 +281,17 @@ for project in "${PROJECTS[@]}"; do ARCH_TYPE="\"type\":\"ARM_CONTAINER\",\"compute-type\":\"$BUILDSPEC_COMPUTE_TYPE\"," fi fi - ALL_PROJECT_IDS+="\"$IDENTIFIER\"," + ALL_PROJECT_IDS+="\"$IDENTIFIER_WITH_VAL\"," + PREVIOUS_SPEC_IDENTIFIERS+="$IDENTIFIER_WITH_VAL " yq eval -i -P \ - ".batch.build-graph += [{\"identifier\":\"$IDENTIFIER\",$buildspec_field$DEPEND_ON\"env\":{$ARCH_TYPE\"variables\":{\"PROJECT_PATH\": \"projects/$org/$repo\"$CLONE_URL,\"${KEYS[0]}\":\"$val1\",\"${KEYS[1]}\":\"$val2\"$EXTRA_VARS}}}]" \ + ".batch.build-graph += [{\"identifier\":\"$IDENTIFIER_WITH_VAL\",$buildspec_field$DEPEND_ON\"env\":{$ARCH_TYPE\"variables\":{\"PROJECT_PATH\": \"projects/$org/$repo\"$CLONE_URL,\"${KEYS[0]}\":\"$val1\",\"${KEYS[1]}\":\"$val2\"$EXTRA_VARS}}}]" \ $STAGING_BUILDSPEC_FILE done done fi else ALL_PROJECT_IDS+="\"$IDENTIFIER\"," + PREVIOUS_SPEC_IDENTIFIERS+="$IDENTIFIER " yq eval -i -P \ ".batch.build-graph += [{\"identifier\":\"$IDENTIFIER\",$buildspec_field$DEPEND_ON\"env\":{$ARCH_TYPE\"variables\":{\"PROJECT_PATH\": \"projects/$org/$repo\"$CLONE_URL}}}]" \ $STAGING_BUILDSPEC_FILE @@ -277,3 +321,5 @@ if [[ "${#PROJECTS[@]}" = "1" ]]; then yq -i 'del(.. | select(tag == "!!map" and length == 0))' $STAGING_BUILDSPEC_FILE yq -i 'del(.. | select(tag == "!!map" and length == 0))' $STAGING_BUILDSPEC_FILE fi + +$SCRIPT_ROOT/validate_release_buildspecs.sh "$STAGING_BUILDSPEC_FILE" diff --git a/build/lib/setup.sh b/build/lib/setup.sh index 125b64c185..1e37ca3325 100755 --- a/build/lib/setup.sh +++ b/build/lib/setup.sh @@ -10,7 +10,7 @@ source "${SCRIPT_ROOT}/common.sh" source /docker.sh CODEBUILD_CI="${CODEBUILD_CI:-false}" -QEMU_INSTALLER_IMAGE="public.ecr.aws/eks-distro-build-tooling/binfmt-misc:qemu-v7.0.0" +# QEMU_INSTALLER_IMAGE="public.ecr.aws/eks-distro-build-tooling/binfmt-misc:qemu-v7.0.0" GIT_CONFIG_SCOPE="--global" if [[ "$CODEBUILD_CI" = "true" ]] && [[ "$CODEBUILD_BUILD_ID" =~ "aws-staging-bundle-build" ]]; then GIT_CONFIG_SCOPE="--system" @@ -36,12 +36,12 @@ update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy start::dockerd wait::for::dockerd -build::docker::retry_pull $QEMU_INSTALLER_IMAGE +# build::docker::retry_pull $QEMU_INSTALLER_IMAGE -CURRENT_ARCH="$(uname -m)" -if [[ "$CURRENT_ARCH" == "amd64" || "$CURRENT_ARCH" == "x86_64" ]]; then - EMULATOR_ARCH="aarch64" -elif [[ "$CURRENT_ARCH" == "arm64" || "$CURRENT_ARCH" == "aarch64" ]]; then - EMULATOR_ARCH="amd64" -fi -docker run --privileged --rm $QEMU_INSTALLER_IMAGE --install $EMULATOR_ARCH +# CURRENT_ARCH="$(uname -m)" +# if [[ "$CURRENT_ARCH" == "amd64" || "$CURRENT_ARCH" == "x86_64" ]]; then +# EMULATOR_ARCH="aarch64" +# elif [[ "$CURRENT_ARCH" == "arm64" || "$CURRENT_ARCH" == "aarch64" ]]; then +# EMULATOR_ARCH="amd64" +# fi +# docker run --privileged --rm $QEMU_INSTALLER_IMAGE --install $EMULATOR_ARCH diff --git a/build/lib/validate_release_buildspecs.sh b/build/lib/validate_release_buildspecs.sh index 5ffe4e430f..a04a276500 100755 --- a/build/lib/validate_release_buildspecs.sh +++ b/build/lib/validate_release_buildspecs.sh @@ -19,13 +19,12 @@ set -o nounset set -o pipefail REPO_ROOT="$(git rev-parse --show-toplevel)" -RELEASE_BUILDSPECS=("$REPO_ROOT/release/checksums-build.yml" "$REPO_ROOT/release/staging-build.yml" "$REPO_ROOT/tools/version-tracker/buildspecs/upgrade.yml") VALIDATIONS_FAILED=0 -for buildspec in "${RELEASE_BUILDSPECS[@]}"; do +for buildspec in "$@"; do echo "Validating builds count in build graph for buildspec - $buildspec" num_builds_in_batch=$(yq ".batch.build-graph | length" $buildspec) - if [[ $num_builds_in_batch -ge 100 ]]; then + if [[ $num_builds_in_batch -gt 100 ]]; then echo "Maximum allowed builds in batch is 100, current number of builds: $num_builds_in_batch" VALIDATIONS_FAILED=1 INVALID_BUILDSPEC="true" @@ -43,7 +42,8 @@ for buildspec in "${RELEASE_BUILDSPECS[@]}"; do VALIDATIONS_FAILED=1 INVALID_BUILDSPEC="true" fi - + + invalid_dependencies=() if [ "${#depends_on_list[@]}" -gt 0 ]; then echo "Validating identifiers in depend-on list are valid identifiers in build graph in the buildspec - $buildspec" invalid_dependencies=($(for dependency in ${depends_on_list[@]}; do diff --git a/projects/aws/bottlerocket-bootstrap/Makefile b/projects/aws/bottlerocket-bootstrap/Makefile index b7b095c1d6..50d020f67e 100644 --- a/projects/aws/bottlerocket-bootstrap/Makefile +++ b/projects/aws/bottlerocket-bootstrap/Makefile @@ -6,6 +6,15 @@ REPO_OWNER=aws BASE_IMAGE_NAME?=eks-distro-base +# we need to set IMAGE_BUILD_ARGS here even though its the same as the default. +# it is set in Common.mk on the images target (https://github.com/aws/eks-anywhere-build-tooling/blob/8b6d6d66974e881b22e3c9c8ea29adc26f7df5fd/Common.mk#L799) +# and the combine-images target (https://github.com/aws/eks-anywhere-build-tooling/blob/8b6d6d66974e881b22e3c9c8ea29adc26f7df5fd/Common.mk#L846) +# since combine-images has images as prereq target, the ?= does not really behavior as one might expect. +# the images target being the actual action, its version of the set takes prioirty and resets to empty +# setting it explicitly to empty here takes allows the combine-images override to take proirty +IMAGE_BUILD_ARGS= +DOCKERFILE_FOLDER=$(if $(filter bottlerocket-bootstrap-snow,$(IMAGE_NAME)),./docker/linux/snow,./docker/linux) + IMAGE_NAMES=bottlerocket-bootstrap bottlerocket-bootstrap-snow BOTTLEROCKET_BOOTSTRAP_IMAGE_COMPONENT=bottlerocket-bootstrap @@ -19,8 +28,9 @@ GIT_TAG=v$(RELEASE_BRANCH)-$(shell yq e ".releases[] | select(.branch==\"${RELEA HAS_RELEASE_BRANCHES=true -BUILDSPEC_VARS_KEYS=RELEASE_BRANCH -BUILDSPEC_VARS_VALUES=SUPPORTED_K8S_VERSIONS +BUILDSPECS=$(BUILDSPECS_FOR_COMBINE_IMAGES) +BUILDSPEC_1_COMPUTE_TYPE=BUILD_GENERAL1_LARGE + EXCLUDE_FROM_UPGRADE_BUILDSPEC=true # Go 1.18 and newer automatically embeds vcs information if the go module being built @@ -81,8 +91,6 @@ $(TOOLS_BIN_DIR): $(MOCKGEN): $(TOOLS_BIN_DIR) GOBIN=$(TOOLS_BIN_DIR) $(GO) install github.com/golang/mock/mockgen@v1.6.0 -bottlerocket-bootstrap-snow/images/%: DOCKERFILE_FOLDER=./docker/linux/snow - GIT_TAG: echo 0.0.0 > $@ diff --git a/projects/aws/bottlerocket-bootstrap/buildspecs/batch-build.yml b/projects/aws/bottlerocket-bootstrap/buildspecs/batch-build.yml index 8342c68078..29b8c3b621 100644 --- a/projects/aws/bottlerocket-bootstrap/buildspecs/batch-build.yml +++ b/projects/aws/bottlerocket-bootstrap/buildspecs/batch-build.yml @@ -17,36 +17,30 @@ batch: fast-fail: true build-graph: - - identifier: aws_bottlerocket_bootstrap_1_27 + - identifier: aws_bottlerocket_bootstrap_linux_amd64 env: - type: ARM_CONTAINER - compute-type: BUILD_GENERAL1_SMALL - variables: - RELEASE_BRANCH: 1-27 - - identifier: aws_bottlerocket_bootstrap_1_28 - env: - type: ARM_CONTAINER - compute-type: BUILD_GENERAL1_SMALL + type: LINUX_CONTAINER + compute-type: BUILD_GENERAL1_LARGE variables: - RELEASE_BRANCH: 1-28 - - identifier: aws_bottlerocket_bootstrap_1_29 + IMAGE_PLATFORMS: linux/amd64 + BINARY_PLATFORMS: linux/amd64 + IMAGE_TAG_SUFFIX: -amd64 + - identifier: aws_bottlerocket_bootstrap_linux_arm64 env: type: ARM_CONTAINER - compute-type: BUILD_GENERAL1_SMALL - variables: - RELEASE_BRANCH: 1-29 - - identifier: aws_bottlerocket_bootstrap_1_30 - env: - type: ARM_CONTAINER - compute-type: BUILD_GENERAL1_SMALL + compute-type: BUILD_GENERAL1_LARGE variables: - RELEASE_BRANCH: 1-30 - - identifier: aws_bottlerocket_bootstrap_1_31 + IMAGE_PLATFORMS: linux/arm64 + BINARY_PLATFORMS: linux/arm64 + IMAGE_TAG_SUFFIX: -arm64 + - identifier: aws_bottlerocket_bootstrap_combine_images + buildspec: buildspecs/combine-images.yml + depend-on: + - aws_bottlerocket_bootstrap_linux_amd64 + - aws_bottlerocket_bootstrap_linux_arm64 env: type: ARM_CONTAINER compute-type: BUILD_GENERAL1_SMALL - variables: - RELEASE_BRANCH: 1-31 version: 0.2 phases: pre_build: diff --git a/projects/aws/eks-anywhere-build-tooling/Makefile b/projects/aws/eks-anywhere-build-tooling/Makefile index 5592e411c2..c5e57e4de1 100644 --- a/projects/aws/eks-anywhere-build-tooling/Makefile +++ b/projects/aws/eks-anywhere-build-tooling/Makefile @@ -25,6 +25,9 @@ REPO_NO_CLONE=true EXCLUDE_FROM_CHECKSUMS_BUILDSPEC=true EXCLUDE_FROM_UPGRADE_BUILDSPEC=true +# By default the kind combine-images build will be added to the dep list +# to avoid waiting for that to finish, just wait on the binaries +BUILDSPEC_DEPENDS_ON_OVERRIDE=fluxcd_flux2 kubernetes_sigs_cluster_api kubernetes_sigs_kind_binaries replicatedhq_troubleshoot vmware_govmomi helm_helm apache_cloudstack_cloudmonkey include $(BASE_DIRECTORY)/Common.mk diff --git a/projects/aws/upgrader/Makefile b/projects/aws/upgrader/Makefile index 52c9ce34f1..18cfb120d5 100644 --- a/projects/aws/upgrader/Makefile +++ b/projects/aws/upgrader/Makefile @@ -8,10 +8,6 @@ GIT_TAG=v$(RELEASE_BRANCH)-$(shell yq e ".releases[] | select(.branch==\"${RELEA HAS_RELEASE_BRANCHES=true -EXCLUDE_FROM_UPGRADE_BUILDSPEC=true -# for the staging buildspec generation -BUILDSPEC_DEPENDS_ON_OVERRIDE=containerd_containerd_linux_amd64 containerd_containerd_linux_arm64 kubernetes_sigs_cri_tools - # Go 1.18 and newer automatically embeds vcs information if the go module being built # belongs (upwards) to a git repo. In this case, that repo is the buildtooling repo, # which is problematic. Given these binaries are built from different banches, @@ -33,14 +29,9 @@ GIT_CHECKOUT_TARGET=main.go FAKE_GIT_REPO_TARGET=.git REPO_NO_CLONE=true - -BUILDSPECS=buildspec.yml buildspecs/combine-images.yml +BUILDSPECS=$(BUILDSPECS_FOR_COMBINE_IMAGES) BUILDSPEC_1_COMPUTE_TYPE=BUILD_GENERAL1_LARGE -BUILDSPEC_1_VARS_KEYS=IMAGE_PLATFORMS -BUILDSPEC_1_VARS_VALUES=IMAGE_PLATFORMS -BUILDSPEC_1_ARCH_TYPES=LINUX_CONTAINER ARM_CONTAINER -BUILDSPEC_2_DEPENDS_ON_OVERRIDE=aws_upgrader_linux_amd64 aws_upgrader_linux_arm64 - +EXCLUDE_FROM_UPGRADE_BUILDSPEC=true BASE_IMAGE_NAME=eks-distro-minimal-base-nsenter IMAGE_NAMES=upgrader diff --git a/projects/aws/upgrader/buildspecs/batch-build.yml b/projects/aws/upgrader/buildspecs/batch-build.yml index 4daffde71d..884be5b890 100644 --- a/projects/aws/upgrader/buildspecs/batch-build.yml +++ b/projects/aws/upgrader/buildspecs/batch-build.yml @@ -33,7 +33,7 @@ batch: IMAGE_PLATFORMS: linux/arm64 BINARY_PLATFORMS: linux/arm64 IMAGE_TAG_SUFFIX: -arm64 - - identifier: aws_upgrader + - identifier: aws_upgrader_combine_images buildspec: buildspecs/combine-images.yml depend-on: - aws_upgrader_linux_amd64 diff --git a/projects/containerd/containerd/Makefile b/projects/containerd/containerd/Makefile index 730cdc3668..cf1b81ed8e 100644 --- a/projects/containerd/containerd/Makefile +++ b/projects/containerd/containerd/Makefile @@ -20,8 +20,6 @@ IMAGE_NAMES= BUILDSPEC_VARS_KEYS=BINARY_PLATFORMS BUILDSPEC_VARS_VALUES=BINARY_PLATFORMS -BUILDSPEC_ARCH_TYPES=LINUX_CONTAINER ARM_CONTAINER -BUILDSPEC_DEPENDS_ON_OVERRIDE=opencontainers_runc_linux_amd64 opencontainers_runc_linux_arm64 # Since we build the arm and amd binaries on difference instances in codebuild # we do not want to delete missing files when s3 sync-ing from local to the bucket diff --git a/projects/emissary-ingress/emissary/Makefile b/projects/emissary-ingress/emissary/Makefile index ac78a3e4b5..6dcf664c13 100644 --- a/projects/emissary-ingress/emissary/Makefile +++ b/projects/emissary-ingress/emissary/Makefile @@ -9,12 +9,8 @@ REPO_OWNER=emissary-ingress EXCLUDE_FROM_STAGING_BUILDSPEC=true -BUILDSPECS=buildspec.yml buildspecs/combine-images.yml +BUILDSPECS=$(BUILDSPECS_FOR_COMBINE_IMAGES) BUILDSPEC_1_COMPUTE_TYPE=BUILD_GENERAL1_LARGE -BUILDSPEC_1_VARS_KEYS=IMAGE_PLATFORMS -BUILDSPEC_1_VARS_VALUES=IMAGE_PLATFORMS -BUILDSPEC_1_ARCH_TYPES=LINUX_CONTAINER ARM_CONTAINER -BUILDSPEC_2_DEPENDS_ON_OVERRIDE=emissary_ingress_emissary_linux_amd64 emissary_ingress_emissary_linux_arm64 SKIP_ON_RELEASE_BRANCH=true diff --git a/projects/emissary-ingress/emissary/buildspecs/batch-build.yml b/projects/emissary-ingress/emissary/buildspecs/batch-build.yml index b246c9922e..a5f99f9a27 100644 --- a/projects/emissary-ingress/emissary/buildspecs/batch-build.yml +++ b/projects/emissary-ingress/emissary/buildspecs/batch-build.yml @@ -35,7 +35,7 @@ batch: BINARY_PLATFORMS: linux/arm64 IMAGE_TAG_SUFFIX: -arm64 HAS_HELM_CHART: "false" - - identifier: emissary_ingress_emissary + - identifier: emissary_ingress_emissary_combine_images buildspec: buildspecs/combine-images.yml depend-on: - emissary_ingress_emissary_linux_amd64 diff --git a/projects/goharbor/harbor/Makefile b/projects/goharbor/harbor/Makefile index 635eb05dec..50e4265f49 100644 --- a/projects/goharbor/harbor/Makefile +++ b/projects/goharbor/harbor/Makefile @@ -65,12 +65,9 @@ HELM_IMAGE_LIST=harbor/harbor-core harbor/harbor-db harbor/harbor-log harbor/har HELM_CHART_NAMES=harbor/$(HELM_SOURCE_REPOSITORY) EXCLUDE_FROM_STAGING_BUILDSPEC=true -BUILDSPECS=buildspec.yml buildspecs/combine-images.yml +BUILDSPECS=$(BUILDSPECS_FOR_COMBINE_IMAGES) BUILDSPEC_1_COMPUTE_TYPE=BUILD_GENERAL1_LARGE -BUILDSPEC_1_VARS_KEYS=IMAGE_PLATFORMS -BUILDSPEC_1_VARS_VALUES=IMAGE_PLATFORMS -BUILDSPEC_1_ARCH_TYPES=LINUX_CONTAINER ARM_CONTAINER -BUILDSPEC_2_DEPENDS_ON_OVERRIDE=goharbor_harbor_linux_amd64 goharbor_harbor_linux_arm64 + SKIP_ON_RELEASE_BRANCH=true diff --git a/projects/goharbor/harbor/buildspecs/batch-build.yml b/projects/goharbor/harbor/buildspecs/batch-build.yml index 13017a29e6..0ce83bfe3e 100644 --- a/projects/goharbor/harbor/buildspecs/batch-build.yml +++ b/projects/goharbor/harbor/buildspecs/batch-build.yml @@ -35,7 +35,7 @@ batch: BINARY_PLATFORMS: linux/arm64 IMAGE_TAG_SUFFIX: -arm64 HAS_HELM_CHART: "false" - - identifier: goharbor_harbor + - identifier: goharbor_harbor_combine_images buildspec: buildspecs/combine-images.yml depend-on: - goharbor_harbor_linux_amd64 diff --git a/projects/isc-projects/dhcp/Makefile b/projects/isc-projects/dhcp/Makefile index daf88141aa..5189caa3bc 100644 --- a/projects/isc-projects/dhcp/Makefile +++ b/projects/isc-projects/dhcp/Makefile @@ -24,7 +24,6 @@ EXCLUDE_FROM_UPGRADE_BUILDSPEC=true BUILDSPEC_VARS_KEYS=BINARY_PLATFORMS BUILDSPEC_VARS_VALUES=BINARY_PLATFORMS -BUILDSPEC_ARCH_TYPES=LINUX_CONTAINER ARM_CONTAINER # Since we build the arm and amd binaries on difference instances in codebuild # we do not want to delete missing files when s3 sync-ing from local to the bucket diff --git a/projects/kubernetes-sigs/cri-tools/Makefile b/projects/kubernetes-sigs/cri-tools/Makefile index dc435bec67..f84b0b8541 100644 --- a/projects/kubernetes-sigs/cri-tools/Makefile +++ b/projects/kubernetes-sigs/cri-tools/Makefile @@ -14,6 +14,8 @@ EXTRA_GOBUILD_FLAGS=-tags selinux HAS_S3_ARTIFACTS=true IMAGE_NAMES= +BUILDSPEC_COMPUTE_TYPE=BUILD_GENERAL1_LARGE + include $(BASE_DIRECTORY)/Common.mk $(OUTPUT_BIN_DIR)/linux-%/critest: GOBUILD_COMMAND=test diff --git a/projects/kubernetes-sigs/image-builder/Makefile b/projects/kubernetes-sigs/image-builder/Makefile index 97289e5b9a..2098899d69 100644 --- a/projects/kubernetes-sigs/image-builder/Makefile +++ b/projects/kubernetes-sigs/image-builder/Makefile @@ -122,6 +122,7 @@ BOTTLEROCKET_OVA_RELEASE_VERSION=$(and $(RELEASE_BRANCH),$(shell yq e ".$(RELEAS BOTTLEROCKET_RAW_RELEASE_VERSION=$(and $(RELEASE_BRANCH),$(shell yq e ".$(RELEASE_BRANCH).raw-release-version" $(MAKE_ROOT)/BOTTLEROCKET_RELEASES)) NOT_SUPPORTED_RELEASE_BRANCH_CONFIGURATION=$(if $(or $(filter-out bottlerocket,$(IMAGE_OS)),$(filter-out null,$(BOTTLEROCKET_$(call TO_UPPER,$(IMAGE_FORMAT))_RELEASE_VERSION))),false,true) +SKIPPED_K8S_VERSIONS=$(shell yq e 'with_entries(select(.value.$(IMAGE_FORMAT)-release-version == null)) | keys | join(" ")' BOTTLEROCKET_RELEASES) IMAGE_OS?=ubuntu IMAGE_OS_VERSION?=$(DEFAULT_$(call TO_UPPER,$(IMAGE_OS))_VERSION) @@ -205,10 +206,10 @@ endif ##################################################################### -BUILDSPECS=projects/$(COMPONENT)/buildspecs/ova.yml projects/$(COMPONENT)/buildspecs/raw.yml +BUILDSPECS=projects/$(COMPONENT)/buildspecs/br.yml +# in the staging buildspec we only run the br "builds" which do not rely on etcdadm/crictl BUILDSPEC_DEPENDS_ON_OVERRIDE=none -BUILDSPEC_VARS_KEYS=IMAGE_OS RELEASE_BRANCH -BUILDSPEC_VARS_VALUES=SUPPORTED_OS_DISTROS SUPPORTED_K8S_VERSIONS +BUILDSPEC_1_COMPUTE_TYPE=BUILD_GENERAL1_MEDIUM SUPPORTED_OS_DISTROS=bottlerocket EXCLUDE_FROM_CHECKSUMS_BUILDSPEC=true diff --git a/projects/kubernetes-sigs/image-builder/buildspecs/br.yml b/projects/kubernetes-sigs/image-builder/buildspecs/br.yml new file mode 100644 index 0000000000..6b39883dbe --- /dev/null +++ b/projects/kubernetes-sigs/image-builder/buildspecs/br.yml @@ -0,0 +1,15 @@ +version: 0.2 + +env: + variables: + CLI_FOLDER: "projects/aws/image-builder" + +phases: + pre_build: + commands: + - git config --global credential.helper '!aws codecommit credential-helper $@' + - git config --global credential.UseHttpPath true + + build: + commands: + - for format in raw ova; do make release IMAGE_OS=bottlerocket IMAGE_OS_VERSION=1 IMAGE_FORMAT=$format -C $PROJECT_PATH; done diff --git a/projects/kubernetes-sigs/kind/Makefile b/projects/kubernetes-sigs/kind/Makefile index 5948049ce5..d8e153f043 100644 --- a/projects/kubernetes-sigs/kind/Makefile +++ b/projects/kubernetes-sigs/kind/Makefile @@ -4,7 +4,7 @@ GOLANG_VERSION=$(shell cat GOLANG_VERSION) REPO=kind REPO_OWNER=kubernetes-sigs -BINARY_TARGET_FILES=kind kindnetd +BINARY_TARGET_FILES?=kind kindnetd SOURCE_PATTERNS=. ./cmd/kindnetd GO_MOD_PATHS=. ./images/kindnetd @@ -79,18 +79,32 @@ KIND_NODE_IMAGE_CONTEXT_DIR=$(BINARY_DEPS_DIR) KIND_IF_OVERRIDE_VARIABLE=$(if $(filter undefined,$(origin $1)),$(2),$($(1))) IMAGE_CONTEXT_DIR=$(call KIND_IF_OVERRIDE_VARIABLE,$(call TO_UPPER,$(IMAGE_NAME))_IMAGE_CONTEXT_DIR,.) -BUILDSPECS=projects/kubernetes-sigs/kind/buildspecs/binaries.yml projects/kubernetes-sigs/kind/buildspecs/base-images.yml projects/kubernetes-sigs/kind/buildspecs/node-images.yml buildspecs/combine-images.yml -BUILDSPEC_1_PLATFORM=ARM_CONTAINER +# BUILDSPECS=projects/$(COMPONENT)/buildspecs/binaries.yml projects/$(COMPONENT)/buildspecs/base-images.yml projects/$(COMPONENT)/buildspecs/node-images.yml buildspecs/combine-images.yml +# BUILDSPEC_1_PLATFORM=ARM_CONTAINER +# BUILDSPEC_1_DEPENDS_ON_OVERRIDE=none +# BUILDSPEC_1_IDENTIFIER_OVERRIDE=kubernetes_sigs_kind_binaries +# BUILDSPEC_1_COMPUTE_TYPE=BUILD_GENERAL1_LARGE +# BUILDSPEC_2_VARS_KEYS=IMAGE_PLATFORMS +# BUILDSPEC_2_VARS_VALUES=IMAGE_PLATFORMS +# BUILDSPEC_1_COMPUTE_TYPE=BUILD_GENERAL1_MEDIUM +# BUILDSPEC_3_VARS_KEYS=RELEASE_BRANCH IMAGE_PLATFORMS +# BUILDSPEC_3_VARS_VALUES=SUPPORTED_K8S_VERSIONS IMAGE_PLATFORMS +# BUILDSPEC_3_COMPUTE_TYPE=BUILD_GENERAL1_LARGE +# BUILDSPEC_3_DEPENDS_ON_OVERRIDE=kubernetes_sigs_kind_linux_amd64 kubernetes_sigs_kind_linux_arm64 +# BUILDSPEC_4_DEPENDS_ON_OVERRIDE=$(foreach version,$(SUPPORTED_K8S_VERSIONS),$(foreach arch,arm64 amd64,kubernetes_sigs_kind_$(subst -,_,$(version))_linux_$(arch)_node_images)) + +BUILDSPECS=projects/$(COMPONENT)/buildspecs/binaries.yml projects/$(COMPONENT)/buildspecs/base-images.yml projects/$(COMPONENT)/buildspecs/node-images.yml buildspecs/combine-images.yml +# Building just the binaries does not require any of the project deps BUILDSPEC_1_DEPENDS_ON_OVERRIDE=none +BUILDSPEC_1_COMPUTE_TYPE=BUILD_GENERAL1_MEDIUM BUILDSPEC_2_VARS_KEYS=IMAGE_PLATFORMS BUILDSPEC_2_VARS_VALUES=IMAGE_PLATFORMS -BUILDSPEC_3_VARS_KEYS=RELEASE_BRANCH IMAGE_PLATFORMS -BUILDSPEC_3_VARS_VALUES=SUPPORTED_K8S_VERSIONS IMAGE_PLATFORMS -BUILDSPEC_3_DEPENDS_ON_OVERRIDE=kubernetes_sigs_kind_linux_amd64 kubernetes_sigs_kind_linux_arm64 -BUILDSPEC_4_VARS_KEYS=RELEASE_BRANCH -BUILDSPEC_4_VARS_VALUES=SUPPORTED_K8S_VERSIONS -BUILDSPEC_4_DEPENDS_ON_OVERRIDE=$(foreach version,$(SUPPORTED_K8S_VERSIONS),$(foreach arch,arm64 amd64,kubernetes_sigs_kind_$(subst -,_,$(version))_linux_$(arch)_node_images)) -BUILDSPEC_COMPUTE_TYPE=BUILD_GENERAL1_LARGE +BUILDSPEC_2_COMPUTE_TYPE=BUILD_GENERAL1_MEDIUM +BUILDSPEC_3_VARS_KEYS=IMAGE_PLATFORMS +BUILDSPEC_3_VARS_VALUES=IMAGE_PLATFORMS +BUILDSPEC_3_COMPUTE_TYPE=BUILD_GENERAL1_LARGE +BUILDSPEC_3_DEPENDS_ON_OVERRIDE=BUILDSPEC_2 +BUILDSPEC_4_DEPENDS_ON_OVERRIDE=BUILDSPEC_3 include $(BASE_DIRECTORY)/Common.mk @@ -141,7 +155,11 @@ kind-node/images/push: BASE_IMAGE_NAME=$(MINIMAL_BASE_KIND_IMAGE_NAME) kind-node/images/push: BASE_IMAGE_OS_VERSION=$(MINIMAL_BASE_KIND_IMAGE_NAME_OS_VERSION) kind-node/images/push: IMAGE_TAG=$(NODE_IMAGE_TAG) kind-node/images/push: LATEST_TAG=$(NODE_IMAGE_LATEST_TAG) -kind-node/images/push: $(if $(filter linux/amd64,$(IMAGE_PLATFORMS)),$(KIND_NODE_BUILD_AMD64_TARGET),) $(if $(filter linux/arm64,$(IMAGE_PLATFORMS)),$(KIND_NODE_BUILD_ARM64_TARGET) $(ARM_ENV_CONF_TARGET),) +# if image_platforms is set via an env, like in the case in CI, only run the prereqs for request platform +# if its not set, run both prereqs since this is the push target which by default builds both archs +kind-node/images/push: AMD64_PREREQ=$(and $(if $(findstring combine-images,$(RELEASE_TARGETS)),,true),$(if $(findstring linux/amd64,$(call IF_OVERRIDE_VARIABLE,IMAGE_PLATFORMS,linux/amd64)),$(KIND_NODE_BUILD_AMD64_TARGET),)) +kind-node/images/push: ARM64_PREREQS=$(and $(if $(findstring combine-images,$(RELEASE_TARGETS)),,true),$(if $(findstring linux/arm64,$(call IF_OVERRIDE_VARIABLE,IMAGE_PLATFORMS,linux/arm64)),$(KIND_NODE_BUILD_ARM64_TARGET) $(ARM_ENV_CONF_TARGET),)) +kind-node/images/push: $$(AMD64_PREREQ) $$(ARM64_PREREQS) $(KIND_BASE_IMAGE_BUILD_ARGS): | ensure-yq $$(ENABLE_LOGGING) @build/base-image-build-args.sh $(RELEASE_BRANCH) $(ARTIFACTS_BUCKET) $@ $(LATEST) diff --git a/projects/kubernetes-sigs/kind/buildspecs/batch-build.yml b/projects/kubernetes-sigs/kind/buildspecs/batch-build.yml index 8961609369..2d16a483ee 100644 --- a/projects/kubernetes-sigs/kind/buildspecs/batch-build.yml +++ b/projects/kubernetes-sigs/kind/buildspecs/batch-build.yml @@ -17,249 +17,61 @@ batch: fast-fail: true build-graph: - - identifier: kubernetes_sigs_kind + - identifier: kubernetes_sigs_kind_binaries buildspec: projects/kubernetes-sigs/kind/buildspecs/binaries.yml env: type: ARM_CONTAINER - compute-type: BUILD_GENERAL1_LARGE - - identifier: kubernetes_sigs_kind_linux_amd64 + compute-type: BUILD_GENERAL1_MEDIUM + - identifier: kubernetes_sigs_kind_base_images_linux_amd64 buildspec: projects/kubernetes-sigs/kind/buildspecs/base-images.yml env: type: LINUX_CONTAINER - compute-type: BUILD_GENERAL1_LARGE + compute-type: BUILD_GENERAL1_MEDIUM variables: IMAGE_PLATFORMS: linux/amd64 BINARY_PLATFORMS: linux/amd64 IMAGE_TAG_SUFFIX: -amd64 - - identifier: kubernetes_sigs_kind_linux_arm64 + - identifier: kubernetes_sigs_kind_base_images_linux_arm64 buildspec: projects/kubernetes-sigs/kind/buildspecs/base-images.yml env: type: ARM_CONTAINER - compute-type: BUILD_GENERAL1_LARGE - variables: - IMAGE_PLATFORMS: linux/arm64 - BINARY_PLATFORMS: linux/arm64 - IMAGE_TAG_SUFFIX: -arm64 - - identifier: kubernetes_sigs_kind_1_27_linux_amd64_node_images - buildspec: projects/kubernetes-sigs/kind/buildspecs/node-images.yml - depend-on: - - kubernetes_sigs_kind_linux_amd64 - - kubernetes_sigs_kind_linux_arm64 - env: - type: LINUX_CONTAINER - compute-type: BUILD_GENERAL1_LARGE - variables: - RELEASE_BRANCH: 1-27 - IMAGE_PLATFORMS: linux/amd64 - BINARY_PLATFORMS: linux/amd64 - IMAGE_TAG_SUFFIX: -amd64 - - identifier: kubernetes_sigs_kind_1_27_linux_arm64_node_images - buildspec: projects/kubernetes-sigs/kind/buildspecs/node-images.yml - depend-on: - - kubernetes_sigs_kind_linux_amd64 - - kubernetes_sigs_kind_linux_arm64 - env: - type: ARM_CONTAINER - compute-type: BUILD_GENERAL1_LARGE + compute-type: BUILD_GENERAL1_MEDIUM variables: - RELEASE_BRANCH: 1-27 IMAGE_PLATFORMS: linux/arm64 BINARY_PLATFORMS: linux/arm64 IMAGE_TAG_SUFFIX: -arm64 - - identifier: kubernetes_sigs_kind_1_28_linux_amd64_node_images + - identifier: kubernetes_sigs_kind_node_images_linux_amd64 buildspec: projects/kubernetes-sigs/kind/buildspecs/node-images.yml depend-on: - - kubernetes_sigs_kind_linux_amd64 - - kubernetes_sigs_kind_linux_arm64 + - kubernetes_sigs_kind_base_images_linux_amd64 + - kubernetes_sigs_kind_base_images_linux_arm64 env: type: LINUX_CONTAINER compute-type: BUILD_GENERAL1_LARGE variables: - RELEASE_BRANCH: 1-28 IMAGE_PLATFORMS: linux/amd64 BINARY_PLATFORMS: linux/amd64 IMAGE_TAG_SUFFIX: -amd64 - - identifier: kubernetes_sigs_kind_1_28_linux_arm64_node_images + - identifier: kubernetes_sigs_kind_node_images_linux_arm64 buildspec: projects/kubernetes-sigs/kind/buildspecs/node-images.yml depend-on: - - kubernetes_sigs_kind_linux_amd64 - - kubernetes_sigs_kind_linux_arm64 + - kubernetes_sigs_kind_base_images_linux_amd64 + - kubernetes_sigs_kind_base_images_linux_arm64 env: type: ARM_CONTAINER compute-type: BUILD_GENERAL1_LARGE variables: - RELEASE_BRANCH: 1-28 IMAGE_PLATFORMS: linux/arm64 BINARY_PLATFORMS: linux/arm64 IMAGE_TAG_SUFFIX: -arm64 - - identifier: kubernetes_sigs_kind_1_29_linux_amd64_node_images - buildspec: projects/kubernetes-sigs/kind/buildspecs/node-images.yml - depend-on: - - kubernetes_sigs_kind_linux_amd64 - - kubernetes_sigs_kind_linux_arm64 - env: - type: LINUX_CONTAINER - compute-type: BUILD_GENERAL1_LARGE - variables: - RELEASE_BRANCH: 1-29 - IMAGE_PLATFORMS: linux/amd64 - BINARY_PLATFORMS: linux/amd64 - IMAGE_TAG_SUFFIX: -amd64 - - identifier: kubernetes_sigs_kind_1_29_linux_arm64_node_images - buildspec: projects/kubernetes-sigs/kind/buildspecs/node-images.yml - depend-on: - - kubernetes_sigs_kind_linux_amd64 - - kubernetes_sigs_kind_linux_arm64 - env: - type: ARM_CONTAINER - compute-type: BUILD_GENERAL1_LARGE - variables: - RELEASE_BRANCH: 1-29 - IMAGE_PLATFORMS: linux/arm64 - BINARY_PLATFORMS: linux/arm64 - IMAGE_TAG_SUFFIX: -arm64 - - identifier: kubernetes_sigs_kind_1_30_linux_amd64_node_images - buildspec: projects/kubernetes-sigs/kind/buildspecs/node-images.yml - depend-on: - - kubernetes_sigs_kind_linux_amd64 - - kubernetes_sigs_kind_linux_arm64 - env: - type: LINUX_CONTAINER - compute-type: BUILD_GENERAL1_LARGE - variables: - RELEASE_BRANCH: 1-30 - IMAGE_PLATFORMS: linux/amd64 - BINARY_PLATFORMS: linux/amd64 - IMAGE_TAG_SUFFIX: -amd64 - - identifier: kubernetes_sigs_kind_1_30_linux_arm64_node_images - buildspec: projects/kubernetes-sigs/kind/buildspecs/node-images.yml - depend-on: - - kubernetes_sigs_kind_linux_amd64 - - kubernetes_sigs_kind_linux_arm64 - env: - type: ARM_CONTAINER - compute-type: BUILD_GENERAL1_LARGE - variables: - RELEASE_BRANCH: 1-30 - IMAGE_PLATFORMS: linux/arm64 - BINARY_PLATFORMS: linux/arm64 - IMAGE_TAG_SUFFIX: -arm64 - - identifier: kubernetes_sigs_kind_1_31_linux_amd64_node_images - buildspec: projects/kubernetes-sigs/kind/buildspecs/node-images.yml - depend-on: - - kubernetes_sigs_kind_linux_amd64 - - kubernetes_sigs_kind_linux_arm64 - env: - type: LINUX_CONTAINER - compute-type: BUILD_GENERAL1_LARGE - variables: - RELEASE_BRANCH: 1-31 - IMAGE_PLATFORMS: linux/amd64 - BINARY_PLATFORMS: linux/amd64 - IMAGE_TAG_SUFFIX: -amd64 - - identifier: kubernetes_sigs_kind_1_31_linux_arm64_node_images - buildspec: projects/kubernetes-sigs/kind/buildspecs/node-images.yml - depend-on: - - kubernetes_sigs_kind_linux_amd64 - - kubernetes_sigs_kind_linux_arm64 - env: - type: ARM_CONTAINER - compute-type: BUILD_GENERAL1_LARGE - variables: - RELEASE_BRANCH: 1-31 - IMAGE_PLATFORMS: linux/arm64 - BINARY_PLATFORMS: linux/arm64 - IMAGE_TAG_SUFFIX: -arm64 - - identifier: kubernetes_sigs_kind_1_27 - buildspec: buildspecs/combine-images.yml - depend-on: - - kubernetes_sigs_kind_1_27_linux_arm64_node_images - - kubernetes_sigs_kind_1_27_linux_amd64_node_images - - kubernetes_sigs_kind_1_28_linux_arm64_node_images - - kubernetes_sigs_kind_1_28_linux_amd64_node_images - - kubernetes_sigs_kind_1_29_linux_arm64_node_images - - kubernetes_sigs_kind_1_29_linux_amd64_node_images - - kubernetes_sigs_kind_1_30_linux_arm64_node_images - - kubernetes_sigs_kind_1_30_linux_amd64_node_images - - kubernetes_sigs_kind_1_31_linux_arm64_node_images - - kubernetes_sigs_kind_1_31_linux_amd64_node_images - env: - type: ARM_CONTAINER - compute-type: BUILD_GENERAL1_LARGE - variables: - RELEASE_BRANCH: 1-27 - - identifier: kubernetes_sigs_kind_1_28 + - identifier: kubernetes_sigs_kind_combine_images buildspec: buildspecs/combine-images.yml depend-on: - - kubernetes_sigs_kind_1_27_linux_arm64_node_images - - kubernetes_sigs_kind_1_27_linux_amd64_node_images - - kubernetes_sigs_kind_1_28_linux_arm64_node_images - - kubernetes_sigs_kind_1_28_linux_amd64_node_images - - kubernetes_sigs_kind_1_29_linux_arm64_node_images - - kubernetes_sigs_kind_1_29_linux_amd64_node_images - - kubernetes_sigs_kind_1_30_linux_arm64_node_images - - kubernetes_sigs_kind_1_30_linux_amd64_node_images - - kubernetes_sigs_kind_1_31_linux_arm64_node_images - - kubernetes_sigs_kind_1_31_linux_amd64_node_images + - kubernetes_sigs_kind_node_images_linux_amd64 + - kubernetes_sigs_kind_node_images_linux_arm64 env: type: ARM_CONTAINER - compute-type: BUILD_GENERAL1_LARGE - variables: - RELEASE_BRANCH: 1-28 - - identifier: kubernetes_sigs_kind_1_29 - buildspec: buildspecs/combine-images.yml - depend-on: - - kubernetes_sigs_kind_1_27_linux_arm64_node_images - - kubernetes_sigs_kind_1_27_linux_amd64_node_images - - kubernetes_sigs_kind_1_28_linux_arm64_node_images - - kubernetes_sigs_kind_1_28_linux_amd64_node_images - - kubernetes_sigs_kind_1_29_linux_arm64_node_images - - kubernetes_sigs_kind_1_29_linux_amd64_node_images - - kubernetes_sigs_kind_1_30_linux_arm64_node_images - - kubernetes_sigs_kind_1_30_linux_amd64_node_images - - kubernetes_sigs_kind_1_31_linux_arm64_node_images - - kubernetes_sigs_kind_1_31_linux_amd64_node_images - env: - type: ARM_CONTAINER - compute-type: BUILD_GENERAL1_LARGE - variables: - RELEASE_BRANCH: 1-29 - - identifier: kubernetes_sigs_kind_1_30 - buildspec: buildspecs/combine-images.yml - depend-on: - - kubernetes_sigs_kind_1_27_linux_arm64_node_images - - kubernetes_sigs_kind_1_27_linux_amd64_node_images - - kubernetes_sigs_kind_1_28_linux_arm64_node_images - - kubernetes_sigs_kind_1_28_linux_amd64_node_images - - kubernetes_sigs_kind_1_29_linux_arm64_node_images - - kubernetes_sigs_kind_1_29_linux_amd64_node_images - - kubernetes_sigs_kind_1_30_linux_arm64_node_images - - kubernetes_sigs_kind_1_30_linux_amd64_node_images - - kubernetes_sigs_kind_1_31_linux_arm64_node_images - - kubernetes_sigs_kind_1_31_linux_amd64_node_images - env: - type: ARM_CONTAINER - compute-type: BUILD_GENERAL1_LARGE - variables: - RELEASE_BRANCH: 1-30 - - identifier: kubernetes_sigs_kind_1_31 - buildspec: buildspecs/combine-images.yml - depend-on: - - kubernetes_sigs_kind_1_27_linux_arm64_node_images - - kubernetes_sigs_kind_1_27_linux_amd64_node_images - - kubernetes_sigs_kind_1_28_linux_arm64_node_images - - kubernetes_sigs_kind_1_28_linux_amd64_node_images - - kubernetes_sigs_kind_1_29_linux_arm64_node_images - - kubernetes_sigs_kind_1_29_linux_amd64_node_images - - kubernetes_sigs_kind_1_30_linux_arm64_node_images - - kubernetes_sigs_kind_1_30_linux_amd64_node_images - - kubernetes_sigs_kind_1_31_linux_arm64_node_images - - kubernetes_sigs_kind_1_31_linux_amd64_node_images - env: - type: ARM_CONTAINER - compute-type: BUILD_GENERAL1_LARGE - variables: - RELEASE_BRANCH: 1-31 + compute-type: BUILD_GENERAL1_SMALL version: 0.2 env: variables: diff --git a/projects/kubernetes-sigs/kind/buildspecs/node-images.yml b/projects/kubernetes-sigs/kind/buildspecs/node-images.yml index d9f830b027..edbf618234 100644 --- a/projects/kubernetes-sigs/kind/buildspecs/node-images.yml +++ b/projects/kubernetes-sigs/kind/buildspecs/node-images.yml @@ -2,7 +2,11 @@ version: 0.2 env: variables: + BINARY_TARGET_FILES: "kind" HAS_S3_ARTIFACTS: "" + HAS_LICENSES: "false" + RELEASE_TARGETS: "binaries kind-base-versioned/images/push kind-node/images/push" + phases: pre_build: @@ -11,4 +15,4 @@ phases: build: commands: - - if $(make check-project-path-exists); then make binaries kind-base-versioned/images/push kind-node/images/push BINARY_TARGET_FILES=kind HAS_LICENSES=false -C $PROJECT_PATH; fi + - if $(make check-project-path-exists); then make release -C $PROJECT_PATH; fi diff --git a/projects/kubernetes/cloud-provider-vsphere/Makefile b/projects/kubernetes/cloud-provider-vsphere/Makefile index bfb550d77d..6d714d937f 100644 --- a/projects/kubernetes/cloud-provider-vsphere/Makefile +++ b/projects/kubernetes/cloud-provider-vsphere/Makefile @@ -16,8 +16,17 @@ IMAGE_COMPONENT=kubernetes/cloud-provider-vsphere/cpi/manager HAS_RELEASE_BRANCHES=true -BUILDSPEC_VARS_KEYS=RELEASE_BRANCH -BUILDSPEC_VARS_VALUES=SUPPORTED_K8S_VERSIONS +# we need to set IMAGE_BUILD_ARGS here even though its the same as the default. +# it is set in Common.mk on the images target (https://github.com/aws/eks-anywhere-build-tooling/blob/8b6d6d66974e881b22e3c9c8ea29adc26f7df5fd/Common.mk#L799) +# and the combine-images target (https://github.com/aws/eks-anywhere-build-tooling/blob/8b6d6d66974e881b22e3c9c8ea29adc26f7df5fd/Common.mk#L846) +# since combine-images has images as prereq target, the ?= does not really behavior as one might expect. +# the images target being the actual action, its version of the set takes prioirty and resets to empty +# setting it explicitly to empty here takes allows the combine-images override to take proirty +IMAGE_BUILD_ARGS= +DOCKERFILE_FOLDER=./docker/linux + +BUILDSPECS=$(BUILDSPECS_FOR_COMBINE_IMAGES) +BUILDSPEC_1_COMPUTE_TYPE=BUILD_GENERAL1_LARGE include $(BASE_DIRECTORY)/Common.mk diff --git a/projects/kubernetes/cloud-provider-vsphere/buildspecs/batch-build.yml b/projects/kubernetes/cloud-provider-vsphere/buildspecs/batch-build.yml index e2d4ff5fc9..469c8a7c56 100644 --- a/projects/kubernetes/cloud-provider-vsphere/buildspecs/batch-build.yml +++ b/projects/kubernetes/cloud-provider-vsphere/buildspecs/batch-build.yml @@ -17,36 +17,30 @@ batch: fast-fail: true build-graph: - - identifier: kubernetes_cloud_provider_vsphere_1_27 + - identifier: kubernetes_cloud_provider_vsphere_linux_amd64 env: - type: ARM_CONTAINER - compute-type: BUILD_GENERAL1_SMALL - variables: - RELEASE_BRANCH: 1-27 - - identifier: kubernetes_cloud_provider_vsphere_1_28 - env: - type: ARM_CONTAINER - compute-type: BUILD_GENERAL1_SMALL + type: LINUX_CONTAINER + compute-type: BUILD_GENERAL1_LARGE variables: - RELEASE_BRANCH: 1-28 - - identifier: kubernetes_cloud_provider_vsphere_1_29 + IMAGE_PLATFORMS: linux/amd64 + BINARY_PLATFORMS: linux/amd64 + IMAGE_TAG_SUFFIX: -amd64 + - identifier: kubernetes_cloud_provider_vsphere_linux_arm64 env: type: ARM_CONTAINER - compute-type: BUILD_GENERAL1_SMALL - variables: - RELEASE_BRANCH: 1-29 - - identifier: kubernetes_cloud_provider_vsphere_1_30 - env: - type: ARM_CONTAINER - compute-type: BUILD_GENERAL1_SMALL + compute-type: BUILD_GENERAL1_LARGE variables: - RELEASE_BRANCH: 1-30 - - identifier: kubernetes_cloud_provider_vsphere_1_31 + IMAGE_PLATFORMS: linux/arm64 + BINARY_PLATFORMS: linux/arm64 + IMAGE_TAG_SUFFIX: -arm64 + - identifier: kubernetes_cloud_provider_vsphere_combine_images + buildspec: buildspecs/combine-images.yml + depend-on: + - kubernetes_cloud_provider_vsphere_linux_amd64 + - kubernetes_cloud_provider_vsphere_linux_arm64 env: type: ARM_CONTAINER compute-type: BUILD_GENERAL1_SMALL - variables: - RELEASE_BRANCH: 1-31 version: 0.2 phases: pre_build: diff --git a/projects/linuxkit/linuxkit/Makefile b/projects/linuxkit/linuxkit/Makefile index 81e443a184..cdbc715e6c 100644 --- a/projects/linuxkit/linuxkit/Makefile +++ b/projects/linuxkit/linuxkit/Makefile @@ -62,12 +62,8 @@ HAS_S3_ARTIFACTS=true FIX_LICENSES_SUB_MOD_TARGETS=$(REPO)/src/cmd/linuxkit/LICENSE $(REPO)/pkg/rngd/LICENSE $(REPO)/pkg/sysctl/LICENSE $(REPO)/pkg/sysfs/LICENSE $(REPO)/pkg/init/LICENSE FIX_LICENSES_HYPERKIT_TARGE=$(REPO)/src/cmd/linuxkit/vendor/github.com/moby/hyperkit/go/README.md -BUILDSPECS=buildspec.yml buildspecs/combine-images.yml +BUILDSPECS=$(BUILDSPECS_FOR_COMBINE_IMAGES) BUILDSPEC_1_COMPUTE_TYPE=BUILD_GENERAL1_LARGE -BUILDSPEC_1_VARS_KEYS=IMAGE_PLATFORMS -BUILDSPEC_1_VARS_VALUES=IMAGE_PLATFORMS -BUILDSPEC_1_ARCH_TYPES=LINUX_CONTAINER ARM_CONTAINER -BUILDSPEC_2_DEPENDS_ON_OVERRIDE=linuxkit_linuxkit_linux_amd64 linuxkit_linuxkit_linux_arm64 # Since we build the arm and amd binaries on difference instances in codebuild # we do not want to delete missing files when s3 sync-ing from local to the bucket diff --git a/projects/linuxkit/linuxkit/buildspecs/batch-build.yml b/projects/linuxkit/linuxkit/buildspecs/batch-build.yml index 6c9b66b1f1..7eaaad1614 100644 --- a/projects/linuxkit/linuxkit/buildspecs/batch-build.yml +++ b/projects/linuxkit/linuxkit/buildspecs/batch-build.yml @@ -33,7 +33,7 @@ batch: IMAGE_PLATFORMS: linux/arm64 BINARY_PLATFORMS: linux/arm64 IMAGE_TAG_SUFFIX: -arm64 - - identifier: linuxkit_linuxkit + - identifier: linuxkit_linuxkit_combine_images buildspec: buildspecs/combine-images.yml depend-on: - linuxkit_linuxkit_linux_amd64 diff --git a/projects/opencontainers/runc/Makefile b/projects/opencontainers/runc/Makefile index 996147f222..b23f6a0f3f 100644 --- a/projects/opencontainers/runc/Makefile +++ b/projects/opencontainers/runc/Makefile @@ -17,7 +17,6 @@ IMAGE_NAMES= BUILDSPEC_VARS_KEYS=BINARY_PLATFORMS BUILDSPEC_VARS_VALUES=BINARY_PLATFORMS -BUILDSPEC_ARCH_TYPES=LINUX_CONTAINER ARM_CONTAINER # Since we build the arm and amd binaries on difference instances in codebuild # we do not want to delete missing files when s3 sync-ing from local to the bucket diff --git a/projects/replicatedhq/troubleshoot/Makefile b/projects/replicatedhq/troubleshoot/Makefile index 91f3d08d16..d22a882796 100644 --- a/projects/replicatedhq/troubleshoot/Makefile +++ b/projects/replicatedhq/troubleshoot/Makefile @@ -15,6 +15,9 @@ HAS_S3_ARTIFACTS=true IMAGE_NAMES= BUILDSPEC_PLATFORM=LINUX_CONTAINER +BUILDSPEC_PLATFORM=LINUX_CONTAINER +BUILDSPEC_COMPUTE_TYPE=BUILD_GENERAL1_MEDIUM + include $(BASE_DIRECTORY)/Common.mk diff --git a/projects/tinkerbell/boots/Makefile b/projects/tinkerbell/boots/Makefile index 2ed83403f7..e5e5f87572 100644 --- a/projects/tinkerbell/boots/Makefile +++ b/projects/tinkerbell/boots/Makefile @@ -17,7 +17,6 @@ EXCLUDE_FROM_UPGRADE_BUILDSPEC=true SKIP_CHECKSUM_VALIDATION=true PROJECT_DEPENDENCIES=eksa/tinkerbell/ipxedust -BUILDSPEC_DEPENDS_ON_OVERRIDE=tinkerbell_ipxedust_linux_amd64 tinkerbell_ipxedust_linux_arm64 OVERRIDE_VENDOR_BINARIES_TARGET=$(REPO)/vendor/github.com/tinkerbell/ipxedust/binary/eks-a-overridden diff --git a/projects/tinkerbell/hook/Makefile b/projects/tinkerbell/hook/Makefile index 1cbfd2acec..708130a9d6 100644 --- a/projects/tinkerbell/hook/Makefile +++ b/projects/tinkerbell/hook/Makefile @@ -81,13 +81,8 @@ LINUXKIT_IMAGE_REPO?=$(IMAGE_REPO) # setting it explicitly to empty here takes allows the combine-images override to take proirty IMAGE_BUILD_ARGS= -BUILDSPECS=buildspec.yml buildspecs/combine-images.yml +BUILDSPECS=$(BUILDSPECS_FOR_COMBINE_IMAGES) BUILDSPEC_1_COMPUTE_TYPE=BUILD_GENERAL1_LARGE -BUILDSPEC_1_VARS_KEYS=IMAGE_PLATFORMS -BUILDSPEC_1_VARS_VALUES=IMAGE_PLATFORMS -BUILDSPEC_1_ARCH_TYPES=LINUX_CONTAINER ARM_CONTAINER -BUILDSPEC_1_DEPENDS_ON_OVERRIDE=containerd_containerd_linux_amd64 containerd_containerd_linux_arm64 tinkerbell_tink linuxkit_linuxkit tinkerbell_hub -BUILDSPEC_2_DEPENDS_ON_OVERRIDE=tinkerbell_hook_linux_amd64 tinkerbell_hook_linux_arm64 PROJECT_DEPENDENCIES=eksa/containerd/containerd eksa/tinkerbell/hub eksa/tinkerbell/tink eksa/linuxkit/linuxkit diff --git a/projects/tinkerbell/hook/buildspecs/batch-build.yml b/projects/tinkerbell/hook/buildspecs/batch-build.yml index fbc41dd73e..deab4e6e50 100644 --- a/projects/tinkerbell/hook/buildspecs/batch-build.yml +++ b/projects/tinkerbell/hook/buildspecs/batch-build.yml @@ -33,7 +33,7 @@ batch: IMAGE_PLATFORMS: linux/arm64 BINARY_PLATFORMS: linux/arm64 IMAGE_TAG_SUFFIX: -arm64 - - identifier: tinkerbell_hook + - identifier: tinkerbell_hook_combine_images buildspec: buildspecs/combine-images.yml depend-on: - tinkerbell_hook_linux_amd64 diff --git a/projects/tinkerbell/hub/Makefile b/projects/tinkerbell/hub/Makefile index 1ce7d1d5d6..3fcece001f 100644 --- a/projects/tinkerbell/hub/Makefile +++ b/projects/tinkerbell/hub/Makefile @@ -22,7 +22,6 @@ IMAGE_NAMES=$(BINARY_TARGET_FILES) reboot DOCKERFILE_FOLDER=./docker/linux/$(IMAGE_NAME) PROJECT_DEPENDENCIES=eksa/torvalds/linux -BUILDSPEC_DEPENDS_ON_OVERRIDE=torvalds_linux_linux_amd64 torvalds_linux_linux_arm64 EXCLUDE_FROM_UPGRADE_BUILDSPEC=true diff --git a/projects/tinkerbell/ipxedust/Makefile b/projects/tinkerbell/ipxedust/Makefile index bfda2b6e30..c6802b7b4b 100644 --- a/projects/tinkerbell/ipxedust/Makefile +++ b/projects/tinkerbell/ipxedust/Makefile @@ -31,11 +31,9 @@ IMAGE_NAMES= EXCLUDE_FROM_UPGRADE_BUILDSPEC=true -BUILDSPECS=buildspec.yml -BUILDSPEC_1_COMPUTE_TYPE=BUILD_GENERAL1_LARGE -BUILDSPEC_1_VARS_KEYS=BINARY_PLATFORMS -BUILDSPEC_1_VARS_VALUES=BINARY_PLATFORMS -BUILDSPEC_1_ARCH_TYPES=LINUX_CONTAINER ARM_CONTAINER +BUILDSPEC_COMPUTE_TYPE=BUILD_GENERAL1_LARGE +BUILDSPEC_VARS_KEYS=BINARY_PLATFORMS +BUILDSPEC_VARS_VALUES=BINARY_PLATFORMS # Since we build the arm and amd binaries on difference instances in codebuild # we do not want to delete missing files when s3 sync-ing from local to the bucket diff --git a/projects/tinkerbell/rufio/Makefile b/projects/tinkerbell/rufio/Makefile index e9eba1bd03..f0f9f9d538 100644 --- a/projects/tinkerbell/rufio/Makefile +++ b/projects/tinkerbell/rufio/Makefile @@ -14,17 +14,12 @@ HAS_S3_ARTIFACTS=true # we need to set IMAGE_BUILD_ARGS here even though its the same as the default. # it is set in Common.mk on the images target (https://github.com/aws/eks-anywhere-build-tooling/blob/8b6d6d66974e881b22e3c9c8ea29adc26f7df5fd/Common.mk#L799) # and the combine-images target (https://github.com/aws/eks-anywhere-build-tooling/blob/8b6d6d66974e881b22e3c9c8ea29adc26f7df5fd/Common.mk#L846) -# since combine-images has images as prereq target, the ?= does not really behave as one might expect. +# since combine-images has images as prereq target, the ?= does not really behavior as one might expect. # the images target being the actual action, its version of the set takes prioirty and resets to empty # setting it explicitly to empty here takes allows the combine-images override to take proirty IMAGE_BUILD_ARGS= DOCKERFILE_FOLDER=./docker/linux -BUILDSPECS=buildspec.yml buildspecs/combine-images.yml -BUILDSPEC_1_DEPENDS_ON_OVERRIDE=none -BUILDSPEC_1_VARS_KEYS=IMAGE_PLATFORMS -BUILDSPEC_1_VARS_VALUES=IMAGE_PLATFORMS -BUILDSPEC_1_ARCH_TYPES=LINUX_CONTAINER ARM_CONTAINER -BUILDSPEC_2_DEPENDS_ON_OVERRIDE=tinkerbell_rufio_linux_amd64 tinkerbell_rufio_linux_arm64 +BUILDSPECS=$(BUILDSPECS_FOR_COMBINE_IMAGES) include $(BASE_DIRECTORY)/Common.mk diff --git a/projects/tinkerbell/rufio/buildspecs/batch-build.yml b/projects/tinkerbell/rufio/buildspecs/batch-build.yml index e66de182f7..f9fc1ddc9b 100644 --- a/projects/tinkerbell/rufio/buildspecs/batch-build.yml +++ b/projects/tinkerbell/rufio/buildspecs/batch-build.yml @@ -33,7 +33,7 @@ batch: IMAGE_PLATFORMS: linux/arm64 BINARY_PLATFORMS: linux/arm64 IMAGE_TAG_SUFFIX: -arm64 - - identifier: tinkerbell_rufio + - identifier: tinkerbell_rufio_combine_images buildspec: buildspecs/combine-images.yml depend-on: - tinkerbell_rufio_linux_amd64 diff --git a/projects/tinkerbell/tink/Makefile b/projects/tinkerbell/tink/Makefile index c28a59d736..f5a9a6d099 100644 --- a/projects/tinkerbell/tink/Makefile +++ b/projects/tinkerbell/tink/Makefile @@ -9,13 +9,8 @@ DOCKERFILE_FOLDER=./docker/linux/$(IMAGE_NAME) PROJECT_DEPENDENCIES=eksa/isc-projects/dhcp -BUILDSPECS=buildspec.yml buildspecs/combine-images.yml -BUILDSPEC_1_DEPENDS_ON_OVERRIDE=none +BUILDSPECS=$(BUILDSPECS_FOR_COMBINE_IMAGES) BUILDSPEC_1_COMPUTE_TYPE=BUILD_GENERAL1_LARGE -BUILDSPEC_1_VARS_KEYS=IMAGE_PLATFORMS -BUILDSPEC_1_VARS_VALUES=IMAGE_PLATFORMS -BUILDSPEC_1_ARCH_TYPES=LINUX_CONTAINER ARM_CONTAINER -BUILDSPEC_2_DEPENDS_ON_OVERRIDE=tinkerbell_tink_linux_amd64 tinkerbell_tink_linux_arm64 # we need to set IMAGE_BUILD_ARGS here even though its the same as the default. # it is set in Common.mk on the images target (https://github.com/aws/eks-anywhere-build-tooling/blob/8b6d6d66974e881b22e3c9c8ea29adc26f7df5fd/Common.mk#L799) diff --git a/projects/tinkerbell/tink/buildspecs/batch-build.yml b/projects/tinkerbell/tink/buildspecs/batch-build.yml index bc27b51e8f..7297be19b2 100644 --- a/projects/tinkerbell/tink/buildspecs/batch-build.yml +++ b/projects/tinkerbell/tink/buildspecs/batch-build.yml @@ -33,7 +33,7 @@ batch: IMAGE_PLATFORMS: linux/arm64 BINARY_PLATFORMS: linux/arm64 IMAGE_TAG_SUFFIX: -arm64 - - identifier: tinkerbell_tink + - identifier: tinkerbell_tink_combine_images buildspec: buildspecs/combine-images.yml depend-on: - tinkerbell_tink_linux_amd64 diff --git a/projects/torvalds/linux/Makefile b/projects/torvalds/linux/Makefile index f11861b51e..07c1b9545b 100644 --- a/projects/torvalds/linux/Makefile +++ b/projects/torvalds/linux/Makefile @@ -25,7 +25,6 @@ EXCLUDE_FROM_UPGRADE_BUILDSPEC=true BUILDSPEC_VARS_KEYS=BINARY_PLATFORMS BUILDSPEC_VARS_VALUES=BINARY_PLATFORMS -BUILDSPEC_ARCH_TYPES=LINUX_CONTAINER ARM_CONTAINER # Since we build the arm and amd binaries on difference instances in codebuild # we do not want to delete missing files when s3 sync-ing from local to the bucket diff --git a/release/checksums-build.yml b/release/checksums-build.yml index f3629a6e88..609acd53c8 100644 --- a/release/checksums-build.yml +++ b/release/checksums-build.yml @@ -34,7 +34,7 @@ batch: - identifier: aws_bottlerocket_bootstrap env: type: ARM_CONTAINER - compute-type: BUILD_GENERAL1_SMALL + compute-type: BUILD_GENERAL1_LARGE variables: PROJECT_PATH: projects/aws/bottlerocket-bootstrap - identifier: aws_eks_anywhere @@ -271,7 +271,7 @@ batch: - identifier: kubernetes_cloud_provider_vsphere_1_27 env: type: ARM_CONTAINER - compute-type: BUILD_GENERAL1_SMALL + compute-type: BUILD_GENERAL1_LARGE variables: PROJECT_PATH: projects/kubernetes/cloud-provider-vsphere CLONE_URL: https://git-codecommit.us-west-2.amazonaws.com/v1/repos/kubernetes.cloud-provider-vsphere @@ -279,7 +279,7 @@ batch: - identifier: kubernetes_cloud_provider_vsphere_1_28 env: type: ARM_CONTAINER - compute-type: BUILD_GENERAL1_SMALL + compute-type: BUILD_GENERAL1_LARGE variables: PROJECT_PATH: projects/kubernetes/cloud-provider-vsphere CLONE_URL: https://git-codecommit.us-west-2.amazonaws.com/v1/repos/kubernetes.cloud-provider-vsphere @@ -287,7 +287,7 @@ batch: - identifier: kubernetes_cloud_provider_vsphere_1_29 env: type: ARM_CONTAINER - compute-type: BUILD_GENERAL1_SMALL + compute-type: BUILD_GENERAL1_LARGE variables: PROJECT_PATH: projects/kubernetes/cloud-provider-vsphere CLONE_URL: https://git-codecommit.us-west-2.amazonaws.com/v1/repos/kubernetes.cloud-provider-vsphere @@ -295,7 +295,7 @@ batch: - identifier: kubernetes_cloud_provider_vsphere_1_30 env: type: ARM_CONTAINER - compute-type: BUILD_GENERAL1_SMALL + compute-type: BUILD_GENERAL1_LARGE variables: PROJECT_PATH: projects/kubernetes/cloud-provider-vsphere CLONE_URL: https://git-codecommit.us-west-2.amazonaws.com/v1/repos/kubernetes.cloud-provider-vsphere @@ -303,7 +303,7 @@ batch: - identifier: kubernetes_cloud_provider_vsphere_1_31 env: type: ARM_CONTAINER - compute-type: BUILD_GENERAL1_SMALL + compute-type: BUILD_GENERAL1_LARGE variables: PROJECT_PATH: projects/kubernetes/cloud-provider-vsphere CLONE_URL: https://git-codecommit.us-west-2.amazonaws.com/v1/repos/kubernetes.cloud-provider-vsphere @@ -332,7 +332,7 @@ batch: - identifier: kubernetes_sigs_cri_tools env: type: ARM_CONTAINER - compute-type: BUILD_GENERAL1_SMALL + compute-type: BUILD_GENERAL1_LARGE variables: PROJECT_PATH: projects/kubernetes-sigs/cri-tools CLONE_URL: https://git-codecommit.us-west-2.amazonaws.com/v1/repos/kubernetes-sigs.cri-tools @@ -346,7 +346,7 @@ batch: - identifier: kubernetes_sigs_kind env: type: ARM_CONTAINER - compute-type: BUILD_GENERAL1_LARGE + compute-type: BUILD_GENERAL1_MEDIUM variables: PROJECT_PATH: projects/kubernetes-sigs/kind CLONE_URL: https://git-codecommit.us-west-2.amazonaws.com/v1/repos/kubernetes-sigs.kind @@ -418,7 +418,7 @@ batch: - identifier: replicatedhq_troubleshoot env: type: LINUX_CONTAINER - compute-type: BUILD_GENERAL1_SMALL + compute-type: BUILD_GENERAL1_MEDIUM variables: PROJECT_PATH: projects/replicatedhq/troubleshoot CLONE_URL: https://git-codecommit.us-west-2.amazonaws.com/v1/repos/replicatedhq.troubleshoot diff --git a/release/staging-build.yml b/release/staging-build.yml index 96b73ac671..7ffe74e44e 100644 --- a/release/staging-build.yml +++ b/release/staging-build.yml @@ -15,7 +15,7 @@ # This file was generated by running `make generate`. DO NOT EDIT batch: - fast-fail: true + fast-fail: false build-graph: - identifier: apache_cloudstack_cloudmonkey env: @@ -24,51 +24,38 @@ batch: variables: PROJECT_PATH: projects/apache/cloudstack-cloudmonkey CLONE_URL: https://git-codecommit.us-west-2.amazonaws.com/v1/repos/apache.cloudstack-cloudmonkey - - identifier: aws_bottlerocket_bootstrap_1_27 + - identifier: aws_bottlerocket_bootstrap_linux_amd64 depend-on: - kubernetes_sigs_etcdadm env: - type: ARM_CONTAINER - compute-type: BUILD_GENERAL1_SMALL - variables: - PROJECT_PATH: projects/aws/bottlerocket-bootstrap - RELEASE_BRANCH: 1-27 - - identifier: aws_bottlerocket_bootstrap_1_28 - depend-on: - - kubernetes_sigs_etcdadm - env: - type: ARM_CONTAINER - compute-type: BUILD_GENERAL1_SMALL - variables: - PROJECT_PATH: projects/aws/bottlerocket-bootstrap - RELEASE_BRANCH: 1-28 - - identifier: aws_bottlerocket_bootstrap_1_29 - depend-on: - - kubernetes_sigs_etcdadm - env: - type: ARM_CONTAINER - compute-type: BUILD_GENERAL1_SMALL + type: LINUX_CONTAINER + compute-type: BUILD_GENERAL1_LARGE variables: PROJECT_PATH: projects/aws/bottlerocket-bootstrap - RELEASE_BRANCH: 1-29 - - identifier: aws_bottlerocket_bootstrap_1_30 + IMAGE_PLATFORMS: linux/amd64 + BINARY_PLATFORMS: linux/amd64 + IMAGE_TAG_SUFFIX: -amd64 + - identifier: aws_bottlerocket_bootstrap_linux_arm64 depend-on: - kubernetes_sigs_etcdadm env: type: ARM_CONTAINER - compute-type: BUILD_GENERAL1_SMALL + compute-type: BUILD_GENERAL1_LARGE variables: PROJECT_PATH: projects/aws/bottlerocket-bootstrap - RELEASE_BRANCH: 1-30 - - identifier: aws_bottlerocket_bootstrap_1_31 + IMAGE_PLATFORMS: linux/arm64 + BINARY_PLATFORMS: linux/arm64 + IMAGE_TAG_SUFFIX: -arm64 + - identifier: aws_bottlerocket_bootstrap_combine_images + buildspec: buildspecs/combine-images.yml depend-on: - - kubernetes_sigs_etcdadm + - aws_bottlerocket_bootstrap_linux_amd64 + - aws_bottlerocket_bootstrap_linux_arm64 env: type: ARM_CONTAINER compute-type: BUILD_GENERAL1_SMALL variables: PROJECT_PATH: projects/aws/bottlerocket-bootstrap - RELEASE_BRANCH: 1-31 - identifier: aws_eks_anywhere env: type: ARM_CONTAINER @@ -79,7 +66,7 @@ batch: depend-on: - fluxcd_flux2 - kubernetes_sigs_cluster_api - - kubernetes_sigs_kind + - kubernetes_sigs_kind_binaries - replicatedhq_troubleshoot - vmware_govmomi - helm_helm @@ -152,7 +139,7 @@ batch: IMAGE_PLATFORMS: linux/arm64 BINARY_PLATFORMS: linux/arm64 IMAGE_TAG_SUFFIX: -arm64 - - identifier: aws_upgrader + - identifier: aws_upgrader_combine_images buildspec: buildspecs/combine-images.yml depend-on: - aws_upgrader_linux_amd64 @@ -284,46 +271,37 @@ batch: PROJECT_PATH: projects/kubernetes/cloud-provider-aws CLONE_URL: https://git-codecommit.us-west-2.amazonaws.com/v1/repos/kubernetes.cloud-provider-aws RELEASE_BRANCH: 1-27 - - identifier: kubernetes_cloud_provider_vsphere_1_27 - env: - type: ARM_CONTAINER - compute-type: BUILD_GENERAL1_SMALL - variables: - PROJECT_PATH: projects/kubernetes/cloud-provider-vsphere - CLONE_URL: https://git-codecommit.us-west-2.amazonaws.com/v1/repos/kubernetes.cloud-provider-vsphere - RELEASE_BRANCH: 1-27 - - identifier: kubernetes_cloud_provider_vsphere_1_28 - env: - type: ARM_CONTAINER - compute-type: BUILD_GENERAL1_SMALL - variables: - PROJECT_PATH: projects/kubernetes/cloud-provider-vsphere - CLONE_URL: https://git-codecommit.us-west-2.amazonaws.com/v1/repos/kubernetes.cloud-provider-vsphere - RELEASE_BRANCH: 1-28 - - identifier: kubernetes_cloud_provider_vsphere_1_29 + - identifier: kubernetes_cloud_provider_vsphere_linux_amd64 env: - type: ARM_CONTAINER - compute-type: BUILD_GENERAL1_SMALL + type: LINUX_CONTAINER + compute-type: BUILD_GENERAL1_LARGE variables: PROJECT_PATH: projects/kubernetes/cloud-provider-vsphere CLONE_URL: https://git-codecommit.us-west-2.amazonaws.com/v1/repos/kubernetes.cloud-provider-vsphere - RELEASE_BRANCH: 1-29 - - identifier: kubernetes_cloud_provider_vsphere_1_30 + IMAGE_PLATFORMS: linux/amd64 + BINARY_PLATFORMS: linux/amd64 + IMAGE_TAG_SUFFIX: -amd64 + - identifier: kubernetes_cloud_provider_vsphere_linux_arm64 env: type: ARM_CONTAINER - compute-type: BUILD_GENERAL1_SMALL + compute-type: BUILD_GENERAL1_LARGE variables: PROJECT_PATH: projects/kubernetes/cloud-provider-vsphere CLONE_URL: https://git-codecommit.us-west-2.amazonaws.com/v1/repos/kubernetes.cloud-provider-vsphere - RELEASE_BRANCH: 1-30 - - identifier: kubernetes_cloud_provider_vsphere_1_31 + IMAGE_PLATFORMS: linux/arm64 + BINARY_PLATFORMS: linux/arm64 + IMAGE_TAG_SUFFIX: -arm64 + - identifier: kubernetes_cloud_provider_vsphere_combine_images + buildspec: buildspecs/combine-images.yml + depend-on: + - kubernetes_cloud_provider_vsphere_linux_amd64 + - kubernetes_cloud_provider_vsphere_linux_arm64 env: type: ARM_CONTAINER compute-type: BUILD_GENERAL1_SMALL variables: PROJECT_PATH: projects/kubernetes/cloud-provider-vsphere CLONE_URL: https://git-codecommit.us-west-2.amazonaws.com/v1/repos/kubernetes.cloud-provider-vsphere - RELEASE_BRANCH: 1-31 - identifier: kubernetes_sigs_cluster_api env: type: ARM_CONTAINER @@ -348,7 +326,7 @@ batch: - identifier: kubernetes_sigs_cri_tools env: type: ARM_CONTAINER - compute-type: BUILD_GENERAL1_SMALL + compute-type: BUILD_GENERAL1_LARGE variables: PROJECT_PATH: projects/kubernetes-sigs/cri-tools CLONE_URL: https://git-codecommit.us-west-2.amazonaws.com/v1/repos/kubernetes-sigs.cri-tools @@ -359,125 +337,23 @@ batch: variables: PROJECT_PATH: projects/kubernetes-sigs/etcdadm CLONE_URL: https://git-codecommit.us-west-2.amazonaws.com/v1/repos/kubernetes-sigs.etcdadm - - identifier: kubernetes_sigs_image_builder_bottlerocket_1_27_ova - buildspec: projects/kubernetes-sigs/image-builder/buildspecs/ova.yml + - identifier: kubernetes_sigs_image_builder_br + buildspec: projects/kubernetes-sigs/image-builder/buildspecs/br.yml env: type: ARM_CONTAINER - compute-type: BUILD_GENERAL1_SMALL + compute-type: BUILD_GENERAL1_MEDIUM variables: PROJECT_PATH: projects/kubernetes-sigs/image-builder CLONE_URL: https://git-codecommit.us-west-2.amazonaws.com/v1/repos/kubernetes-sigs.image-builder - IMAGE_OS: bottlerocket - RELEASE_BRANCH: 1-27 - IMAGE_OS_VERSION: "1" - - identifier: kubernetes_sigs_image_builder_bottlerocket_1_28_ova - buildspec: projects/kubernetes-sigs/image-builder/buildspecs/ova.yml - env: - type: ARM_CONTAINER - compute-type: BUILD_GENERAL1_SMALL - variables: - PROJECT_PATH: projects/kubernetes-sigs/image-builder - CLONE_URL: https://git-codecommit.us-west-2.amazonaws.com/v1/repos/kubernetes-sigs.image-builder - IMAGE_OS: bottlerocket - RELEASE_BRANCH: 1-28 - IMAGE_OS_VERSION: "1" - - identifier: kubernetes_sigs_image_builder_bottlerocket_1_29_ova - buildspec: projects/kubernetes-sigs/image-builder/buildspecs/ova.yml - env: - type: ARM_CONTAINER - compute-type: BUILD_GENERAL1_SMALL - variables: - PROJECT_PATH: projects/kubernetes-sigs/image-builder - CLONE_URL: https://git-codecommit.us-west-2.amazonaws.com/v1/repos/kubernetes-sigs.image-builder - IMAGE_OS: bottlerocket - RELEASE_BRANCH: 1-29 - IMAGE_OS_VERSION: "1" - - identifier: kubernetes_sigs_image_builder_bottlerocket_1_30_ova - buildspec: projects/kubernetes-sigs/image-builder/buildspecs/ova.yml - env: - type: ARM_CONTAINER - compute-type: BUILD_GENERAL1_SMALL - variables: - PROJECT_PATH: projects/kubernetes-sigs/image-builder - CLONE_URL: https://git-codecommit.us-west-2.amazonaws.com/v1/repos/kubernetes-sigs.image-builder - IMAGE_OS: bottlerocket - RELEASE_BRANCH: 1-30 - IMAGE_OS_VERSION: "1" - - identifier: kubernetes_sigs_image_builder_bottlerocket_1_31_ova - buildspec: projects/kubernetes-sigs/image-builder/buildspecs/ova.yml - env: - type: ARM_CONTAINER - compute-type: BUILD_GENERAL1_SMALL - variables: - PROJECT_PATH: projects/kubernetes-sigs/image-builder - CLONE_URL: https://git-codecommit.us-west-2.amazonaws.com/v1/repos/kubernetes-sigs.image-builder - IMAGE_OS: bottlerocket - RELEASE_BRANCH: 1-31 - IMAGE_OS_VERSION: "1" - - identifier: kubernetes_sigs_image_builder_bottlerocket_1_27_raw - buildspec: projects/kubernetes-sigs/image-builder/buildspecs/raw.yml - env: - type: ARM_CONTAINER - compute-type: BUILD_GENERAL1_SMALL - variables: - PROJECT_PATH: projects/kubernetes-sigs/image-builder - CLONE_URL: https://git-codecommit.us-west-2.amazonaws.com/v1/repos/kubernetes-sigs.image-builder - IMAGE_OS: bottlerocket - RELEASE_BRANCH: 1-27 - IMAGE_OS_VERSION: "1" - - identifier: kubernetes_sigs_image_builder_bottlerocket_1_28_raw - buildspec: projects/kubernetes-sigs/image-builder/buildspecs/raw.yml - env: - type: ARM_CONTAINER - compute-type: BUILD_GENERAL1_SMALL - variables: - PROJECT_PATH: projects/kubernetes-sigs/image-builder - CLONE_URL: https://git-codecommit.us-west-2.amazonaws.com/v1/repos/kubernetes-sigs.image-builder - IMAGE_OS: bottlerocket - RELEASE_BRANCH: 1-28 - IMAGE_OS_VERSION: "1" - - identifier: kubernetes_sigs_image_builder_bottlerocket_1_29_raw - buildspec: projects/kubernetes-sigs/image-builder/buildspecs/raw.yml - env: - type: ARM_CONTAINER - compute-type: BUILD_GENERAL1_SMALL - variables: - PROJECT_PATH: projects/kubernetes-sigs/image-builder - CLONE_URL: https://git-codecommit.us-west-2.amazonaws.com/v1/repos/kubernetes-sigs.image-builder - IMAGE_OS: bottlerocket - RELEASE_BRANCH: 1-29 - IMAGE_OS_VERSION: "1" - - identifier: kubernetes_sigs_image_builder_bottlerocket_1_30_raw - buildspec: projects/kubernetes-sigs/image-builder/buildspecs/raw.yml - env: - type: ARM_CONTAINER - compute-type: BUILD_GENERAL1_SMALL - variables: - PROJECT_PATH: projects/kubernetes-sigs/image-builder - CLONE_URL: https://git-codecommit.us-west-2.amazonaws.com/v1/repos/kubernetes-sigs.image-builder - IMAGE_OS: bottlerocket - RELEASE_BRANCH: 1-30 - IMAGE_OS_VERSION: "1" - - identifier: kubernetes_sigs_image_builder_bottlerocket_1_31_raw - buildspec: projects/kubernetes-sigs/image-builder/buildspecs/raw.yml - env: - type: ARM_CONTAINER - compute-type: BUILD_GENERAL1_SMALL - variables: - PROJECT_PATH: projects/kubernetes-sigs/image-builder - CLONE_URL: https://git-codecommit.us-west-2.amazonaws.com/v1/repos/kubernetes-sigs.image-builder - IMAGE_OS: bottlerocket - RELEASE_BRANCH: 1-31 - IMAGE_OS_VERSION: "1" - - identifier: kubernetes_sigs_kind + - identifier: kubernetes_sigs_kind_binaries buildspec: projects/kubernetes-sigs/kind/buildspecs/binaries.yml env: type: ARM_CONTAINER - compute-type: BUILD_GENERAL1_LARGE + compute-type: BUILD_GENERAL1_MEDIUM variables: PROJECT_PATH: projects/kubernetes-sigs/kind CLONE_URL: https://git-codecommit.us-west-2.amazonaws.com/v1/repos/kubernetes-sigs.kind - - identifier: kubernetes_sigs_kind_linux_amd64 + - identifier: kubernetes_sigs_kind_base_images_linux_amd64 buildspec: projects/kubernetes-sigs/kind/buildspecs/base-images.yml depend-on: - kubernetes_sigs_etcdadm @@ -485,14 +361,14 @@ batch: - rancher_local_path_provisioner env: type: LINUX_CONTAINER - compute-type: BUILD_GENERAL1_LARGE + compute-type: BUILD_GENERAL1_MEDIUM variables: PROJECT_PATH: projects/kubernetes-sigs/kind CLONE_URL: https://git-codecommit.us-west-2.amazonaws.com/v1/repos/kubernetes-sigs.kind IMAGE_PLATFORMS: linux/amd64 BINARY_PLATFORMS: linux/amd64 IMAGE_TAG_SUFFIX: -amd64 - - identifier: kubernetes_sigs_kind_linux_arm64 + - identifier: kubernetes_sigs_kind_base_images_linux_arm64 buildspec: projects/kubernetes-sigs/kind/buildspecs/base-images.yml depend-on: - kubernetes_sigs_etcdadm @@ -500,263 +376,52 @@ batch: - rancher_local_path_provisioner env: type: ARM_CONTAINER - compute-type: BUILD_GENERAL1_LARGE - variables: - PROJECT_PATH: projects/kubernetes-sigs/kind - CLONE_URL: https://git-codecommit.us-west-2.amazonaws.com/v1/repos/kubernetes-sigs.kind - IMAGE_PLATFORMS: linux/arm64 - BINARY_PLATFORMS: linux/arm64 - IMAGE_TAG_SUFFIX: -arm64 - - identifier: kubernetes_sigs_kind_1_27_linux_amd64_node_images - buildspec: projects/kubernetes-sigs/kind/buildspecs/node-images.yml - depend-on: - - kubernetes_sigs_kind_linux_amd64 - - kubernetes_sigs_kind_linux_arm64 - env: - type: LINUX_CONTAINER - compute-type: BUILD_GENERAL1_LARGE - variables: - PROJECT_PATH: projects/kubernetes-sigs/kind - CLONE_URL: https://git-codecommit.us-west-2.amazonaws.com/v1/repos/kubernetes-sigs.kind - RELEASE_BRANCH: 1-27 - IMAGE_PLATFORMS: linux/amd64 - BINARY_PLATFORMS: linux/amd64 - IMAGE_TAG_SUFFIX: -amd64 - - identifier: kubernetes_sigs_kind_1_27_linux_arm64_node_images - buildspec: projects/kubernetes-sigs/kind/buildspecs/node-images.yml - depend-on: - - kubernetes_sigs_kind_linux_amd64 - - kubernetes_sigs_kind_linux_arm64 - env: - type: ARM_CONTAINER - compute-type: BUILD_GENERAL1_LARGE - variables: - PROJECT_PATH: projects/kubernetes-sigs/kind - CLONE_URL: https://git-codecommit.us-west-2.amazonaws.com/v1/repos/kubernetes-sigs.kind - RELEASE_BRANCH: 1-27 - IMAGE_PLATFORMS: linux/arm64 - BINARY_PLATFORMS: linux/arm64 - IMAGE_TAG_SUFFIX: -arm64 - - identifier: kubernetes_sigs_kind_1_28_linux_amd64_node_images - buildspec: projects/kubernetes-sigs/kind/buildspecs/node-images.yml - depend-on: - - kubernetes_sigs_kind_linux_amd64 - - kubernetes_sigs_kind_linux_arm64 - env: - type: LINUX_CONTAINER - compute-type: BUILD_GENERAL1_LARGE - variables: - PROJECT_PATH: projects/kubernetes-sigs/kind - CLONE_URL: https://git-codecommit.us-west-2.amazonaws.com/v1/repos/kubernetes-sigs.kind - RELEASE_BRANCH: 1-28 - IMAGE_PLATFORMS: linux/amd64 - BINARY_PLATFORMS: linux/amd64 - IMAGE_TAG_SUFFIX: -amd64 - - identifier: kubernetes_sigs_kind_1_28_linux_arm64_node_images - buildspec: projects/kubernetes-sigs/kind/buildspecs/node-images.yml - depend-on: - - kubernetes_sigs_kind_linux_amd64 - - kubernetes_sigs_kind_linux_arm64 - env: - type: ARM_CONTAINER - compute-type: BUILD_GENERAL1_LARGE + compute-type: BUILD_GENERAL1_MEDIUM variables: PROJECT_PATH: projects/kubernetes-sigs/kind CLONE_URL: https://git-codecommit.us-west-2.amazonaws.com/v1/repos/kubernetes-sigs.kind - RELEASE_BRANCH: 1-28 IMAGE_PLATFORMS: linux/arm64 BINARY_PLATFORMS: linux/arm64 IMAGE_TAG_SUFFIX: -arm64 - - identifier: kubernetes_sigs_kind_1_29_linux_amd64_node_images + - identifier: kubernetes_sigs_kind_node_images_linux_amd64 buildspec: projects/kubernetes-sigs/kind/buildspecs/node-images.yml depend-on: - - kubernetes_sigs_kind_linux_amd64 - - kubernetes_sigs_kind_linux_arm64 + - kubernetes_sigs_kind_base_images_linux_amd64 + - kubernetes_sigs_kind_base_images_linux_arm64 env: type: LINUX_CONTAINER compute-type: BUILD_GENERAL1_LARGE variables: PROJECT_PATH: projects/kubernetes-sigs/kind CLONE_URL: https://git-codecommit.us-west-2.amazonaws.com/v1/repos/kubernetes-sigs.kind - RELEASE_BRANCH: 1-29 IMAGE_PLATFORMS: linux/amd64 BINARY_PLATFORMS: linux/amd64 IMAGE_TAG_SUFFIX: -amd64 - - identifier: kubernetes_sigs_kind_1_29_linux_arm64_node_images + - identifier: kubernetes_sigs_kind_node_images_linux_arm64 buildspec: projects/kubernetes-sigs/kind/buildspecs/node-images.yml depend-on: - - kubernetes_sigs_kind_linux_amd64 - - kubernetes_sigs_kind_linux_arm64 + - kubernetes_sigs_kind_base_images_linux_amd64 + - kubernetes_sigs_kind_base_images_linux_arm64 env: type: ARM_CONTAINER compute-type: BUILD_GENERAL1_LARGE variables: PROJECT_PATH: projects/kubernetes-sigs/kind CLONE_URL: https://git-codecommit.us-west-2.amazonaws.com/v1/repos/kubernetes-sigs.kind - RELEASE_BRANCH: 1-29 IMAGE_PLATFORMS: linux/arm64 BINARY_PLATFORMS: linux/arm64 IMAGE_TAG_SUFFIX: -arm64 - - identifier: kubernetes_sigs_kind_1_30_linux_amd64_node_images - buildspec: projects/kubernetes-sigs/kind/buildspecs/node-images.yml - depend-on: - - kubernetes_sigs_kind_linux_amd64 - - kubernetes_sigs_kind_linux_arm64 - env: - type: LINUX_CONTAINER - compute-type: BUILD_GENERAL1_LARGE - variables: - PROJECT_PATH: projects/kubernetes-sigs/kind - CLONE_URL: https://git-codecommit.us-west-2.amazonaws.com/v1/repos/kubernetes-sigs.kind - RELEASE_BRANCH: 1-30 - IMAGE_PLATFORMS: linux/amd64 - BINARY_PLATFORMS: linux/amd64 - IMAGE_TAG_SUFFIX: -amd64 - - identifier: kubernetes_sigs_kind_1_30_linux_arm64_node_images - buildspec: projects/kubernetes-sigs/kind/buildspecs/node-images.yml - depend-on: - - kubernetes_sigs_kind_linux_amd64 - - kubernetes_sigs_kind_linux_arm64 - env: - type: ARM_CONTAINER - compute-type: BUILD_GENERAL1_LARGE - variables: - PROJECT_PATH: projects/kubernetes-sigs/kind - CLONE_URL: https://git-codecommit.us-west-2.amazonaws.com/v1/repos/kubernetes-sigs.kind - RELEASE_BRANCH: 1-30 - IMAGE_PLATFORMS: linux/arm64 - BINARY_PLATFORMS: linux/arm64 - IMAGE_TAG_SUFFIX: -arm64 - - identifier: kubernetes_sigs_kind_1_31_linux_amd64_node_images - buildspec: projects/kubernetes-sigs/kind/buildspecs/node-images.yml - depend-on: - - kubernetes_sigs_kind_linux_amd64 - - kubernetes_sigs_kind_linux_arm64 - env: - type: LINUX_CONTAINER - compute-type: BUILD_GENERAL1_LARGE - variables: - PROJECT_PATH: projects/kubernetes-sigs/kind - CLONE_URL: https://git-codecommit.us-west-2.amazonaws.com/v1/repos/kubernetes-sigs.kind - RELEASE_BRANCH: 1-31 - IMAGE_PLATFORMS: linux/amd64 - BINARY_PLATFORMS: linux/amd64 - IMAGE_TAG_SUFFIX: -amd64 - - identifier: kubernetes_sigs_kind_1_31_linux_arm64_node_images - buildspec: projects/kubernetes-sigs/kind/buildspecs/node-images.yml - depend-on: - - kubernetes_sigs_kind_linux_amd64 - - kubernetes_sigs_kind_linux_arm64 - env: - type: ARM_CONTAINER - compute-type: BUILD_GENERAL1_LARGE - variables: - PROJECT_PATH: projects/kubernetes-sigs/kind - CLONE_URL: https://git-codecommit.us-west-2.amazonaws.com/v1/repos/kubernetes-sigs.kind - RELEASE_BRANCH: 1-31 - IMAGE_PLATFORMS: linux/arm64 - BINARY_PLATFORMS: linux/arm64 - IMAGE_TAG_SUFFIX: -arm64 - - identifier: kubernetes_sigs_kind_1_27 + - identifier: kubernetes_sigs_kind_combine_images buildspec: buildspecs/combine-images.yml depend-on: - - kubernetes_sigs_kind_1_27_linux_arm64_node_images - - kubernetes_sigs_kind_1_27_linux_amd64_node_images - - kubernetes_sigs_kind_1_28_linux_arm64_node_images - - kubernetes_sigs_kind_1_28_linux_amd64_node_images - - kubernetes_sigs_kind_1_29_linux_arm64_node_images - - kubernetes_sigs_kind_1_29_linux_amd64_node_images - - kubernetes_sigs_kind_1_30_linux_arm64_node_images - - kubernetes_sigs_kind_1_30_linux_amd64_node_images - - kubernetes_sigs_kind_1_31_linux_arm64_node_images - - kubernetes_sigs_kind_1_31_linux_amd64_node_images + - kubernetes_sigs_kind_node_images_linux_amd64 + - kubernetes_sigs_kind_node_images_linux_arm64 env: type: ARM_CONTAINER - compute-type: BUILD_GENERAL1_LARGE - variables: - PROJECT_PATH: projects/kubernetes-sigs/kind - CLONE_URL: https://git-codecommit.us-west-2.amazonaws.com/v1/repos/kubernetes-sigs.kind - RELEASE_BRANCH: 1-27 - - identifier: kubernetes_sigs_kind_1_28 - buildspec: buildspecs/combine-images.yml - depend-on: - - kubernetes_sigs_kind_1_27_linux_arm64_node_images - - kubernetes_sigs_kind_1_27_linux_amd64_node_images - - kubernetes_sigs_kind_1_28_linux_arm64_node_images - - kubernetes_sigs_kind_1_28_linux_amd64_node_images - - kubernetes_sigs_kind_1_29_linux_arm64_node_images - - kubernetes_sigs_kind_1_29_linux_amd64_node_images - - kubernetes_sigs_kind_1_30_linux_arm64_node_images - - kubernetes_sigs_kind_1_30_linux_amd64_node_images - - kubernetes_sigs_kind_1_31_linux_arm64_node_images - - kubernetes_sigs_kind_1_31_linux_amd64_node_images - env: - type: ARM_CONTAINER - compute-type: BUILD_GENERAL1_LARGE - variables: - PROJECT_PATH: projects/kubernetes-sigs/kind - CLONE_URL: https://git-codecommit.us-west-2.amazonaws.com/v1/repos/kubernetes-sigs.kind - RELEASE_BRANCH: 1-28 - - identifier: kubernetes_sigs_kind_1_29 - buildspec: buildspecs/combine-images.yml - depend-on: - - kubernetes_sigs_kind_1_27_linux_arm64_node_images - - kubernetes_sigs_kind_1_27_linux_amd64_node_images - - kubernetes_sigs_kind_1_28_linux_arm64_node_images - - kubernetes_sigs_kind_1_28_linux_amd64_node_images - - kubernetes_sigs_kind_1_29_linux_arm64_node_images - - kubernetes_sigs_kind_1_29_linux_amd64_node_images - - kubernetes_sigs_kind_1_30_linux_arm64_node_images - - kubernetes_sigs_kind_1_30_linux_amd64_node_images - - kubernetes_sigs_kind_1_31_linux_arm64_node_images - - kubernetes_sigs_kind_1_31_linux_amd64_node_images - env: - type: ARM_CONTAINER - compute-type: BUILD_GENERAL1_LARGE - variables: - PROJECT_PATH: projects/kubernetes-sigs/kind - CLONE_URL: https://git-codecommit.us-west-2.amazonaws.com/v1/repos/kubernetes-sigs.kind - RELEASE_BRANCH: 1-29 - - identifier: kubernetes_sigs_kind_1_30 - buildspec: buildspecs/combine-images.yml - depend-on: - - kubernetes_sigs_kind_1_27_linux_arm64_node_images - - kubernetes_sigs_kind_1_27_linux_amd64_node_images - - kubernetes_sigs_kind_1_28_linux_arm64_node_images - - kubernetes_sigs_kind_1_28_linux_amd64_node_images - - kubernetes_sigs_kind_1_29_linux_arm64_node_images - - kubernetes_sigs_kind_1_29_linux_amd64_node_images - - kubernetes_sigs_kind_1_30_linux_arm64_node_images - - kubernetes_sigs_kind_1_30_linux_amd64_node_images - - kubernetes_sigs_kind_1_31_linux_arm64_node_images - - kubernetes_sigs_kind_1_31_linux_amd64_node_images - env: - type: ARM_CONTAINER - compute-type: BUILD_GENERAL1_LARGE - variables: - PROJECT_PATH: projects/kubernetes-sigs/kind - CLONE_URL: https://git-codecommit.us-west-2.amazonaws.com/v1/repos/kubernetes-sigs.kind - RELEASE_BRANCH: 1-30 - - identifier: kubernetes_sigs_kind_1_31 - buildspec: buildspecs/combine-images.yml - depend-on: - - kubernetes_sigs_kind_1_27_linux_arm64_node_images - - kubernetes_sigs_kind_1_27_linux_amd64_node_images - - kubernetes_sigs_kind_1_28_linux_arm64_node_images - - kubernetes_sigs_kind_1_28_linux_amd64_node_images - - kubernetes_sigs_kind_1_29_linux_arm64_node_images - - kubernetes_sigs_kind_1_29_linux_amd64_node_images - - kubernetes_sigs_kind_1_30_linux_arm64_node_images - - kubernetes_sigs_kind_1_30_linux_amd64_node_images - - kubernetes_sigs_kind_1_31_linux_arm64_node_images - - kubernetes_sigs_kind_1_31_linux_amd64_node_images - env: - type: ARM_CONTAINER - compute-type: BUILD_GENERAL1_LARGE + compute-type: BUILD_GENERAL1_SMALL variables: PROJECT_PATH: projects/kubernetes-sigs/kind CLONE_URL: https://git-codecommit.us-west-2.amazonaws.com/v1/repos/kubernetes-sigs.kind - RELEASE_BRANCH: 1-31 - identifier: linuxkit_linuxkit_linux_amd64 env: type: LINUX_CONTAINER @@ -777,7 +442,7 @@ batch: IMAGE_PLATFORMS: linux/arm64 BINARY_PLATFORMS: linux/arm64 IMAGE_TAG_SUFFIX: -arm64 - - identifier: linuxkit_linuxkit + - identifier: linuxkit_linuxkit_combine_images buildspec: buildspecs/combine-images.yml depend-on: - linuxkit_linuxkit_linux_amd64 @@ -828,7 +493,7 @@ batch: - identifier: replicatedhq_troubleshoot env: type: LINUX_CONTAINER - compute-type: BUILD_GENERAL1_SMALL + compute-type: BUILD_GENERAL1_MEDIUM variables: PROJECT_PATH: projects/replicatedhq/troubleshoot CLONE_URL: https://git-codecommit.us-west-2.amazonaws.com/v1/repos/replicatedhq.troubleshoot @@ -867,9 +532,9 @@ batch: depend-on: - containerd_containerd_linux_amd64 - containerd_containerd_linux_arm64 - - tinkerbell_tink - - linuxkit_linuxkit - tinkerbell_hub + - tinkerbell_tink_combine_images + - linuxkit_linuxkit_combine_images env: type: LINUX_CONTAINER compute-type: BUILD_GENERAL1_LARGE @@ -883,9 +548,9 @@ batch: depend-on: - containerd_containerd_linux_amd64 - containerd_containerd_linux_arm64 - - tinkerbell_tink - - linuxkit_linuxkit - tinkerbell_hub + - tinkerbell_tink_combine_images + - linuxkit_linuxkit_combine_images env: type: ARM_CONTAINER compute-type: BUILD_GENERAL1_LARGE @@ -895,7 +560,7 @@ batch: IMAGE_PLATFORMS: linux/arm64 BINARY_PLATFORMS: linux/arm64 IMAGE_TAG_SUFFIX: -arm64 - - identifier: tinkerbell_hook + - identifier: tinkerbell_hook_combine_images buildspec: buildspecs/combine-images.yml depend-on: - tinkerbell_hook_linux_amd64 @@ -952,7 +617,7 @@ batch: IMAGE_PLATFORMS: linux/arm64 BINARY_PLATFORMS: linux/arm64 IMAGE_TAG_SUFFIX: -arm64 - - identifier: tinkerbell_rufio + - identifier: tinkerbell_rufio_combine_images buildspec: buildspecs/combine-images.yml depend-on: - tinkerbell_rufio_linux_amd64 @@ -964,6 +629,9 @@ batch: PROJECT_PATH: projects/tinkerbell/rufio CLONE_URL: https://git-codecommit.us-west-2.amazonaws.com/v1/repos/tinkerbell.rufio - identifier: tinkerbell_tink_linux_amd64 + depend-on: + - isc_projects_dhcp_linux_amd64 + - isc_projects_dhcp_linux_arm64 env: type: LINUX_CONTAINER compute-type: BUILD_GENERAL1_LARGE @@ -974,6 +642,9 @@ batch: BINARY_PLATFORMS: linux/amd64 IMAGE_TAG_SUFFIX: -amd64 - identifier: tinkerbell_tink_linux_arm64 + depend-on: + - isc_projects_dhcp_linux_amd64 + - isc_projects_dhcp_linux_arm64 env: type: ARM_CONTAINER compute-type: BUILD_GENERAL1_LARGE @@ -983,7 +654,7 @@ batch: IMAGE_PLATFORMS: linux/arm64 BINARY_PLATFORMS: linux/arm64 IMAGE_TAG_SUFFIX: -arm64 - - identifier: tinkerbell_tink + - identifier: tinkerbell_tink_combine_images buildspec: buildspecs/combine-images.yml depend-on: - tinkerbell_tink_linux_amd64 diff --git a/tools/version-tracker/buildspecs/upgrade.yml b/tools/version-tracker/buildspecs/upgrade.yml index 952954f0f2..d194e11eed 100644 --- a/tools/version-tracker/buildspecs/upgrade.yml +++ b/tools/version-tracker/buildspecs/upgrade.yml @@ -247,7 +247,7 @@ batch: - identifier: kubernetes_cloud_provider_vsphere_1_27 env: type: ARM_CONTAINER - compute-type: BUILD_GENERAL1_SMALL + compute-type: BUILD_GENERAL1_LARGE variables: PROJECT_PATH: projects/kubernetes/cloud-provider-vsphere CLONE_URL: https://git-codecommit.us-west-2.amazonaws.com/v1/repos/kubernetes.cloud-provider-vsphere @@ -255,7 +255,7 @@ batch: - identifier: kubernetes_cloud_provider_vsphere_1_28 env: type: ARM_CONTAINER - compute-type: BUILD_GENERAL1_SMALL + compute-type: BUILD_GENERAL1_LARGE variables: PROJECT_PATH: projects/kubernetes/cloud-provider-vsphere CLONE_URL: https://git-codecommit.us-west-2.amazonaws.com/v1/repos/kubernetes.cloud-provider-vsphere @@ -263,7 +263,7 @@ batch: - identifier: kubernetes_cloud_provider_vsphere_1_29 env: type: ARM_CONTAINER - compute-type: BUILD_GENERAL1_SMALL + compute-type: BUILD_GENERAL1_LARGE variables: PROJECT_PATH: projects/kubernetes/cloud-provider-vsphere CLONE_URL: https://git-codecommit.us-west-2.amazonaws.com/v1/repos/kubernetes.cloud-provider-vsphere @@ -271,7 +271,7 @@ batch: - identifier: kubernetes_cloud_provider_vsphere_1_30 env: type: ARM_CONTAINER - compute-type: BUILD_GENERAL1_SMALL + compute-type: BUILD_GENERAL1_LARGE variables: PROJECT_PATH: projects/kubernetes/cloud-provider-vsphere CLONE_URL: https://git-codecommit.us-west-2.amazonaws.com/v1/repos/kubernetes.cloud-provider-vsphere @@ -279,7 +279,7 @@ batch: - identifier: kubernetes_cloud_provider_vsphere_1_31 env: type: ARM_CONTAINER - compute-type: BUILD_GENERAL1_SMALL + compute-type: BUILD_GENERAL1_LARGE variables: PROJECT_PATH: projects/kubernetes/cloud-provider-vsphere CLONE_URL: https://git-codecommit.us-west-2.amazonaws.com/v1/repos/kubernetes.cloud-provider-vsphere @@ -308,21 +308,21 @@ batch: - identifier: kubernetes_sigs_cri_tools env: type: ARM_CONTAINER - compute-type: BUILD_GENERAL1_SMALL + compute-type: BUILD_GENERAL1_LARGE variables: PROJECT_PATH: projects/kubernetes-sigs/cri-tools CLONE_URL: https://git-codecommit.us-west-2.amazonaws.com/v1/repos/kubernetes-sigs.cri-tools - identifier: kubernetes_sigs_image_builder env: type: ARM_CONTAINER - compute-type: BUILD_GENERAL1_SMALL + compute-type: BUILD_GENERAL1_MEDIUM variables: PROJECT_PATH: projects/kubernetes-sigs/image-builder CLONE_URL: https://git-codecommit.us-west-2.amazonaws.com/v1/repos/kubernetes-sigs.image-builder - identifier: kubernetes_sigs_kind env: type: ARM_CONTAINER - compute-type: BUILD_GENERAL1_LARGE + compute-type: BUILD_GENERAL1_MEDIUM variables: PROJECT_PATH: projects/kubernetes-sigs/kind CLONE_URL: https://git-codecommit.us-west-2.amazonaws.com/v1/repos/kubernetes-sigs.kind @@ -407,7 +407,7 @@ batch: - identifier: replicatedhq_troubleshoot env: type: LINUX_CONTAINER - compute-type: BUILD_GENERAL1_SMALL + compute-type: BUILD_GENERAL1_MEDIUM variables: PROJECT_PATH: projects/replicatedhq/troubleshoot CLONE_URL: https://git-codecommit.us-west-2.amazonaws.com/v1/repos/replicatedhq.troubleshoot