cdkinfracode/.github/workflows/deploy.yml

49 lines
1.3 KiB
YAML

name: Deploy AWS CDK Stack
on:
push:
branches:
- main
permissions:
id-token: write # Required for OIDC role assumption
contents: read
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: '22'
cache: 'npm'
cache-dependency-path: 'aws_cdk/package-lock.json'
- name: Install dependencies
run: |
cd aws_cdk
npm ci
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v4
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: ${{ secrets.AWS_REGION || 'ap-south-1' }}
- name: Bootstrap CDK Environment
run: |
cd aws_cdk
npx cdk bootstrap aws://${{ secrets.AWS_ACCOUNT_ID }}/${{ secrets.AWS_REGION || 'ap-south-1' }}
- name: Deploy CDK Stack
run: |
cd aws_cdk
npx cdk deploy --require-approval never
env:
CDK_DEFAULT_ACCOUNT: ${{ secrets.AWS_ACCOUNT_ID }}
CDK_DEFAULT_REGION: ${{ secrets.AWS_REGION || 'ap-south-1' }}