Reduce R2 release upload concurrency and enable standard retries (#46278)

## Why

The release publisher uploads objects in parallel. Serializing transfers within each object avoids additional concurrency that can trigger R2 throttling.

## What changed

Configure the AWS CLI to use the `classic` S3 transfer client with `max_concurrent_requests` set to `1`. Enable `standard` retry mode with a maximum of six attempts for R2 release publishing.

GitOrigin-RevId: a029341e37ea36cfd077d13ff929963e3f697542
This commit is contained in:
Adam Perry @ OpenAI
2026-09-17 18:40:56 +00:00
committed by copyberry
parent 8b78600dc8
commit 3ed49879c8

View File

@@ -39,6 +39,8 @@ jobs:
AWS_SECRET_ACCESS_KEY: ${{ secrets.CODEX_R2_SECRET_ACCESS_KEY }}
AWS_ENDPOINT_URL: ${{ vars.CODEX_R2_ENDPOINT_URL }}
AWS_REGION: ${{ vars.CODEX_R2_REGION }}
AWS_RETRY_MODE: standard
AWS_MAX_ATTEMPTS: "6"
GH_TOKEN: ${{ github.token }}
RELEASE_TAG: ${{ inputs.tag }}
RELEASE_MAKE_LATEST: ${{ inputs.make_latest }}
@@ -46,6 +48,9 @@ jobs:
RELEASE_STAGE: ${{ inputs.stage }}
run: |
set -euo pipefail
# The publisher parallelizes objects; serialize parts within each object to avoid R2 throttling.
aws configure set default.s3.preferred_transfer_client classic
aws configure set default.s3.max_concurrent_requests 1
python3 .github/scripts/publish_r2_release.py \
--tag "${RELEASE_TAG}" \
--make-latest "${RELEASE_MAKE_LATEST}" \