name: Deploy Viewer on: workflow_dispatch: inputs: ref: description: Production-layout ref to deploy, normally main or a publish commit. required: true default: main type: string workflow_call: inputs: ref: description: Production-layout ref to deploy. required: true type: string permissions: contents: read concurrency: group: deploy-viewer cancel-in-progress: false jobs: deploy: name: Deploy demo viewer app runs-on: ubuntu-latest steps: - name: Check out deploy ref uses: actions/checkout@v4 with: ref: ${{ inputs.ref }} persist-credentials: false - name: Set up Node.js uses: actions/setup-node@v4 with: node-version: "22" - name: Install Vercel CLI run: npm install --global vercel@50.28.0 - name: Deploy demo viewer app to Vercel production env: VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }} VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} VERCEL_VIEWER_PROJECT_ID: ${{ secrets.VERCEL_VIEWER_PROJECT_ID }} run: | for name in VERCEL_TOKEN VERCEL_ORG_ID VERCEL_VIEWER_PROJECT_ID; do if [ -z "${!name:-}" ]; then echo "Missing GitHub Actions secret: $name" >&2 exit 1 fi done scripts/github-workflows/deploy-vercel-app.sh \ --label "Demo viewer app" \ --project-id "$VERCEL_VIEWER_PROJECT_ID" \ --public-urls "https://demo.cadskills.xyz https://demo.cad.fun"