Rename eslint.config.mjs to eslint.config.cjs #135
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 # Adjust for your deployment branch | |
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: Run ESLint to check code quality | |
run: npx eslint . # Stops the deployment if there are linting errors | |
- name: Install only production dependencies | |
run: npm ci --only=production # Only production dependencies are deployed | |
- name: Install Serverless Framework | |
run: | | |
npm install -g serverless@3.40.0 | |
serverless --version # Debugging: Check installed version | |
- name: Installing the prune Plugin | |
run: npm install serverless-prune-plugin | |
- 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 |