Suppor comission fee env var #1
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: 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 |