Skip to content

ci(release): disable aws-cli default checksums for R2 uploads - #25

Merged
andrescera merged 1 commit into
mainfrom
fix/r2-checksum-defaults
Jun 12, 2026
Merged

ci(release): disable aws-cli default checksums for R2 uploads#25
andrescera merged 1 commit into
mainfrom
fix/r2-checksum-defaults

Conversation

@andrescera

Copy link
Copy Markdown
Member

What

Add AWS_REQUEST_CHECKSUM_CALCULATION=when_required and AWS_RESPONSE_CHECKSUM_VALIDATION=when_required to the Upload to R2 step.

Why

The runner ships aws-cli/2.34.63. Since aws-cli 2.23 the client adds CRC32/CRC64NVME integrity checksums to requests by default; Cloudflare R2 does not implement them and rejects the PutObject calls that aws s3 cp issues (Cloudflare incident, Jan 2025). These env vars are the AWS/Cloudflare-documented remediation. Complements #22, which fixed the ListObjectsV2 NoSuchKey by switching synccp --recursive.

How to verify

Dispatch Publish Release (release_type=stable); the Sign and Publish to R2 job completes Upload to R2 and Create GitHub Release.

Risks

None — the env vars only relax client-side integrity headers that R2 rejects; behavior when R2 supports checksums is unchanged.

The runner's preinstalled aws-cli (2.34.63) enables CRC32/CRC64NVME request
checksums by default (aws-cli >= 2.23). Cloudflare R2 does not implement them
and rejects the PutObject calls that `aws s3 cp` issues. Set
AWS_REQUEST_CHECKSUM_CALCULATION / AWS_RESPONSE_CHECKSUM_VALIDATION to
when_required (the AWS/Cloudflare-documented remediation) so the R2 uploads
in the Sign-and-Publish job succeed.

Complements #22 (cp --recursive), which fixed the ListObjectsV2 NoSuchKey on
the destination-listing path.

How to verify: dispatch Publish Release (stable); Upload to R2 and Create
GitHub Release both complete.
@andrescera
andrescera merged commit 9b0b4fa into main Jun 12, 2026
4 checks passed
@andrescera
andrescera deleted the fix/r2-checksum-defaults branch June 12, 2026 11:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant