name: Element Call - Build
on:
  workflow_call:
    inputs:
      vite_app_version:
        required: true
        type: string
    secrets:
      SENTRY_ORG:
        required: true
      SENTRY_PROJECT:
        required: true
      SENTRY_URL:
        required: true
      SENTRY_AUTH_TOKEN:
        required: true

jobs:
  build:
    name: Build Element Call
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4
      - name: Yarn cache
        uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4
        with:
          cache: "yarn"
      - name: Install dependencies
        run: "yarn install"
      - name: Build
        run: "yarn run build"
        env:
          SENTRY_ORG: ${{ secrets.SENTRY_ORG }}
          SENTRY_PROJECT: ${{ secrets.SENTRY_PROJECT }}
          SENTRY_URL: ${{ secrets.SENTRY_URL }}
          SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
          VITE_APP_VERSION: ${{ inputs.vite_app_version }}
          NODE_OPTIONS: "--max-old-space-size=4096"
      - name: Upload Artifact
        uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # v4
        with:
          name: build-output
          path: dist
          # We'll only use this in a triggered job, then we're done with it
          retention-days: 1
