PromucFlow_constructor/.github/workflows/wds-vercel-preview.yml
Sumesh Pradhan 20b46ea48b
ci: storybook build and deploy for appsmith wds (#21433)
- Removed WDS storybook from the client build.sh.
- Added workflow to deploy Vercel previews for release and prod.
- Added workflow to trigger event on commenting `/build-wds-preview` to
a PR.
2023-03-21 10:36:40 +05:30

123 lines
4.1 KiB
YAML

name: Build WDS Vercel Preview
on:
workflow_dispatch:
repository_dispatch:
types: [ build-wds-preview-command ]
jobs:
vercel-deploy-preview:
if: github.event_name == 'repository_dispatch'
name: vercel-wds-build
runs-on: ubuntu-latest
env:
VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }}
VERCEL_PROJECT_ID: ${{ secrets.VERCEL_WDS_PROJECT_ID }}
steps:
- name: Checkout PR
uses: actions/checkout@v3
with:
ref: "refs/pull/${{ github.event.client_payload.pull_request.number }}/merge"
- name: Install Vercel CLI
run: npm install --global vercel@latest
- name: Use Node.js 16.14.0
if: steps.run_result.outputs.run_result != 'success'
uses: actions/setup-node@v3
with:
node-version: "16.14.0"
- name: Pull Vercel Environment Information
working-directory: ./app/client/packages/storybook
run: vercel pull --yes --token=${{ secrets.VERCEL_WDS_TOKEN }}
- name: Build Project Artifacts
working-directory: ./app/client/packages/storybook
run: vercel build --yes --token=${{ secrets.VERCEL_TOKEN }}
- name: Deploy Project Artifacts to Vercel
working-directory: ./app/client/packages/storybook
id: set-dpurl
run: |
vercel deploy --prebuilt --token=${{ secrets.VERCEL_WDS_TOKEN }} >> ~/run_result.txt
echo "::set-output name=dpurl::$(cat ~/run_result.txt)"
- name: vercel-notify
uses: peter-evans/create-or-update-comment@v2
with:
issue-number: ${{ github.event.client_payload.pull_request.number }}
body: |
Deploy-Preview-URL: ${{ steps.set-dpurl.outputs.dpurl }}
vercel-deploy-release:
if: github.event_name == 'workflow_dispatch' && github.ref == 'refs/heads/release'
runs-on: ubuntu-latest
env:
VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }}
VERCEL_PROJECT_ID: ${{ secrets.VERCEL_WDS_PROJECT_ID }}
steps:
- name: Checkout PR
uses: actions/checkout@v3
with:
ref: release
- name: Install Vercel CLI
run: npm install --global vercel@latest
- name: Use Node.js 16.14.0
if: steps.run_result.outputs.run_result != 'success'
uses: actions/setup-node@v3
with:
node-version: "16.14.0"
- name: Pull Vercel Environment Information
working-directory: ./app/client/packages/storybook
run: vercel pull --yes --token=${{ secrets.VERCEL_WDS_TOKEN }}
- name: Build Project Artifacts
working-directory: ./app/client/packages/storybook
run: vercel build --prod --yes --token=${{ secrets.VERCEL_WDS_TOKEN }}
- name: Deploy Project Artifacts to Vercel
working-directory: ./app/client/packages/storybook
id: set-dpurl
run: vercel deploy --prebuilt --prod --token=${{ secrets.VERCEL_WDS_TOKEN }}
vercel-deploy-prod:
if: github.event_name == 'workflow_dispatch' && github.ref == 'refs/heads/master'
runs-on: ubuntu-latest
env:
VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }}
VERCEL_PROJECT_ID: ${{ secrets.VERCEL_WDS_PROD_PROJECT_ID }}
steps:
- name: Checkout PR
uses: actions/checkout@v3
with:
ref: master
- name: Install Vercel CLI
run: npm install --global vercel@latest
- name: Use Node.js 16.14.0
if: steps.run_result.outputs.run_result != 'success'
uses: actions/setup-node@v3
with:
node-version: "16.14.0"
- name: Pull Vercel Environment Information
working-directory: ./app/client/packages/storybook
run: vercel pull --yes --token=${{ secrets.VERCEL_WDS_TOKEN }}
- name: Build Project Artifacts
working-directory: ./app/client/packages/storybook
run: vercel build --prod --yes --token=${{ secrets.VERCEL_WDS_TOKEN }}
- name: Deploy Project Artifacts to Vercel
working-directory: ./app/client/packages/storybook
id: set-dpurl
run: vercel deploy --prebuilt --prod --token=${{ secrets.VERCEL_WDS_TOKEN }}