Skip to content

Commit 9ae31c9

Browse files
Aleksandr Slapoguzovclaude
andcommitted
feat: deploy releases to S3 CDN
Add deploy-to-s3 job that uploads release binaries to: - s3://download-prod-cdn.jetbrains.com/resources/acp/{version}/ - s3://download-prod-cdn.jetbrains.com/resources/acp/latest/ Uses AWS OIDC authentication with resources-codex-acp-deployer role. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1 parent 9d6ced3 commit 9ae31c9

1 file changed

Lines changed: 75 additions & 0 deletions

File tree

.github/workflows/release.yml

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,3 +123,78 @@ jobs:
123123
dist/bin/codex-acp-arm64-darwin.zip
124124
dist/bin/codex-acp-x64-windows.zip
125125
generate_release_notes: true
126+
127+
- name: Upload release artifacts
128+
uses: actions/upload-artifact@v4
129+
with:
130+
name: release-binaries
131+
path: dist/bin/*.zip
132+
retention-days: 1
133+
134+
deploy-to-s3:
135+
name: Deploy to S3
136+
needs: build-and-release
137+
runs-on: ubuntu-latest
138+
permissions:
139+
id-token: write
140+
contents: read
141+
142+
steps:
143+
- name: Download release artifacts
144+
uses: actions/download-artifact@v4
145+
with:
146+
name: release-binaries
147+
path: release-assets
148+
149+
- name: List downloaded artifacts
150+
run: |
151+
echo "Downloaded artifacts:"
152+
ls -lh release-assets/
153+
154+
- name: Configure AWS credentials
155+
uses: aws-actions/configure-aws-credentials@v5
156+
with:
157+
role-to-assume: arn:aws:iam::379565177229:role/resources-codex-acp-deployer
158+
role-session-name: GitHub_to_AWS_via_FederatedOIDC
159+
aws-region: eu-west-1
160+
161+
- name: Upload to S3
162+
run: |
163+
VERSION="${GITHUB_REF_NAME#v}"
164+
S3_PATH="s3://download-prod-cdn.jetbrains.com/resources/acp/${VERSION}/"
165+
LATEST_PATH="s3://download-prod-cdn.jetbrains.com/resources/acp/latest/"
166+
167+
echo "Uploading version: $VERSION"
168+
echo "Destinations:"
169+
echo " - ${S3_PATH}"
170+
echo " - ${LATEST_PATH}"
171+
172+
# Upload to versioned path
173+
echo ""
174+
echo "Uploading to versioned path..."
175+
aws s3 cp release-assets/ "${S3_PATH}" --recursive \
176+
--cache-control "max-age=31536000, public"
177+
178+
# Upload to latest path
179+
echo ""
180+
echo "Uploading to latest path..."
181+
aws s3 cp release-assets/ "${LATEST_PATH}" --recursive \
182+
--cache-control "max-age=300, public"
183+
184+
BASE_URL="https://download.jetbrains.com/resources/acp"
185+
186+
echo ""
187+
echo "Artifacts uploaded to S3"
188+
echo ""
189+
echo "Download URLs (versioned):"
190+
for file in release-assets/*.zip; do
191+
filename=$(basename "$file")
192+
echo " ${BASE_URL}/${VERSION}/${filename}"
193+
done
194+
195+
echo ""
196+
echo "Download URLs (latest):"
197+
for file in release-assets/*.zip; do
198+
filename=$(basename "$file")
199+
echo " ${BASE_URL}/latest/${filename}"
200+
done

0 commit comments

Comments
 (0)