Skip to content

Commit a34e583

Browse files
committed
releng: workaround awscli breaking garage by changing checksum algo
CHERRY-PICK: required to release We use https://garagehq.deuxfleurs.fr for https://docs.lix.systems, https://releases.lix.systems, https://cache.lix.systems. It's generally great, but AWS doesn't, erm, care, about other implementations and broke their client library. We already ran into https://git.deuxfleurs.fr/Deuxfleurs/garage/issues/824, which was mitigated by a garage upgrade to create a new error. These bugs were what got us: - boto/boto3#4392 - aws/aws-cli#9214 Error: upload failed: release/manual/.nojekyll to s3://docs/manual/lix/nightly/.nojekyll An error occurred (InvalidRequest) when calling the PutObject operation: Bad request: invalid checksum algorithm The missing checksum algorithm is CRC32NVME, with a bug filed here: https://git.deuxfleurs.fr/Deuxfleurs/garage/issues/963 Change-Id: Ib78a89034bf0f2a6773fc505a347b2aadb775e93 (cherry picked from commit 0f4c5b3)
1 parent a8fb008 commit a34e583

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

releng/create_release.xsh

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,9 @@ RELENG_MSG = "Release created with releng/create_release.xsh"
3232
BUILD_CORES = 16
3333
MAX_JOBS = 2
3434

35+
# Workaround for bug in garage: https://git.deuxfleurs.fr/Deuxfleurs/garage/issues/963
36+
S3_ARGS = ['--checksum-algorithm=SHA256']
37+
3538

3639
def setup_creds(env: RelengEnvironment):
3740
key = keys.get_ephemeral_key(env)
@@ -237,7 +240,7 @@ def upload_artifacts(env: RelengEnvironment, noconfirm=False, no_check_git=False
237240
docker.upload_docker_images(target, docker_images)
238241

239242
print('[+] Upload to release bucket')
240-
aws s3 cp --recursive @(ARTIFACTS)/ @(env.releases_bucket)/
243+
aws s3 cp @(S3_ARGS) --recursive @(ARTIFACTS)/ @(env.releases_bucket)/
241244
print('[+] Upload manual')
242245
upload_manual(env)
243246

@@ -284,9 +287,9 @@ def upload_manual(env: RelengEnvironment):
284287
version = 'nightly'
285288

286289
print('[+] aws s3 sync manual')
287-
aws s3 sync --delete @(MANUAL)/ @(env.docs_bucket)/manual/lix/@(version)/
290+
aws s3 sync @(S3_ARGS) --delete @(MANUAL)/ @(env.docs_bucket)/manual/lix/@(version)/
288291
if OFFICIAL_RELEASE:
289-
aws s3 sync --delete @(MANUAL)/ @(env.docs_bucket)/manual/lix/stable/
292+
aws s3 sync @(S3_ARGS) --delete @(MANUAL)/ @(env.docs_bucket)/manual/lix/stable/
290293

291294

292295
def build_artifacts(build_profile, no_check_git=False):

0 commit comments

Comments
 (0)