Skip to content

Build and Deploy Cloud UI to Netlify #3405

Build and Deploy Cloud UI to Netlify

Build and Deploy Cloud UI to Netlify #3405

Workflow file for this run

name: Build and Deploy Cloud UI to Netlify
on:
create:
push:
tags:
- "**"
branches:
- "main"
- "release**"
paths:
- ".github/workflows/rill-ui.yml"
- "web-admin/**"
- "web-common/**"
- "netlify.toml"
workflow_dispatch:
inputs:
env:
description: "Environment"
required: true
default: "stage"
type: choice
options:
- stage
- prod
- test
env:
NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }}
jobs:
build:
# https://github.com/orgs/community/discussions/54860
if: |
github.event_name == 'workflow_dispatch' ||
github.event_name == 'push' ||
(github.event_name == 'create' &&
( startsWith(github.ref_name, 'release') || startsWith(github.ref, 'refs/tags/v') )
)
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up NodeJS
uses: actions/setup-node@v4
with:
node-version: 20
- name: Setup Env variables from Inputs for Prod
if: ( github.event_name == 'create' && startsWith(github.ref, 'refs/tags/v') ) || ( github.event_name == 'workflow_dispatch' && inputs.env == 'prod' )
run: |-
echo "NETLIFY_SITE_ID=afb26917-7a60-47d9-81dc-c0babbb0d9a9" >> $GITHUB_ENV
echo "DOMAIN=rilldata.com" >> $GITHUB_ENV
echo "RILL_VERSION=${GITHUB_REF_NAME}" >> $GITHUB_ENV
- name: Setup Env variables from Inputs for Stage
if: ( (github.event_name == 'push' || github.event_name == 'create') && startsWith(github.ref_name, 'release') ) || ( github.event_name == 'workflow_dispatch' && inputs.env == 'stage' )
run: |-
echo "NETLIFY_SITE_ID=e73ac785-882e-425a-8fc8-5432528bb374" >> $GITHUB_ENV
echo "DOMAIN=rilldata.io" >> $GITHUB_ENV
echo "RILL_VERSION=${GITHUB_REF_NAME}" >> $GITHUB_ENV
- name: Setup Env variables from Inputs for Test
if: ( github.event_name == 'push' && startsWith(github.ref_name, 'main') ) || ( github.event_name == 'workflow_dispatch' && inputs.env == 'test' )
run: |-
echo "NETLIFY_SITE_ID=ad7b8d67-9b24-4b2a-8985-1a80b7b0ab11" >> $GITHUB_ENV
echo "DOMAIN=rilldata.in" >> $GITHUB_ENV
echo "RILL_VERSION=${GITHUB_SHA}" >> $GITHUB_ENV
- name: Build Cloud UI
run: |-
npm install
npm run build -w web-admin
env:
RILL_UI_PUBLIC_RILL_ADMIN_URL: https://admin.${{ env.DOMAIN }}
RILL_UI_PUBLIC_POSTHOG_API_KEY: "phc_4qnfUotXUuevk2zJN8ei8HgKXMynddEMI0wPI9XwzlS"
RILL_UI_PUBLIC_PYLON_APP_ID: "26a0fdd2-3bd3-41e2-82bc-1b35a444729f"
RILL_UI_PUBLIC_VERSION: ${{ env.RILL_VERSION }}
- name: Deploy Cloud UI to Netlify ui.${{ env.DOMAIN }} - version ${{ env.RILL_VERSION }}
uses: nwtgck/[email protected]
with:
publish-dir: ./web-admin/build
github-token: ${{ secrets.GITHUB_TOKEN }}
deploy-message: "Cloud-admin ${{ github.ref_name }} deployed to ui.${{ env.DOMAIN }}"
production-deploy: true
enable-pull-request-comment: false
enable-commit-comment: true
overwrites-pull-request-comment: true
netlify-config-path: ./netlify.toml
timeout-minutes: 1
- name: Notify Slack
uses: ravsamhq/notify-slack-action@v2
if: always()
with:
status: ${{ job.status }}
notification_title: "{workflow} has {status_message}"
message_format: "{emoji} *{workflow}* {status_message} in <{repo_url}|{repo}>"
footer: "Linked Repo <{repo_url}|{repo}>"
notify_when: "failure"
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_ANNOUNCE_DD }}