Updating content (#1381) #5063
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: UI Build | |
on: | |
push: | |
branches: [main] | |
pull_request: | |
branches: [main] | |
jobs: | |
setup: | |
name: Setup Node/NPM | |
runs-on: ubuntu-latest | |
steps: | |
- name: Stop previous | |
uses: styfle/cancel-workflow-action@0.12.1 | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Setup Node | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 20 | |
cache: 'npm' | |
cache-dependency-path: '**/package-lock.json' | |
registry-url: 'https://npm.pkg.github.com' | |
scope: '@estuary' | |
- name: Get Deps | |
run: npm ci | |
env: | |
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
quality: | |
name: Check Quality | |
needs: setup | |
runs-on: ubuntu-latest | |
steps: | |
- name: Stop previous | |
uses: styfle/cancel-workflow-action@0.12.1 | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Setup Node | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 20 | |
cache: 'npm' | |
cache-dependency-path: '**/package-lock.json' | |
- name: Get Deps | |
run: npm ci | |
- name: Licenses | |
run: npm run licenses | |
- name: Typecheck | |
run: npm run typecheck | |
- name: Linting | |
run: npm run lint | |
- name: Prettier | |
run: npm run format | |
- name: Test | |
run: npm run test | |
# Deployment steps undertaken on a merge to `main`. | |
deploy: | |
name: Deploy | |
env: | |
NODE_OPTIONS: '--max_old_space_size=4096' | |
needs: quality | |
runs-on: ubuntu-latest | |
if: ${{ github.ref == 'refs/heads/main' }} | |
# Ask github to inject an ID token with sufficient claims | |
# for GCP workload identity federation. | |
permissions: | |
contents: read | |
id-token: write | |
steps: | |
- name: Stop previous | |
uses: styfle/cancel-workflow-action@0.12.1 | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Setup Node | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 20 | |
cache: 'npm' | |
cache-dependency-path: '**/package-lock.json' | |
- name: Get Deps | |
run: npm ci | |
- name: Create a release build | |
run: npm run build | |
# This was generated via `setup-workload-ident.sh` in the ops repo. | |
- name: Set up Google Cloud SDK | |
uses: google-github-actions/auth@v2 | |
with: | |
service_account: cd-github-ui@estuary-control.iam.gserviceaccount.com | |
workload_identity_provider: projects/1084703453822/locations/global/workloadIdentityPools/github-actions/providers/github-actions-provider | |
# Based on https://github.com/google-github-actions/example-workflows/blob/main/workflows/deploy-cloudrun/cloudrun-source.yml | |
- name: Update Dashboard Deployment | |
uses: 'google-github-actions/deploy-cloudrun@v2' | |
with: | |
service: 'dashboard' | |
project_id: 'estuary-control' | |
region: 'us-central1' | |
source: './build/' |