name: build

on: [ workflow_dispatch ]

jobs:
  everything:
    runs-on: ubuntu-22.04
    steps:
      - uses: actions/checkout@v4

      - name: Setup Turbo cache
        uses: actions/cache@v4
        with:
          path: .turbo
          key: ${{ runner.os }}-turbo-${{ github.sha }}
          restore-keys: |
            ${{ runner.os }}-turbo-

      - name: Setup pnpm
        uses: pnpm/action-setup@v4
        with:
          version: 10.11.0

      - name: Setup Node.js
        uses: actions/setup-node@v4
        with:
          node-version: '22'
          cache: 'pnpm'

      - name: Install dependencies
        run: pnpm install

      - name: Build packages with Turbo
        run: pnpm run build

      - name: Package production build
        run: |
          # Create production-ready server package using pnpm deploy
          pnpm deploy --filter=./packages/server --prod lamassu-server --legacy
          
          # Copy built admin UI to public directory
          cp -r packages/admin-ui/build lamassu-server/public
          
          # Create tarball
          tar -zcf lamassu-server.tar.gz lamassu-server/

      - name: Upload artifact
        uses: actions/upload-artifact@v4
        with:
          name: lamassu-server.tar.gz
          path: lamassu-server.tar.gz
