<!-- json
{
  "sourceId": "core-aws-lambda-package-and-deploy",
  "repositoryId": "travetto",
  "filePath": "module/llm-support/resources/snippets/code/aws-lambda-package-and-deploy.yml.tpl",
  "capabilityTags": ["aws", "lambda", "packaging", "deploy"],
  "operationIds": ["aws-lambda-package-and-deploy"],
  "applicability": ["framework-native"],
  "notes": [
    "Package and deploy Lambda artifacts through CI with explicit environment controls."
  ]
}
-->

# core-aws-lambda-package-and-deploy

- Source: `module/llm-support/resources/snippets/code/aws-lambda-package-and-deploy.yml.tpl`
- Capability tags: aws, lambda, packaging, deploy
- Applicability: framework-native
- Notes:
  - Package and deploy Lambda artifacts through CI with explicit environment controls.

## Reference Code

```
name: lambda-deploy

on:
  push:
    branches: [main]
  workflow_dispatch:
    inputs:
      environment:
        description: Deployment environment
        required: true
        default: dev

jobs:
  package:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: 20
      - run: npm ci
      - run: npx trv pack:lambda --output dist/lambda
      - uses: actions/upload-artifact@v4
        with:
          name: lambda-package
          path: dist/lambda

  deploy:
    needs: package
    runs-on: ubuntu-latest
    steps:
      - uses: actions/download-artifact@v4
        with:
          name: lambda-package
          path: dist/lambda
      - run: echo "Deploy dist/lambda to AWS Lambda for ${{ inputs.environment }}"
```
