name: beta on: push: branches: - stable #tags: # - 'v*-b*' #tags-ignore: # - 'v*-*' env: APP_STORE_CONNECT_API_KEY_KEY_ID: ${{ secrets.APP_STORE_CONNECT_API_KEY_KEY_ID }} APP_STORE_CONNECT_API_KEY_ISSUER_ID: ${{ secrets.APP_STORE_CONNECT_API_KEY_ISSUER_ID }} APP_STORE_CONNECT_API_KEY_KEY: ${{ secrets.APP_STORE_CONNECT_API_KEY_KEY }} FASTLANE_USERNAME: ${{ secrets.FASTLANE_USERNAME }} FASTLANE_PASSWORD: ${{ secrets.FASTLANE_PASSWORD }} jobs: upload_to_app_store: runs-on: macos-10.15 timeout-minutes: 60 env: MATCH_USERNAME: ${{ secrets.MATCH_USERNAME }} MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }} MATCH_GIT_URL: ${{ secrets.MATCH_GIT_URL }} MATCH_GIT_PRIVATE_KEY: ${{ secrets.MATCH_GIT_PRIVATE_KEY }} MATCH_KEYCHAIN_NAME: ${{ secrets.MATCH_KEYCHAIN_NAME }} MATCH_KEYCHAIN_PASSWORD: ${{ secrets.MATCH_KEYCHAIN_PASSWORD }} DELIVER_USERNAME: ${{ secrets.DELIVER_USERNAME }} steps: - name: Check out repository uses: actions/checkout@v2 with: fetch-depth: 0 # for proper build number submodules: true - name: Prepare Ruby bundle uses: ruby/setup-ruby@v1 with: bundler-cache: true - name: Select Xcode version uses: maxim-lobanov/setup-xcode@v1 with: xcode-version: latest-stable - name: Cache CocoaPods uses: actions/cache@v2 with: path: | Pods key: ${{ runner.os }}-pods-${{ hashFiles('**/Podfile.lock') }} restore-keys: | ${{ runner.os }}-pods- - name: Prepare for fastlane match run: | scripts/ci/recognize-match-hostname.sh bundle exec fastlane preinstall_development_certs - name: Build (macOS) run: | bundle exec fastlane --env mac,beta create_archive - name: Build (iOS) run: | bundle exec fastlane --env ios,beta create_archive - name: Upload to App Store (macOS) run: | bundle exec fastlane --env mac,beta store_upload - name: Upload to App Store (iOS) run: | bundle exec fastlane --env ios,beta store_upload submit_to_testflight: runs-on: ubuntu-latest needs: upload_to_app_store environment: name: testflight env: PILOT_USERNAME: ${{ secrets.PILOT_USERNAME }} PILOT_GROUPS: ${{ secrets.PILOT_GROUPS }} PILOT_BETA_APP_FEEDBACK: ${{ secrets.PILOT_BETA_APP_FEEDBACK }} PILOT_BETA_APP_REVIEW_INFO: ${{ secrets.PILOT_BETA_APP_REVIEW_INFO }} steps: - name: Check out repository uses: actions/checkout@v2 with: fetch-depth: 0 submodules: true - name: Prepare Ruby bundle uses: ruby/setup-ruby@v1 with: bundler-cache: true - name: Submit to TestFlight (macOS) run: | export PILOT_BUILD_NUMBER=`ci/build-number.sh mac` export PILOT_CHANGELOG=`ci/build-changelog.sh mac` bundle exec fastlane --env mac,beta store_beta - name: Submit to TestFlight (iOS) run: | export PILOT_BUILD_NUMBER=`ci/build-number.sh ios` export PILOT_CHANGELOG=`ci/build-changelog.sh ios` bundle exec fastlane --env ios,beta store_beta submit_for_app_review: runs-on: ubuntu-latest needs: submit_to_testflight environment: name: app_review env: DELIVER_USERNAME: ${{ secrets.DELIVER_USERNAME }} steps: - name: Check out repository uses: actions/checkout@v2 with: fetch-depth: 0 submodules: true - name: Prepare Ruby bundle uses: ruby/setup-ruby@v1 with: bundler-cache: true - name: Update App Store Connect metadata (macOS) run: | bundle exec fastlane --env mac update_metadata - name: Update App Store Connect metadata (iOS) run: | bundle exec fastlane --env ios update_metadata - name: Submit for App Review (macOS) run: | export DELIVER_BUILD_NUMBER=`ci/build-number.sh mac` bundle exec fastlane --env mac store_review add_id_info_uses_idfa:false - name: Submit for App Review (iOS) run: | export DELIVER_BUILD_NUMBER=`ci/build-number.sh ios` bundle exec fastlane --env ios store_review add_id_info_uses_idfa:false