Skip to content

Build(deps-dev): Bump eslint-plugin-jest from 27.2.2 to 27.2.3 (#592) #325

Build(deps-dev): Bump eslint-plugin-jest from 27.2.2 to 27.2.3 (#592)

Build(deps-dev): Bump eslint-plugin-jest from 27.2.2 to 27.2.3 (#592) #325

Workflow file for this run

name: CD
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
on:
push:
branches:
- main
jobs:
build:
name: Build+Push
runs-on: ubuntu-latest
env:
BUF_USER: debkanchan
permissions:
contents: read
id-token: write
strategy:
matrix:
stack: [prod, dev-2]
include:
- stack: prod
project-number: 486946551871
- stack: dev-2
project-number: 785768451767
steps:
- name: Checkout Code
uses: actions/checkout@v3
- name: Setup Node
uses: actions/setup-node@v3
with:
node-version-file: .nvmrc
- name: Cache node_modules
uses: actions/cache@v3.3.1
with:
path: |
**/node_modules
key: |
node-${{ hashfiles('**/package-lock.json') }}
restore-keys: |
node-
- name: Install Packages
run: npm install
- uses: bufbuild/buf-setup-action@v1.24.0
with:
github_token: ${{ github.token }}
- name: Authenticate buf
run: echo ${{ secrets.BUF_TOKEN }} | buf registry login --username ${{ env.BUF_USER }} --token-stdin
- name: Build protobuf
run: buf generate
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Docker meta
id: meta
uses: docker/metadata-action@v4
with:
images: |
asia-south2-docker.pkg.dev/ride-app-${{ matrix.stack }}/docker-registry/wallet-service
tags: |
type=semver,pattern={{version}}
type=sha
type=sha,format=long
flavor: |
latest=true
github-token: ${{ github.token }}
- name: Authenticate To Google Cloud
id: gcp-auth
uses: google-github-actions/auth@v1
with:
token_format: access_token
workload_identity_provider: projects/${{ matrix.project-number }}/locations/global/workloadIdentityPools/github-actions/providers/github-actions-provider
service_account: artifact-registry-admin@ride-app-${{ matrix.stack }}.iam.gserviceaccount.com
- name: Login to GAR
uses: docker/login-action@v2
with:
registry: asia-south2-docker.pkg.dev
username: oauth2accesstoken
password: ${{ steps.gcp-auth.outputs.access_token }}
- name: Build and Upload
id: docker
uses: docker/build-push-action@v4
with:
context: .
tags: ${{ steps.meta.outputs.tags }}
push: true
cache-from: type=gha
cache-to: type=gha,mode=max
deploy:
name: Deploy
needs: build
runs-on: ubuntu-latest
permissions:
contents: read
id-token: write
env:
PULUMI_ACCESS_TOKEN: ${{ secrets.PULUMI_ACCESS_TOKEN }}
strategy:
matrix:
stack: [prod, dev]
include:
- stack: prod
project-number: 486946551871
project-stack: prod
- stack: dev
project-number: 785768451767
project-stack: dev-2
steps:
- name: Checkout Code
uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version-file: .nvmrc
- run: npm install
working-directory: infra
- name: Cache node_modules
uses: actions/cache@v3.3.1
with:
path: |
**/node_modules
key: |
node-${{ hashfiles('**/package-lock.json') }}
restore-keys: |
node-
- name: Authenticate Google Cloud
uses: google-github-actions/auth@v1
with:
workload_identity_provider: projects/${{ matrix.project-number }}/locations/global/workloadIdentityPools/github-actions/providers/github-actions-provider
service_account: cloud-run-service-manager@ride-app-${{ matrix.project-stack }}.iam.gserviceaccount.com
- name: Setup gcloud
uses: google-github-actions/setup-gcloud@v1
- name: Set current sha in pulumi config
run: |
pulumi config set image:tag sha-${{ github.sha }} -s ride/${{ matrix.stack }}
working-directory: infra
- uses: pulumi/actions@v4
with:
work-dir: infra
command: up
stack-name: ride/${{ matrix.stack }}
refresh: true
deploy-cloud-function:
name: Deploy Cloud Function
runs-on: ubuntu-latest
strategy:
matrix:
stack: [prod, dev]
include:
- stack: prod
project-suffix: prod
- stack: dev
project-suffix: dev-2
env:
npm_config_yes: true
steps:
- name: Checkout Code
uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version-file: .nvmrc
- run: npm install
working-directory: functions/functions
- name: Cache node_modules
uses: actions/cache@v3.3.1
with:
path: |
**/node_modules
key: |
node-${{ hashfiles('functions/function/package-lock.json') }}
restore-keys: |
node-
- run: npx firebase-tools deploy --only functions --project ride-app-${{ matrix.project-suffix }} --token ${{ secrets.FIREBASE_TOKEN }}
working-directory: functions