name: EAS Build

on:
  workflow_dispatch:
    inputs:
      profile:
        description: EAS build profile
        required: true
        default: preview
        type: choice
        options:
          - preview
          - production
      platform:
        description: Target platform
        required: true
        default: android
        type: choice
        options:
          - android
          - ios
          - all

jobs:
  build:
    runs-on: ubuntu-latest
    permissions:
      contents: read
    env:
      EXPO_TOKEN: ${{ secrets.EXPO_TOKEN }}

    steps:
      - name: Checkout
        uses: actions/checkout@v4

      - name: Setup Node.js
        uses: actions/setup-node@v4
        with:
          node-version: 20
          cache: npm

      - name: Setup Expo and EAS
        uses: expo/expo-github-action@v8
        with:
          eas-version: latest
          token: ${{ secrets.EXPO_TOKEN }}

      - name: Install dependencies
        run: npm ci

      - name: Trigger EAS build
        run: npx eas build --non-interactive --profile "${{ inputs.profile }}" --platform "${{ inputs.platform }}"
