Skip to content

fix: buid error again #14

fix: buid error again

fix: buid error again #14

Workflow file for this run

# name: Deploy to AWS Lambda
# on:
# push:
# branches:
# - main
# jobs:
# deploy:
# runs-on: ubuntu-latest
# env:
# AWS_REGION: ap-south-1
# AWS_ACCOUNT_ID: 200077350985
# REPO_NAME: ootsav-lambda-backend
# IMAGE_TAG: latest
# FUNCTION_NAME: ootsav-backend
# ROLE_ARN: arn:aws:iam::200077350985:role/lambda-basic-execution-role
# NODE_ENV: production
# DATABASE_URL: ${{ secrets.DATABASE_URL }}
# DIRECT_URL: ${{ secrets.DIRECT_URL }}
# TWILIO_ACCOUNT_SID: ${{ secrets.TWILIO_ACCOUNT_SID }}
# TWILIO_AUTH_TOKEN: ${{ secrets.TWILIO_AUTH_TOKEN }}
# TWILIO_VERIFY_SERVICE_SID: ${{ secrets.TWILIO_VERIFY_SERVICE_SID }}
# JWT_SECRET: ${{ secrets.JWT_SECRET }}
# SUPABASE_URL: ${{ secrets.SUPABASE_URL }}
# SUPABASE_KEY: ${{ secrets.SUPABASE_KEY }}
# steps:
# - name: Checkout code
# uses: actions/checkout@v4
# - name: Set up Node.js
# uses: actions/setup-node@v4
# with:
# node-version: 22
# cache: 'npm'
# - name: Install dependencies
# run: npm ci --include=dev
# - name: Check Prisma schema
# run: npx prisma validate
# - name: Generate Prisma client
# run: npx prisma generate
# - name: Build TypeScript
# env:
# NODE_ENV: ${{ env.NODE_ENV }}
# DATABASE_URL: ${{ secrets.DATABASE_URL }}
# DIRECT_URL: ${{ secrets.DIRECT_URL }}
# TWILIO_ACCOUNT_SID: ${{ secrets.TWILIO_ACCOUNT_SID }}
# TWILIO_AUTH_TOKEN: ${{ secrets.TWILIO_AUTH_TOKEN }}
# TWILIO_VERIFY_SERVICE_SID: ${{ secrets.TWILIO_VERIFY_SERVICE_SID }}
# JWT_SECRET: ${{ secrets.JWT_SECRET }}
# SUPABASE_URL: ${{ secrets.SUPABASE_URL }}
# SUPABASE_KEY: ${{ secrets.SUPABASE_KEY }}
# run: npx tsc --skipLibCheck
# - name: Set up Docker Buildx
# uses: docker/setup-buildx-action@v3
# - 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: ${{ env.AWS_REGION }}
# - name: Login to Amazon ECR
# run: |
# aws ecr get-login-password --region $AWS_REGION \
# | docker login --username AWS --password-stdin ${AWS_ACCOUNT_ID}.dkr.ecr.${AWS_REGION}.amazonaws.com
# - name: Create ECR repo if needed
# run: |
# aws ecr describe-repositories --repository-names $REPO_NAME \
# || aws ecr create-repository --repository-name $REPO_NAME
# - name: Build Docker image
# run: |
# docker build -t $REPO_NAME .
# docker tag $REPO_NAME:$IMAGE_TAG ${AWS_ACCOUNT_ID}.dkr.ecr.${AWS_REGION}.amazonaws.com/$REPO_NAME:$IMAGE_TAG
# - name: Push image to ECR
# run: |
# docker push ${AWS_ACCOUNT_ID}.dkr.ecr.${AWS_REGION}.amazonaws.com/$REPO_NAME:$IMAGE_TAG
# - name: Deploy Lambda function
# run: |
# set -e
# ENV_VARS="NODE_ENV=$NODE_ENV,DATABASE_URL=$DATABASE_URL,DIRECT_URL=$DIRECT_URL,TWILIO_ACCOUNT_SID=$TWILIO_ACCOUNT_SID,TWILIO_AUTH_TOKEN=$TWILIO_AUTH_TOKEN,TWILIO_VERIFY_SERVICE_SID=$TWILIO_VERIFY_SERVICE_SID,JWT_SECRET=$JWT_SECRET",SUPABASE_KEY=$SUPABASE_KEY,SUPABASE_URL=$SUPABASE_URL, AWS_LAMBDA_NODEJS_DISABLE_CALLBACK_WARNING=1
# if aws lambda get-function --function-name $FUNCTION_NAME; then
# echo "Updating function code..."
# aws lambda update-function-code \
# --function-name $FUNCTION_NAME \
# --image-uri ${AWS_ACCOUNT_ID}.dkr.ecr.${AWS_REGION}.amazonaws.com/$REPO_NAME:$IMAGE_TAG
# echo "Waiting for function update to complete..."
# aws lambda wait function-updated --function-name $FUNCTION_NAME
# echo "Updating function configuration..."
# aws lambda update-function-configuration \
# --function-name $FUNCTION_NAME \
# --environment Variables="{$ENV_VARS}"
# else
# echo "Creating new Lambda function..."
# aws lambda create-function \
# --function-name $FUNCTION_NAME \
# --package-type Image \
# --code ImageUri=${AWS_ACCOUNT_ID}.dkr.ecr.${AWS_REGION}.amazonaws.com/$REPO_NAME:$IMAGE_TAG \
# --role $ROLE_ARN \
# --environment Variables="{$ENV_VARS}"
# fi
# - name: Ensure Lambda URL exists
# run: |
# aws lambda get-function-url-config --function-name $FUNCTION_NAME \
# || aws lambda create-function-url-config \
# --function-name $FUNCTION_NAME \
# --auth-type NONE
# - name: Ensure public permission
# run: |
# aws lambda add-permission \
# --function-name $FUNCTION_NAME \
# --action lambda:InvokeFunctionUrl \
# --principal "*" \
# --function-url-auth-type NONE \
# --statement-id function-url-public-access \
# || echo "Permission already set"