Skip to content

Commit 0a67659

Browse files
Update cd.yml to use OIDC for AWS authentication
Switch from static AWS access keys to GitHub OIDC-based authentication, matching the changes already made to staging-cd.yml. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 4225365 commit 0a67659

1 file changed

Lines changed: 15 additions & 4 deletions

File tree

.github/workflows/cd.yml

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,10 @@ on:
33
push:
44
branches:
55
- "main"
6+
permissions:
7+
id-token: write
8+
contents: read
9+
610
jobs:
711
Deploy:
812
runs-on: ubuntu-latest
@@ -25,6 +29,8 @@ jobs:
2529
run: |
2630
rm -rf .env
2731
touch .env
32+
echo AWS_ROLE_ARN=${{ secrets.WEBSITE_AWS_GITHUB_OIDC_ROLE_ARN }} >> .env
33+
echo AWS_DEFAULT_REGION=us-east-1 >> .env
2834
echo BUCKET_NAME=${{ secrets.BUCKET_NAME }} >> .env
2935
echo HOST_NAME=${{ secrets.HOST_NAME }} >> .env
3036
echo ASSET_HOST=${{ secrets.ASSET_HOST }} >> .env
@@ -39,14 +45,19 @@ jobs:
3945
echo TYPESENSE_API_KEY=${{ secrets.TYPESENSE_API_KEY }} >> .env
4046
echo TYPESENSE_SEARCH_API_KEY=${{ secrets.TYPESENSE_SEARCH_API_KEY }} >> .env
4147
cat .env
48+
49+
- name: Configure AWS Credentials
50+
uses: aws-actions/configure-aws-credentials@v4
51+
with:
52+
role-to-assume: ${{ secrets.WEBSITE_AWS_GITHUB_OIDC_ROLE_ARN }}
53+
role-session-name: GitHub_to_AWS_via_FederatedOIDC
54+
aws-region: 'us-east-1'
55+
audience: sts.amazonaws.com
56+
4257
- name: Build
4358
run: |
4459
PREFIX_PATHS=true npm run build && npm run deploy
4560
env:
46-
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
47-
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
48-
AWS_DEFAULT_REGION: "us-east-1"
49-
AWS_DEFAULT_OUTPUT: json
5061
TYPESENSE_HOST: ${{ secrets.TYPESENSE_HOST }}
5162
TYPESENSE_PORT: ${{ secrets.TYPESENSE_PORT }}
5263
TYPESENSE_PROTOCOL: ${{ secrets.TYPESENSE_PROTOCOL }}

0 commit comments

Comments
 (0)