Update deploy.yml #20
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Deploy AWS Lambda with Serverless | |
| on: | |
| push: | |
| branches: | |
| - main | |
| jobs: | |
| deploy: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v2 | |
| - name: Set up Node.js | |
| uses: actions/setup-node@v3 | |
| with: | |
| node-version: 18 | |
| - name: Install npm dependencies | |
| run: npm install | |
| - name: Configure AWS Credentials | |
| uses: aws-actions/configure-aws-credentials@v2 | |
| with: | |
| aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} | |
| aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
| aws-region: ${{ secrets.AWS_REGION }} | |
| - name: Compile TypeScript | |
| run: npm run build | |
| - name: Run ESLint to check code quality | |
| run: npm run lint | |
| - name: Run Jest tests | |
| run: npm test | |
| - name: Remove old node-modules | |
| run: rm -rf node_modules | |
| - name: Install Serverless Framework | |
| run: | | |
| npm install -g [email protected] | |
| serverless --version # Debugging: Check installed version | |
| - name: Installing the prune Plugin | |
| run: npm install serverless-prune-plugin | |
| - name: Install Only Production Related Dependencies | |
| run: npm ci --omit=dev | |
| - name: Create .env file | |
| run: | | |
| echo "MONGO_URI=${{ secrets.MONGO_URI }}" >> .env | |
| echo "SERVERLESS_ACCESS_KEY=${{ secrets.SERVERLESS_ACCESS_KEY }}" >> .env | |
| echo "MONGO_URI is set to $MONGO_URI" # Debugging: Print the MONGO_URI value | |
| cat .env # Show file contents | |
| - name: Deploy with Serverless | |
| env: | |
| MONGO_URI: ${{ secrets.MONGO_URI }} | |
| SERVERLESS_ACCESS_KEY: ${{ secrets.SERVERLESS_ACCESS_KEY }} | |
| run: serverless deploy --verbose |