Skip to content

Commit 4e2d354

Browse files
Merge pull request #4 from ajeetchaulagain/add-github-actions-deployment
Add github actions deployment workflow
2 parents 7056ab7 + 93dc2c6 commit 4e2d354

4 files changed

Lines changed: 50 additions & 4 deletions

File tree

.github/workflows/deploy.yml

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
name: Deploy
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
jobs:
8+
deploy:
9+
runs-on: ubuntu-latest
10+
11+
steps:
12+
- name: Checkout
13+
uses: actions/checkout@v4.2.2
14+
15+
- name: Set up Node.js
16+
uses: actions/setup-node@v4.4.0
17+
with:
18+
node-version: 24
19+
cache: 'npm'
20+
21+
- name: Install dependencies
22+
run: npm ci
23+
24+
- name: Build application
25+
run: npm run build
26+
27+
- name: Build Lambda layer
28+
run: npm run build:lambda-layer
29+
30+
- name: Configure AWS credentials
31+
uses: aws-actions/configure-aws-credentials@v4.1.0
32+
with:
33+
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
34+
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
35+
aws-region: ${{ vars.AWS_REGION }}
36+
37+
- name: Install CDK dependencies
38+
run: npm ci
39+
working-directory: infra
40+
41+
- name: Deploy CDK Stack
42+
run: npx cdk deploy --require-approval never
43+
working-directory: infra

infra/lib/infra-stack.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,12 @@ export class InfraStack extends cdk.Stack {
1111

1212
const nodeModulesLayer = new lambda.LayerVersion(this, 'NodeModulesLayer', {
1313
code: lambda.Code.fromAsset(path.join(__dirname, '../../layer')),
14-
compatibleRuntimes: [lambda.Runtime.NODEJS_20_X],
14+
compatibleRuntimes: [lambda.Runtime.NODEJS_24_X],
1515
description: 'Production node_modules for NestJS Lambda',
1616
});
1717

1818
const nestApiLambda = new lambda.Function(this, 'NestApiLambdaFunction', {
19-
runtime: lambda.Runtime.NODEJS_20_X,
19+
runtime: lambda.Runtime.NODEJS_24_X,
2020
handler: 'src/lambda.handler',
2121
code: lambda.Code.fromAsset(path.join(__dirname, '../../dist'), {
2222
exclude: ['infra', 'tsconfig*'],

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
"test:cov": "jest --coverage",
1919
"test:debug": "node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand",
2020
"test:e2e": "jest --config ./test/jest-e2e.json",
21-
"build:lambda-layer": "cp package.json package-lock.json layer/nodejs/ && npm ci --prefix layer/nodejs --omit=dev && rm layer/nodejs/package.json layer/nodejs/package-lock.json"
21+
"build:lambda-layer": "mkdir -p layer/nodejs && cp package.json package-lock.json layer/nodejs/ && npm ci --prefix layer/nodejs --omit=dev && rm layer/nodejs/package.json layer/nodejs/package-lock.json"
2222
},
2323
"dependencies": {
2424
"@codegenie/serverless-express": "^4.17.1",

tsconfig.build.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
11
{
22
"extends": "./tsconfig.json",
3-
"exclude": ["node_modules", "test", "dist", "**/*spec.ts"]
3+
"compilerOptions": {
4+
"rootDir": "./"
5+
},
6+
"exclude": ["node_modules", "test", "dist", "infra", "**/*spec.ts"]
47
}

0 commit comments

Comments
 (0)