Skip to content

Suppor comission fee env var #1

Suppor comission fee env var

Suppor comission fee env var #1

Workflow file for this run

name: Deployment
on:
push:
branches:
- master
- production
env:
CURRENT_BRANCH: ${{ github.ref_name == 'production' && 'production' || 'master' }}
CWI_NPM_TOKEN: ${{ secrets.CWI_NPM_TOKEN }}
GCR_HOST: us.gcr.io
GOOGLE_PROJECT_ID: babbage-private
# Updated image name to "web-server"
GCR_IMAGE_NAME: web-server
jobs:
build:
name: Deploy
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v2
- name: Setup Node.js
uses: actions/setup-node@v3
with:
node-version: 22
- name: Install Dependencies
run: npm ci
- name: Push Docker Image to GCR
uses: RafikFarhad/[email protected]
with:
gcloud_service_key: ${{ secrets.DOCKER_REGISTRY_PUSH_KEY }}
registry: ${{ env.GCR_HOST }}
project_id: ${{ env.GOOGLE_PROJECT_ID }}
image_name: ${{ env.GCR_IMAGE_NAME }}
image_tag: latest,${{ env.CURRENT_BRANCH }}-${{ github.sha }}
- name: Create Service Description File
run: ./scripts/mkenv.sh service.${{ env.CURRENT_BRANCH }}.yaml
env:
IMAGE: "${{ env.GCR_HOST }}/${{ env.GOOGLE_PROJECT_ID }}/${{ env.GCR_IMAGE_NAME }}:${{ env.CURRENT_BRANCH }}-${{ github.sha }}"
SERVICE: ${{ env.CURRENT_BRANCH == 'production' && 'prod-wab-server' || 'staging-wab-server' }}
# New environment variables for Cloud SQL and Twilio:
DB_HOST: ${{ env.CURRENT_BRANCH == 'production' && secrets.PROD_DB_HOST || secrets.STAGING_DB_HOST }}
DB_USER: ${{ env.CURRENT_BRANCH == 'production' && secrets.PROD_DB_USER || secrets.STAGING_DB_USER }}
DB_PASS: ${{ env.CURRENT_BRANCH == 'production' && secrets.PROD_DB_PASS || secrets.STAGING_DB_PASS }}
DB_NAME: ${{ env.CURRENT_BRANCH == 'production' && secrets.PROD_DB_NAME || secrets.STAGING_DB_NAME }}
TWILIO_ACCOUNT_SID: ${{ env.CURRENT_BRANCH == 'production' && secrets.TWILIO_ACCOUNT_SID_PROD || secrets.TWILIO_ACCOUNT_SID_STAGING }}
TWILIO_AUTH_TOKEN: ${{ env.CURRENT_BRANCH == 'production' && secrets.TWILIO_AUTH_TOKEN_PROD || secrets.TWILIO_AUTH_TOKEN_STAGING }}
TWILIO_VERIFY_SERVICE_SID: ${{ env.CURRENT_BRANCH == 'production' && secrets.TWILIO_VERIFY_SERVICE_SID_PROD || secrets.TWILIO_VERIFY_SERVICE_SID_STAGING }}
SERVER_PRIVATE_KEY: ${{ env.CURRENT_BRANCH == 'production' && secrets.PROD_SERVER_PRIVATE_KEY || secrets.STAGING_SERVER_PRIVATE_KEY }}
STORAGE_URL: ${{ env.CURRENT_BRANCH == 'production' && secrets.PROD_STORAGE_URL || secrets.STAGING_STORAGE_URL }}
COMMISSION_FEE: ${{ env.CURRENT_BRANCH == 'production' && secrets.PROD_COMMISSION_FEE || secrets.STAGING_COMMISSION_FEE }}
- name: Authenticate to Google Cloud
uses: google-github-actions/auth@v1
with:
credentials_json: ${{ secrets.gcp_deploy_creds }}
- name: Deploy to Cloud Run
uses: google-github-actions/deploy-cloudrun@v1
with:
metadata: "service.${{ env.CURRENT_BRANCH }}.yaml"
region: us-west1
- name: Set Min Instances and Enable CPU Boost
run: |
gcloud run services update ${{ env.CURRENT_BRANCH == 'production' && 'prod-storage' || 'staging-storage' }} \
--min-instances=1 --cpu-boost --region=us-west1