name: Deploy to App Store 

on:
  workflow_dispatch:
    inputs:
      storeVersionNumber:
        description: 'Store Version Number'
        required: true
        default: ""
      buildNumber:
        description: 'Build Number'
        required: true
        default: ""

jobs:
  deploy:
    runs-on: macos-latest

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

    - name: Select Xcode Version
      uses: maxim-lobanov/setup-xcode@v1
      with:
        xcode-version: 'latest-stable'

    - name: Setup ruby
      uses: ruby/setup-ruby@v1
      with:
        ruby-version: 2.7.2
        bundler-cache: true

    - uses: actions/cache@v4
      id: pods-cache
      with:
        path: Pods
        key: ${{ runner.os }}-pods-${{ hashFiles('**/Podfile.lock') }}
        restore-keys: |
          ${{ runner.os }}-pods-

    - name: Install Pods
      run: pod install

    - name: Build & Distribute to App Store
      run: |
        export LC_ALL=en_US.UTF-8
        export LANG=en_US.UTF-8
        bundle exec fastlane beta store_version_number:${{ github.event.inputs.storeVersionNumber }} build_number:${{ github.event.inputs.buildNumber }}
      env:
        APP_STORE_CONNECT_ISSUER_ID: ${{ secrets.APP_STORE_CONNECT_ISSUER_ID }}
        APP_STORE_CONNECT_KEY_CONTENT: ${{ secrets.APP_STORE_CONNECT_KEY_CONTENT }}
        BARK_KEY: ${{ secrets.BARK_KEY }}
        MATCH_GIT_BASIC_AUTHORIZATION: ${{ secrets.MATCH_GIT_BASIC_AUTHORIZATION }}
        MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }}

    - name: Archive artifacts
      uses: actions/upload-artifact@v4
      with:
        name: dSYM
        path: Bark.app.dSYM.zip
