Skip to content

Add get_live_version lane for checking published App Store versions - #2875

Merged
AmyLGalles merged 1 commit into
mainfrom
agalles/add-get-live-version-lane
Jul 10, 2026
Merged

Add get_live_version lane for checking published App Store versions#2875
AmyLGalles merged 1 commit into
mainfrom
agalles/add-get-live-version-lane

Conversation

@AmyLGalles

Copy link
Copy Markdown
Contributor

Summary

Adds a new Fastlane lane get_live_version that checks the actual live/published version on the App Store (READY_FOR_SALE state) rather than just the latest submitted version.

Problem

With managed App Store publishing enabled, apps can be:

  1. Submitted for review
  2. Approved by Apple
  3. Waiting to be manually published to users

The existing get_latest_version lane uses app_store_build_number which returns the latest build submitted to the App Store, including approved versions that haven't been published yet. This causes the bitwarden/deploy workflows to publish GitHub releases prematurely - before users can actually download the app.

Solution

The new get_live_version lane:

  • Uses Spaceship ConnectAPI to authenticate with App Store Connect
  • Calls get_live_app_store_version to get only the version users can currently download
  • Returns the version in the same format as get_latest_version (version_name and version_number)
  • Returns empty strings if no live version exists

Usage

bundle exec fastlane ios get_live_version \
  api_key_path:$CREDENTIALS_PATH \
  app_identifier:com.8bit.bitwarden

Related

This will be consumed by:

  • publish-ios-password-manager.yml in bitwarden/deploy
  • publish-ios-authenticator.yml in bitwarden/deploy

Related deploy PR: https://github.com/bitwarden/deploy/pull/[TBD]

Testing

After merging both PRs:

  1. Submit an iOS build for review
  2. Get it approved but don't publish yet
  3. Verify the hourly publish-ios-* workflows do NOT publish the GitHub release
  4. Manually publish the app on App Store Connect
  5. Verify the next hourly run DOES publish the GitHub release

@AmyLGalles
AmyLGalles requested review from a team and matt-livefront as code owners July 10, 2026 16:15
@github-actions

github-actions Bot commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

🤖 Bitwarden Claude Code Review

Overall Assessment: APPROVE

Reviewed the new get_live_version Fastlane lane added to fastlane/Fastfile. The lane authenticates to App Store Connect via Spaceship ConnectAPI, resolves the app, and emits the live (READY_FOR_SALE) version in the same version_name: / version_number: output format as the existing get_latest_version lane. The Spaceship API usage (get_live_app_store_version, version_string, build.version) and the API-key JSON parsing match Fastlane conventions, and the empty-string fallback correctly handles the no-live-version case that motivated this change.

Code Review Details

No blocking findings. The change is well-scoped, matches the intent described in the PR, and preserves output compatibility with the consuming bitwarden/deploy workflows.

@mpbw2 mpbw2 added the t:ci Change Type - Updates to automated workflows label Jul 10, 2026
@codecov

codecov Bot commented Jul 10, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 78.98%. Comparing base (e9514dc) to head (41cbcf2).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2875      +/-   ##
==========================================
- Coverage   81.24%   78.98%   -2.27%     
==========================================
  Files        1028     1151     +123     
  Lines       66164    73459    +7295     
==========================================
+ Hits        53756    58018    +4262     
- Misses      12408    15441    +3033     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Add new Fastlane lane that checks the actual live/published version on the
App Store (READY_FOR_SALE state) rather than just the latest submitted
version.

This is needed for managed App Store publishing where apps are submitted
and approved but not immediately published. The existing get_latest_version
lane returns approved versions even if they haven't been released to users.

The new get_live_version lane:
- Uses Spaceship ConnectAPI to authenticate with App Store Connect
- Calls get_live_app_store_version to get the version users can download
- Outputs version_name and version_number in same format as get_latest_version
- Returns empty strings if no live version exists

This will be used by bitwarden/deploy workflows to only publish GitHub
releases once the app version is actually available to users.
@AmyLGalles
AmyLGalles force-pushed the agalles/add-get-live-version-lane branch from 47f1f8c to 41cbcf2 Compare July 10, 2026 17:59
@AmyLGalles
AmyLGalles enabled auto-merge (squash) July 10, 2026 18:24
@AmyLGalles
AmyLGalles merged commit 82ffbf3 into main Jul 10, 2026
15 checks passed
@AmyLGalles
AmyLGalles deleted the agalles/add-get-live-version-lane branch July 10, 2026 18:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

t:ci Change Type - Updates to automated workflows

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants