Repository navigation
Migrate from the localstack CLI to lstk #218
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 on LocalStack | |
| on: | |
| push: | |
| paths-ignore: | |
| - 'README.md' | |
| branches: | |
| - main | |
| pull_request: | |
| branches: | |
| - main | |
| schedule: | |
| # “At 00:00 on Sunday.” | |
| - cron: "0 0 * * 0" | |
| workflow_dispatch: | |
| jobs: | |
| cdk: | |
| name: Setup infrastructure using CDK | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: 18 | |
| - name: Install lstk | |
| run: npm install -g @localstack/lstk | |
| - name: Start LocalStack | |
| env: | |
| LOCALSTACK_AUTH_TOKEN: ${{ secrets.LOCALSTACK_AUTH_TOKEN }} | |
| LOCALSTACK_DNS_ADDRESS: "0" | |
| LOCALSTACK_DEBUG: "1" | |
| run: lstk start | |
| - name: Install CDK | |
| run: | | |
| npm install -g aws-cdk | |
| lstk cdk --version | |
| - name: Install dependencies | |
| run: yarn | |
| - name: Prepare Lambda functions | |
| run: yarn build:backend | |
| - name: Bootstrap the infrastructure | |
| run: | | |
| yarn cdklocal bootstrap | |
| sleep 10 | |
| - name: Deploy the infrastructure | |
| uses: nick-fields/retry@v2 | |
| with: | |
| max_attempts: 3 | |
| retry_on: error | |
| timeout_seconds: 120 | |
| retry_wait_seconds: 10 | |
| command: | | |
| yarn cdklocal deploy | |
| - name: Send a Slack notification | |
| if: failure() || github.event_name != 'pull_request' | |
| uses: ravsamhq/notify-slack-action@v2 | |
| with: | |
| status: ${{ job.status }} | |
| token: ${{ secrets.GITHUB_TOKEN }} | |
| notification_title: "{workflow} has {status_message}" | |
| message_format: "{emoji} *{workflow}* {status_message} in <{repo_url}|{repo}>" | |
| footer: "Linked Repo <{repo_url}|{repo}> | <{run_url}|View Workflow run>" | |
| notify_when: "failure" | |
| env: | |
| SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} | |
| - name: Generate a Diagnostic Report | |
| if: failure() | |
| run: | | |
| curl -s localhost:4566/_localstack/diagnose | gzip -cf > diagnose.json.gz | |
| - name: Upload the Diagnostic Report | |
| if: failure() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: diagnose.json.gz | |
| path: ./diagnose.json.gz |