From 3ed49879c8b138df83e923083b0308eec8c3a704 Mon Sep 17 00:00:00 2001 From: "Adam Perry @ OpenAI" Date: Thu, 17 Sep 2026 18:40:56 +0000 Subject: [PATCH] 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 --- .github/workflows/r2-release.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/r2-release.yml b/.github/workflows/r2-release.yml index 96a07685cf..6a35514cb5 100644 --- a/.github/workflows/r2-release.yml +++ b/.github/workflows/r2-release.yml @@ -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}" \