Skip to content

Commit 99e3479

Browse files
Merge pull request #149 from CodeForPhilly/GH_actions_deploy_pipeline
Gh actions deploy pipeline
2 parents ce66181 + 9a974ce commit 99e3479

File tree

1 file changed

+60
-0
lines changed

1 file changed

+60
-0
lines changed
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
name: Build and Deploy to Firebase Hosting
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
8+
env:
9+
PROJECT_ID: 'benefit-decision-toolkit-play'
10+
WORKLOAD_IDENTITY_PROVIDER: 'projects/1034049717668/locations/global/workloadIdentityPools/github-actions-google-cloud/providers/github'
11+
12+
jobs:
13+
build-and-deploy:
14+
runs-on: ubuntu-latest
15+
16+
steps:
17+
- name: Checkout repository
18+
uses: actions/checkout@v4
19+
20+
# Configure Workload Identity Federation and generate an access token.
21+
#
22+
# See https://github.com/google-github-actions/auth for more options,
23+
# including authenticating via a JSON credentials file.
24+
- id: 'auth'
25+
name: 'Authenticate to Google Cloud'
26+
uses: 'google-github-actions/auth@v2'
27+
with:
28+
workload_identity_provider: '${{ env.WORKLOAD_IDENTITY_PROVIDER }}'
29+
service_account: cicd-build-deploy-api@benefit-decision-toolkit-play.iam.gserviceaccount.com
30+
project_id: ${{ env.PROJECT_ID }}
31+
32+
- name: Setup Node.js
33+
uses: actions/setup-node@v4
34+
with:
35+
node-version: '18'
36+
cache: 'npm'
37+
38+
- name: Install dependencies
39+
working-directory: builder-frontend
40+
run: npm ci
41+
42+
- name: Build application
43+
working-directory: builder-frontend
44+
run: npm run build
45+
env:
46+
VITE_API_URL: ${{ secrets.VITE_API_URL}}
47+
VITE_SCREENER_BASE_URL: ${{ secrets.VITE_SCREENER_BASE_URL}}
48+
VITE_API_KEY: ${{ secrets.VITE_API_KEY}}
49+
VITE_AUTH_DOMAIN: ${{ secrets.VITE_AUTH_DOMAIN}}
50+
VITE_PROJECT_ID: ${{ secrets.VITE_PROJECT_ID}}
51+
VITE_STORAGE_BUCKET: ${{ secrets.VITE_STORAGE_BUCKET}}
52+
VITE_MESSAGING_SENDER_ID: ${{ secrets.VITE_MESSAGING_SENDER_ID}}
53+
VITE_APP_ID: ${{ secrets.VITE_APP_ID}}
54+
VITE_MEASUREMENT_ID: ${{ secrets.VITE_MEASUREMENT_ID}}
55+
56+
- name: Install Firebase CLI
57+
run: npm install -g firebase-tools
58+
59+
- name: Deploy to Firebase Hosting
60+
run: firebase deploy --only hosting:builder-frontend

0 commit comments

Comments
 (0)