The submit_review fastlane lane identified the just-uploaded build by CFBundleVersion alone. In this project the production iOS profile resets the build number per marketing version, so every release sits at build 2 and Spaceship::ConnectAPI::Build.all returns the whole TestFlight history. The .find call picked an arbitrary match, which is how 0.1.76's binary got attached to the 0.1.75 App Store version slot and submitted for review under the wrong label. The release workflow now forwards app_version and app_build_version from the build_ios outputs into the fastlane step as env vars, and the Fastfile filters builds by marketing version plus build number to pin the exact binary. The standalone resubmit workflow takes the same identifiers as optional workflow_dispatch inputs; with both unset it falls back to "most recently uploaded iOS build" so manual reruns still work. Pinning fastlane in the Gemfile to lock the Spaceship behavior this lane depends on.
56 lines
1.2 KiB
YAML
56 lines
1.2 KiB
YAML
name: Release Mobile
|
|
|
|
on:
|
|
push:
|
|
tags:
|
|
- "v*"
|
|
- "!v*-rc.*"
|
|
- "!v*-beta.*"
|
|
workflow_dispatch: {}
|
|
|
|
jobs:
|
|
build_ios:
|
|
name: Build iOS
|
|
type: build
|
|
params:
|
|
platform: ios
|
|
profile: production
|
|
|
|
build_android:
|
|
name: Build Android
|
|
type: build
|
|
params:
|
|
platform: android
|
|
profile: production
|
|
|
|
submit_ios:
|
|
name: Submit iOS
|
|
needs: [build_ios]
|
|
type: submit
|
|
params:
|
|
build_id: ${{ needs.build_ios.outputs.build_id }}
|
|
profile: production
|
|
|
|
submit_android:
|
|
name: Submit Android
|
|
needs: [build_android]
|
|
type: submit
|
|
params:
|
|
build_id: ${{ needs.build_android.outputs.build_id }}
|
|
profile: production
|
|
|
|
submit_ios_for_review:
|
|
name: Submit iOS for App Store review
|
|
needs: [build_ios, submit_ios]
|
|
environment: production
|
|
runs_on: macos-medium
|
|
steps:
|
|
- uses: eas/checkout
|
|
- name: Install fastlane
|
|
run: bundle install
|
|
- name: Submit for review
|
|
run: |
|
|
export APP_VERSION="${{ needs.build_ios.outputs.app_version }}"
|
|
export APP_BUILD_VERSION="${{ needs.build_ios.outputs.app_build_version }}"
|
|
bundle exec fastlane ios submit_review
|