Bump version to 0.14.2025020701 #37
This file contains 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: Build and Deploy Production Zero-Cache AWS SST | |
on: | |
push: | |
branches: [main] | |
env: | |
# Setting an environment variable with the value of a configuration variable | |
ECR_IMAGE_ZERO_CACHE: zero-zbugs | |
AWS_DEFAULT_REGION: ${{ vars.AWS_DEFAULT_REGION }} | |
jobs: | |
deploy: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v3 | |
- name: Set up Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 20 | |
cache: 'npm' | |
- 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: ${{ vars.AWS_DEFAULT_REGION }} | |
- name: Set up QEMU for amd64 | |
run: | | |
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes | |
if: runner.os == 'Linux' | |
- name: Set up Docker for amd64 | |
uses: docker/setup-qemu-action@v2 | |
with: | |
platforms: linux/amd64 | |
- name: Set up Docker | |
uses: docker/setup-buildx-action@v3 | |
- name: Login to Amazon ECR | |
run: | | |
aws ecr get-login-password --region $AWS_DEFAULT_REGION | docker login --username AWS --password-stdin ${{ secrets.AWS_ACCOUNT_ID }}.dkr.ecr.$AWS_DEFAULT_REGION.amazonaws.com | |
- name: Install dependencies | |
run: | | |
npm run build-ci | |
- name: Create package tarball | |
run: | | |
cd packages/zero | |
npm pack | |
cp rocicorp-zero-*.tgz ./pkgs/ | |
- name: Get Git SHA | |
id: git-sha | |
run: echo "SHA=$(git rev-parse --short HEAD)" >> $GITHUB_ENV | |
- name: Build and push Docker image | |
run: | | |
cd packages/zero | |
docker buildx create --use | |
docker buildx inspect --bootstrap | |
docker buildx build --platform linux/amd64 --build-arg ZERO_VERSION=rocicorp-zero-*.tgz -t ${{ secrets.AWS_ACCOUNT_ID }}.dkr.ecr.$AWS_DEFAULT_REGION.amazonaws.com/$ECR_IMAGE_ZERO_CACHE:${{ env.SHA }} -f ./Dockerfile --push . | |
- name: Generate Schema | |
run: | | |
cd packages/zero | |
npx tsx src/build-schema.ts --schema-path ../../apps/zbugs/schema.ts --schema-output ../../prod/sst/zero-schema.json | |
- name: Deploy SST app | |
env: | |
ZERO_UPSTREAM_DB: ${{ secrets.PROD_ZERO_UPSTREAM_DB }} | |
ZERO_CVR_DB: ${{ secrets.PROD_ZERO_CVR_DB }} | |
ZERO_CHANGE_DB: ${{ secrets.PROD_ZERO_CHANGE_DB }} | |
ZERO_AUTH_SECRET: ${{ secrets.PROD_ZERO_JWT_SECRET }} | |
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} | |
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
AWS_REGION: ${{ vars.AWS_DEFAULT_REGION }} | |
AWS_ACCOUNT_ID: ${{ secrets.AWS_ACCOUNT_ID }} | |
ZERO_IMAGE_URL: ${{ secrets.AWS_ACCOUNT_ID }}.dkr.ecr.${{ vars.AWS_DEFAULT_REGION }}.amazonaws.com/${{ env.ECR_IMAGE_ZERO_CACHE }}:${{ env.SHA }} | |
DOMAIN_NAME: "zbugs-sync.rocicorp.dev" | |
DOMAIN_CERT: ${{ vars.PROD_CERTIFICATE_ARN }} | |
run: | | |
cd prod/sst | |
npm install | |
npx sst deploy --stage production |