Skip to content

Commit d0066f9

Browse files
authored
improves batch build generation (#4138)
1 parent 5303a93 commit d0066f9

File tree

41 files changed

+323
-783
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+323
-783
lines changed

Common.mk

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,10 @@ BUILDSPEC_VARS_KEYS?=
8484
BUILDSPEC_VARS_VALUES?=
8585
BUILDSPEC_PLATFORM?=ARM_CONTAINER
8686
BUILDSPEC_COMPUTE_TYPE?=BUILD_GENERAL1_SMALL
87+
BUILDSPECS_FOR_COMBINE_IMAGES=buildspec.yml buildspecs/combine-images.yml
88+
BUILDSPEC_1_VARS_KEYS?=$(if $(findstring $(BUILDSPECS_FOR_COMBINE_IMAGES),$(BUILDSPECS)),IMAGE_PLATFORMS,)
89+
BUILDSPEC_1_VARS_VALUES?=$(if $(findstring $(BUILDSPECS_FOR_COMBINE_IMAGES),$(BUILDSPECS)),IMAGE_PLATFORMS,)
90+
BUILDSPEC_2_DEPENDS_ON_OVERRIDE?=$(if $(filter buildspecs/combine-images.yml,$(word 2,$(BUILDSPECS))),BUILDSPEC_1,)
8791
####################################################
8892

8993
#################### GIT ###########################
@@ -907,7 +911,7 @@ release: $(or $(RELEASE_TARGETS_OVERRIDE),$(RELEASE_TARGETS))
907911
@set -e; \
908912
for version in $(SUPPORTED_K8S_VERSIONS) ; do \
909913
if ! [[ "$(SKIPPED_K8S_VERSIONS)" =~ $$version ]]; then \
910-
$(MAKE) $* $(if $(filter true,$(BINARIES_ARE_RELEASE_BRANCHED)),clean-output,) RELEASE_BRANCH=$$version; \
914+
$(MAKE) $* $(if $(filter true,$(BINARIES_ARE_RELEASE_BRANCHED)),clean-output,) RELEASE_BRANCH=$$version IMAGE_PLATFORMS=$(call IF_OVERRIDE_VARIABLE,IMAGE_PLATFORMS,); \
911915
fi \
912916
done;
913917

Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -199,7 +199,7 @@ generate-project-list: | ensure-locale
199199
generate-staging-buildspec: export BINARY_PLATFORMS=linux/amd64 linux/arm64
200200
generate-staging-buildspec: export IMAGE_PLATFORMS=linux/amd64 linux/arm64
201201
generate-staging-buildspec: | ensure-locale
202-
build/lib/generate_staging_buildspec.sh $(BASE_DIRECTORY) "$(ALL_PROJECTS)" "$(BASE_DIRECTORY)/release/staging-build.yml" "$(BASE_DIRECTORY)/buildspec.yml"
202+
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
203203
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
204204
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
205205
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:
240240

241241
.PHONY: validate-release-buildspecs
242242
validate-release-buildspecs:
243-
build/lib/validate_release_buildspecs.sh
243+
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"
244244

245245
.PHONY: validate-eksd-releases
246246
validate-eksd-releases:

build/lib/generate_staging_buildspec.sh

Lines changed: 64 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@ for project in "${PROJECTS[@]}"; do
7676

7777
BUILDSPECS=$(make_var $PROJECT_PATH $BUILDSPECS_VAR)
7878
SPECS=(${BUILDSPECS// / })
79+
PREVIOUS_SPEC_IDENTIFIERS=""
7980
for (( i=0; i < ${#SPECS[@]}; i++ )); do
8081
IDENTIFIER="${org//-/_}_${repo//-/_}"
8182

@@ -94,17 +95,28 @@ for project in "${PROJECTS[@]}"; do
9495
if [[ "none" = "$BUILDSPEC_DEPENDS_ON" ]]; then
9596
PROJECT_DEPENDENCIES=""
9697
break
98+
elif [[ -n "$BUILDSPEC_DEPENDS_ON" ]] && [[ $BUILDSPEC_DEPENDS_ON == BUILDSPEC_* ]]; then
99+
# TODO: In the makefiles we will use `BUILDSPEC_1` as if you can control the specific buildspec
100+
# to depend on. This code assumes its always the previous
101+
HARDCODED_DEP="true"
102+
PROJECT_DEPENDENCIES=$PREVIOUS_SPEC_IDENTIFIERS
103+
break
97104
elif [[ -n "$BUILDSPEC_DEPENDS_ON" ]]; then
98105
HARDCODED_DEP="true"
99106
PROJECT_DEPENDENCIES=$BUILDSPEC_DEPENDS_ON
100107
break
101108
fi
102109
done
103-
110+
111+
PREVIOUS_SPEC_IDENTIFIERS=""
112+
113+
BUILDSPEC_NAME=$(basename $buildspec .yml)
104114
BUILDSPEC_IDENTIFIER_OVERRIDE="$(make_var $PROJECT_PATH BUILDSPEC_$((( $i + 1 )))_IDENTIFIER_OVERRIDE)"
105115
if [[ -n "$BUILDSPEC_IDENTIFIER_OVERRIDE" ]]; then
106116
IDENTIFIER="$BUILDSPEC_IDENTIFIER_OVERRIDE"
107-
fi
117+
elif [[ "${BUILDSPEC_NAME}" != *buildspec* ]]; then
118+
IDENTIFIER+="_${BUILDSPEC_NAME//-/_}"
119+
fi
108120

109121
echo "Adding: $IDENTIFIER"
110122

@@ -134,10 +146,20 @@ for project in "${PROJECTS[@]}"; do
134146
fi
135147

136148
DEP_IDENTIFIER=${DEP_ORG//-/_}_${DEP_REPO//-/_}
149+
137150
if [ -n "${DEP_RELEASE_BRANCH}" ]; then
138151
DEP_IDENTIFIER=${DEP_ORG//-/_}_${DEP_REPO//-/_}_${DEP_RELEASE_BRANCH//[-\/]/_}
139152
fi
140-
DEPEND_ON+="\"${DEP_IDENTIFIER}\","
153+
# if dep is split by binary platform, append platform/arch
154+
DEP_BUILDSPEC_VARS="$(make_var $MAKE_ROOT/projects/$DEP_ORG/$DEP_REPO BUILDSPEC_VARS_KEYS)"
155+
DEP_BUILDSPECS="$(make_var $MAKE_ROOT/projects/$DEP_ORG/$DEP_REPO BUILDSPECS)"
156+
if [[ "$DEP_BUILDSPEC_VARS" == "BINARY_PLATFORMS" ]]; then
157+
DEPEND_ON+="\"${DEP_IDENTIFIER}_linux_amd64\",\"${DEP_IDENTIFIER}_linux_arm64\","
158+
elif [[ $DEP_BUILDSPECS == *combine-images.yml* ]]; then
159+
DEPEND_ON+="\"${DEP_IDENTIFIER}_combine_images\","
160+
else
161+
DEPEND_ON+="\"${DEP_IDENTIFIER}\","
162+
fi
141163
done
142164
fi
143165

@@ -160,21 +182,42 @@ for project in "${PROJECTS[@]}"; do
160182
fi
161183

162184
ARCH_TYPE="\"type\":\"$BUILDSPEC_PLATFORM\",\"compute-type\":\"$BUILDSPEC_COMPUTE_TYPE\","
163-
164-
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
165-
BUILDSPEC_VARS_KEYS=""
185+
186+
BUILDSPEC_VARS_VALUES=""
187+
if [[ "$BUILDSPECS_VAR" == "CHECKSUMS_BUILDSPECS" ]]; then
188+
if [[ "true" == "$(make_var $PROJECT_PATH HAS_RELEASE_BRANCHES)" ]]; then
189+
if [[ "false" == "$(make_var $PROJECT_PATH BINARIES_ARE_RELEASE_BRANCHED)" ]]; then
190+
BUILDSPEC_VARS_KEYS=""
191+
else
192+
BUILDSPEC_VARS_KEYS="RELEASE_BRANCH"
193+
BUILDSPEC_VARS_VALUES="SUPPORTED_K8S_VERSIONS"
194+
fi
195+
elif [[ "${BUILDSPEC_VARS_KEYS}" = "IMAGE_PLATFORMS" ]]; then
196+
BUILDSPEC_VARS_KEYS=""
197+
fi
166198
fi
167199

168-
if [[ "$BUILDSPECS_VAR" == "UPGRADE_BUILDSPECS" ]] && [[ "${IDENTIFIER}" = "kubernetes_sigs_image_builder" ]]; then
169-
BUILDSPEC_VARS_KEYS=""
200+
if [[ "$BUILDSPECS_VAR" == "UPGRADE_BUILDSPECS" ]]; then
201+
if [[ "${IDENTIFIER}" = "kubernetes_sigs_image_builder" ]]; then
202+
BUILDSPEC_VARS_KEYS=""
203+
elif [[ "true" == "$(make_var $PROJECT_PATH HAS_RELEASE_BRANCHES)" ]]; then
204+
if [[ "false" == "$(make_var $PROJECT_PATH BINARIES_ARE_RELEASE_BRANCHED)" ]]; then
205+
BUILDSPEC_VARS_KEYS=""
206+
else
207+
BUILDSPEC_VARS_KEYS="RELEASE_BRANCH"
208+
BUILDSPEC_VARS_VALUES="SUPPORTED_K8S_VERSIONS"
209+
fi
210+
fi
170211
fi
171212

172213
if [[ -n "$BUILDSPEC_VARS_KEYS" ]]; then
173214
KEYS=(${BUILDSPEC_VARS_KEYS// / })
174215

175-
BUILDSPEC_VARS_VALUES=$(make_var $PROJECT_PATH BUILDSPEC_VARS_VALUES)
176216
if [[ -z "$BUILDSPEC_VARS_VALUES" ]]; then
177-
BUILDSPEC_VARS_VALUES=$(make_var $PROJECT_PATH BUILDSPEC_$((( $i + 1 )))_VARS_VALUES)
217+
BUILDSPEC_VARS_VALUES=$(make_var $PROJECT_PATH BUILDSPEC_VARS_VALUES)
218+
if [[ -z "$BUILDSPEC_VARS_VALUES" ]]; then
219+
BUILDSPEC_VARS_VALUES=$(make_var $PROJECT_PATH BUILDSPEC_$((( $i + 1 )))_VARS_VALUES)
220+
fi
178221
fi
179222
VARS=(${BUILDSPEC_VARS_VALUES// / })
180223

@@ -184,8 +227,7 @@ for project in "${PROJECTS[@]}"; do
184227
ARR_1=(${VALUES_1// / })
185228

186229
for val1 in "${ARR_1[@]}"; do
187-
BUILDSPEC_NAME=$(basename $buildspec .yml)
188-
IDENTIFIER=${org//-/_}_${repo//-/_}_${val1//[-\/]/_}
230+
IDENTIFIER_WITH_VAL=${IDENTIFIER}_${val1//[-\/]/_}
189231

190232
# If building on one binary platform assume we want to run on a specific arch instance
191233
ARCH_TYPE="\"type\":\"$BUILDSPEC_PLATFORM\",\"compute-type\":\"$BUILDSPEC_COMPUTE_TYPE\","
@@ -206,9 +248,10 @@ for project in "${PROJECTS[@]}"; do
206248
fi
207249
fi
208250

209-
ALL_PROJECT_IDS+="\"$IDENTIFIER\","
251+
ALL_PROJECT_IDS+="\"$IDENTIFIER_WITH_VAL\","
252+
PREVIOUS_SPEC_IDENTIFIERS+="$IDENTIFIER_WITH_VAL "
210253
yq eval -i -P \
211-
".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}}}]" \
254+
".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}}}]" \
212255
$STAGING_BUILDSPEC_FILE
213256

214257
done
@@ -220,8 +263,7 @@ for project in "${PROJECTS[@]}"; do
220263
ARR_2=(${VALUES_2// / })
221264
for val1 in "${ARR_1[@]}"; do
222265
for val2 in "${ARR_2[@]}"; do
223-
BUILDSPEC_NAME=$(basename $buildspec .yml)
224-
IDENTIFIER=${org//-/_}_${repo//-/_}_${val1//[-\/]/_}_${val2//[-\/]/_}_${BUILDSPEC_NAME//-/_}
266+
IDENTIFIER_WITH_VAL=${IDENTIFIER}_${val1//[-\/]/_}_${val2//[-\/]/_}
225267
# TODO: revisit this to make it more dynamic if other projects need it in the future
226268
EXTRA_VARS=""
227269
if [[ "$IDENTIFIER" =~ "kubernetes_sigs_image_builder_bottlerocket" ]]; then
@@ -239,15 +281,17 @@ for project in "${PROJECTS[@]}"; do
239281
ARCH_TYPE="\"type\":\"ARM_CONTAINER\",\"compute-type\":\"$BUILDSPEC_COMPUTE_TYPE\","
240282
fi
241283
fi
242-
ALL_PROJECT_IDS+="\"$IDENTIFIER\","
284+
ALL_PROJECT_IDS+="\"$IDENTIFIER_WITH_VAL\","
285+
PREVIOUS_SPEC_IDENTIFIERS+="$IDENTIFIER_WITH_VAL "
243286
yq eval -i -P \
244-
".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}}}]" \
287+
".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}}}]" \
245288
$STAGING_BUILDSPEC_FILE
246289
done
247290
done
248291
fi
249292
else
250293
ALL_PROJECT_IDS+="\"$IDENTIFIER\","
294+
PREVIOUS_SPEC_IDENTIFIERS+="$IDENTIFIER "
251295
yq eval -i -P \
252296
".batch.build-graph += [{\"identifier\":\"$IDENTIFIER\",$buildspec_field$DEPEND_ON\"env\":{$ARCH_TYPE\"variables\":{\"PROJECT_PATH\": \"projects/$org/$repo\"$CLONE_URL}}}]" \
253297
$STAGING_BUILDSPEC_FILE
@@ -277,3 +321,5 @@ if [[ "${#PROJECTS[@]}" = "1" ]]; then
277321
yq -i 'del(.. | select(tag == "!!map" and length == 0))' $STAGING_BUILDSPEC_FILE
278322
yq -i 'del(.. | select(tag == "!!map" and length == 0))' $STAGING_BUILDSPEC_FILE
279323
fi
324+
325+
$SCRIPT_ROOT/validate_release_buildspecs.sh "$STAGING_BUILDSPEC_FILE"

build/lib/setup.sh

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ source "${SCRIPT_ROOT}/common.sh"
1010
source /docker.sh
1111

1212
CODEBUILD_CI="${CODEBUILD_CI:-false}"
13-
QEMU_INSTALLER_IMAGE="public.ecr.aws/eks-distro-build-tooling/binfmt-misc:qemu-v7.0.0"
13+
# QEMU_INSTALLER_IMAGE="public.ecr.aws/eks-distro-build-tooling/binfmt-misc:qemu-v7.0.0"
1414
GIT_CONFIG_SCOPE="--global"
1515
if [[ "$CODEBUILD_CI" = "true" ]] && [[ "$CODEBUILD_BUILD_ID" =~ "aws-staging-bundle-build" ]]; then
1616
GIT_CONFIG_SCOPE="--system"
@@ -36,12 +36,12 @@ update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy
3636
start::dockerd
3737
wait::for::dockerd
3838

39-
build::docker::retry_pull $QEMU_INSTALLER_IMAGE
39+
# build::docker::retry_pull $QEMU_INSTALLER_IMAGE
4040

41-
CURRENT_ARCH="$(uname -m)"
42-
if [[ "$CURRENT_ARCH" == "amd64" || "$CURRENT_ARCH" == "x86_64" ]]; then
43-
EMULATOR_ARCH="aarch64"
44-
elif [[ "$CURRENT_ARCH" == "arm64" || "$CURRENT_ARCH" == "aarch64" ]]; then
45-
EMULATOR_ARCH="amd64"
46-
fi
47-
docker run --privileged --rm $QEMU_INSTALLER_IMAGE --install $EMULATOR_ARCH
41+
# CURRENT_ARCH="$(uname -m)"
42+
# if [[ "$CURRENT_ARCH" == "amd64" || "$CURRENT_ARCH" == "x86_64" ]]; then
43+
# EMULATOR_ARCH="aarch64"
44+
# elif [[ "$CURRENT_ARCH" == "arm64" || "$CURRENT_ARCH" == "aarch64" ]]; then
45+
# EMULATOR_ARCH="amd64"
46+
# fi
47+
# docker run --privileged --rm $QEMU_INSTALLER_IMAGE --install $EMULATOR_ARCH

build/lib/validate_release_buildspecs.sh

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,12 @@ set -o nounset
1919
set -o pipefail
2020

2121
REPO_ROOT="$(git rev-parse --show-toplevel)"
22-
RELEASE_BUILDSPECS=("$REPO_ROOT/release/checksums-build.yml" "$REPO_ROOT/release/staging-build.yml" "$REPO_ROOT/tools/version-tracker/buildspecs/upgrade.yml")
2322

2423
VALIDATIONS_FAILED=0
25-
for buildspec in "${RELEASE_BUILDSPECS[@]}"; do
24+
for buildspec in "$@"; do
2625
echo "Validating builds count in build graph for buildspec - $buildspec"
2726
num_builds_in_batch=$(yq ".batch.build-graph | length" $buildspec)
28-
if [[ $num_builds_in_batch -ge 100 ]]; then
27+
if [[ $num_builds_in_batch -gt 100 ]]; then
2928
echo "Maximum allowed builds in batch is 100, current number of builds: $num_builds_in_batch"
3029
VALIDATIONS_FAILED=1
3130
INVALID_BUILDSPEC="true"
@@ -43,7 +42,8 @@ for buildspec in "${RELEASE_BUILDSPECS[@]}"; do
4342
VALIDATIONS_FAILED=1
4443
INVALID_BUILDSPEC="true"
4544
fi
46-
45+
46+
invalid_dependencies=()
4747
if [ "${#depends_on_list[@]}" -gt 0 ]; then
4848
echo "Validating identifiers in depend-on list are valid identifiers in build graph in the buildspec - $buildspec"
4949
invalid_dependencies=($(for dependency in ${depends_on_list[@]}; do

projects/aws/bottlerocket-bootstrap/Makefile

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,15 @@ REPO_OWNER=aws
66

77
BASE_IMAGE_NAME?=eks-distro-base
88

9+
# we need to set IMAGE_BUILD_ARGS here even though its the same as the default.
10+
# it is set in Common.mk on the images target (https://github.com/aws/eks-anywhere-build-tooling/blob/8b6d6d66974e881b22e3c9c8ea29adc26f7df5fd/Common.mk#L799)
11+
# and the combine-images target (https://github.com/aws/eks-anywhere-build-tooling/blob/8b6d6d66974e881b22e3c9c8ea29adc26f7df5fd/Common.mk#L846)
12+
# since combine-images has images as prereq target, the ?= does not really behavior as one might expect.
13+
# the images target being the actual action, its version of the set takes prioirty and resets to empty
14+
# setting it explicitly to empty here takes allows the combine-images override to take proirty
15+
IMAGE_BUILD_ARGS=
16+
DOCKERFILE_FOLDER=$(if $(filter bottlerocket-bootstrap-snow,$(IMAGE_NAME)),./docker/linux/snow,./docker/linux)
17+
918
IMAGE_NAMES=bottlerocket-bootstrap bottlerocket-bootstrap-snow
1019

1120
BOTTLEROCKET_BOOTSTRAP_IMAGE_COMPONENT=bottlerocket-bootstrap
@@ -19,8 +28,9 @@ GIT_TAG=v$(RELEASE_BRANCH)-$(shell yq e ".releases[] | select(.branch==\"${RELEA
1928

2029
HAS_RELEASE_BRANCHES=true
2130

22-
BUILDSPEC_VARS_KEYS=RELEASE_BRANCH
23-
BUILDSPEC_VARS_VALUES=SUPPORTED_K8S_VERSIONS
31+
BUILDSPECS=$(BUILDSPECS_FOR_COMBINE_IMAGES)
32+
BUILDSPEC_1_COMPUTE_TYPE=BUILD_GENERAL1_LARGE
33+
2434
EXCLUDE_FROM_UPGRADE_BUILDSPEC=true
2535

2636
# Go 1.18 and newer automatically embeds vcs information if the go module being built
@@ -81,8 +91,6 @@ $(TOOLS_BIN_DIR):
8191
$(MOCKGEN): $(TOOLS_BIN_DIR)
8292
GOBIN=$(TOOLS_BIN_DIR) $(GO) install github.com/golang/mock/[email protected]
8393

84-
bottlerocket-bootstrap-snow/images/%: DOCKERFILE_FOLDER=./docker/linux/snow
85-
8694
GIT_TAG:
8795
echo 0.0.0 > $@
8896

projects/aws/bottlerocket-bootstrap/buildspecs/batch-build.yml

Lines changed: 16 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -17,36 +17,30 @@
1717
batch:
1818
fast-fail: true
1919
build-graph:
20-
- identifier: aws_bottlerocket_bootstrap_1_27
20+
- identifier: aws_bottlerocket_bootstrap_linux_amd64
2121
env:
22-
type: ARM_CONTAINER
23-
compute-type: BUILD_GENERAL1_SMALL
24-
variables:
25-
RELEASE_BRANCH: 1-27
26-
- identifier: aws_bottlerocket_bootstrap_1_28
27-
env:
28-
type: ARM_CONTAINER
29-
compute-type: BUILD_GENERAL1_SMALL
22+
type: LINUX_CONTAINER
23+
compute-type: BUILD_GENERAL1_LARGE
3024
variables:
31-
RELEASE_BRANCH: 1-28
32-
- identifier: aws_bottlerocket_bootstrap_1_29
25+
IMAGE_PLATFORMS: linux/amd64
26+
BINARY_PLATFORMS: linux/amd64
27+
IMAGE_TAG_SUFFIX: -amd64
28+
- identifier: aws_bottlerocket_bootstrap_linux_arm64
3329
env:
3430
type: ARM_CONTAINER
35-
compute-type: BUILD_GENERAL1_SMALL
36-
variables:
37-
RELEASE_BRANCH: 1-29
38-
- identifier: aws_bottlerocket_bootstrap_1_30
39-
env:
40-
type: ARM_CONTAINER
41-
compute-type: BUILD_GENERAL1_SMALL
31+
compute-type: BUILD_GENERAL1_LARGE
4232
variables:
43-
RELEASE_BRANCH: 1-30
44-
- identifier: aws_bottlerocket_bootstrap_1_31
33+
IMAGE_PLATFORMS: linux/arm64
34+
BINARY_PLATFORMS: linux/arm64
35+
IMAGE_TAG_SUFFIX: -arm64
36+
- identifier: aws_bottlerocket_bootstrap_combine_images
37+
buildspec: buildspecs/combine-images.yml
38+
depend-on:
39+
- aws_bottlerocket_bootstrap_linux_amd64
40+
- aws_bottlerocket_bootstrap_linux_arm64
4541
env:
4642
type: ARM_CONTAINER
4743
compute-type: BUILD_GENERAL1_SMALL
48-
variables:
49-
RELEASE_BRANCH: 1-31
5044
version: 0.2
5145
phases:
5246
pre_build:

projects/aws/eks-anywhere-build-tooling/Makefile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,9 @@ REPO_NO_CLONE=true
2525

2626
EXCLUDE_FROM_CHECKSUMS_BUILDSPEC=true
2727
EXCLUDE_FROM_UPGRADE_BUILDSPEC=true
28+
# By default the kind combine-images build will be added to the dep list
29+
# to avoid waiting for that to finish, just wait on the binaries
30+
BUILDSPEC_DEPENDS_ON_OVERRIDE=fluxcd_flux2 kubernetes_sigs_cluster_api kubernetes_sigs_kind_binaries replicatedhq_troubleshoot vmware_govmomi helm_helm apache_cloudstack_cloudmonkey
2831

2932
include $(BASE_DIRECTORY)/Common.mk
3033

projects/aws/upgrader/Makefile

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,6 @@ GIT_TAG=v$(RELEASE_BRANCH)-$(shell yq e ".releases[] | select(.branch==\"${RELEA
88

99
HAS_RELEASE_BRANCHES=true
1010

11-
EXCLUDE_FROM_UPGRADE_BUILDSPEC=true
12-
# for the staging buildspec generation
13-
BUILDSPEC_DEPENDS_ON_OVERRIDE=containerd_containerd_linux_amd64 containerd_containerd_linux_arm64 kubernetes_sigs_cri_tools
14-
1511
# Go 1.18 and newer automatically embeds vcs information if the go module being built
1612
# belongs (upwards) to a git repo. In this case, that repo is the buildtooling repo,
1713
# which is problematic. Given these binaries are built from different banches,
@@ -33,14 +29,9 @@ GIT_CHECKOUT_TARGET=main.go
3329
FAKE_GIT_REPO_TARGET=.git
3430
REPO_NO_CLONE=true
3531

36-
37-
BUILDSPECS=buildspec.yml buildspecs/combine-images.yml
32+
BUILDSPECS=$(BUILDSPECS_FOR_COMBINE_IMAGES)
3833
BUILDSPEC_1_COMPUTE_TYPE=BUILD_GENERAL1_LARGE
39-
BUILDSPEC_1_VARS_KEYS=IMAGE_PLATFORMS
40-
BUILDSPEC_1_VARS_VALUES=IMAGE_PLATFORMS
41-
BUILDSPEC_1_ARCH_TYPES=LINUX_CONTAINER ARM_CONTAINER
42-
BUILDSPEC_2_DEPENDS_ON_OVERRIDE=aws_upgrader_linux_amd64 aws_upgrader_linux_arm64
43-
34+
EXCLUDE_FROM_UPGRADE_BUILDSPEC=true
4435

4536
BASE_IMAGE_NAME=eks-distro-minimal-base-nsenter
4637
IMAGE_NAMES=upgrader

0 commit comments

Comments
 (0)