Skip to content

Deploy a CDK stack with OIDC #61

Deploy a CDK stack with OIDC

Deploy a CDK stack with OIDC #61

Workflow file for this run

name: Deploy a CDK stack with OIDC
on:
workflow_dispatch:
inputs:
environment:
description: "AWS environment to deploy to"
type: choice
required: true
default: "dev"
options:
- dev
pull_request:
types:
- closed
branches:
- main
paths:
- 'lib/**'
- 'bin/**'
permissions:
id-token: write
contents: read
# concurrency:
# cancel-in-progress: true
jobs:
deploy:
runs-on: ubuntu-latest
strategy:
matrix:
env: [dev]
environment: ${{ github.event.inputs.environment || matrix.env }}
if: github.event.pull_request.merged == true || ( github.event_name == 'workflow_dispatch' && contains('["sghost13"]', github.actor) )
steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: "18"
- name: Cache Node.js dependencies
id: cache
uses: actions/cache@v4
with:
path: ./node_modules
key: ${{ runner.os }}-node-${{ hashFiles('./package-lock.json') }}
- name: Install CDK Dependencies
working-directory: ./
run: npm ci
if: steps.cache.outputs.cache-hit != 'true'
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v4
with:
role-to-assume: "arn:aws:iam::${{ secrets.AWS_ACCOUNT_ID }}:role/GithubActions"
aws-region: ${{ secrets.AWS_REGION }}
- name: Deploy CDK
run: |
npx cdk deploy --all --require-approval never