-
Notifications
You must be signed in to change notification settings - Fork 116
Deprecate Deliverfile
in favor of Fastfile
#8831
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
This file was deleted.
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -172,7 +172,7 @@ platform :ios do | |
lane :code_freeze do |options| | ||
ios_codefreeze_prechecks(options) | ||
|
||
ios_bump_version_release(skip_glotpress: true) | ||
ios_bump_version_release(skip_glotpress: true, skip_deliver: true) | ||
new_version = ios_get_app_version | ||
extract_release_notes_for_version( | ||
version: new_version, | ||
|
@@ -585,6 +585,32 @@ platform :ios do | |
) | ||
end | ||
|
||
# Upload the localized metadata (from `fastlane/metadata/`) to App Store Connect | ||
# | ||
# @option [Boolean] with_screenshots (default: false) If true, will also upload the latest screenshot files to ASC | ||
# | ||
desc 'Upload the localized metadata to App Store Connect, optionally including screenshots.' | ||
lane :update_metadata_on_app_store_connect do |options| | ||
# Skip screenshots by default. The naming is "with" to make it clear that | ||
# callers need to opt-in to adding screenshots. The naming of the deliver | ||
# (upload_to_app_store) parameter, on the other hand, uses the skip verb. | ||
with_screenshots = options.fetch(:with_screenshots, false) | ||
skip_screenshots = !with_screenshots | ||
|
||
upload_to_app_store( | ||
app_identifier: APP_STORE_VERSION_BUNDLE_IDENTIFIER, | ||
app_version: ios_get_app_version, | ||
team_id: '299112', | ||
skip_binary_upload: true, | ||
screenshots_path: File.join(FASTLANE_DIR, 'promo_screenshots'), | ||
skip_screenshots: skip_screenshots, | ||
overwrite_screenshots: true, # won't have effect if `skip_screenshots` is true | ||
phased_release: true, | ||
precheck_include_in_app_purchases: false, | ||
api_key_path: ASC_KEY_PATH | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. One question I had was related to the There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
That's surprising that this path to So I am not sure how the Release Managers have still been able to run the The best explanation that I have is that they had that file in their machine back from the time they were doing releases before #4576 landed (so back when that path was correct), and since those files are in There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
That's some serious 🕵️ work right there 😄 but yes, that would explain it, it makes sense and is a very good guess. |
||
) | ||
end | ||
|
||
##################################################################################### | ||
# register_new_device | ||
# ----------------------------------------------------------------------------------- | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I didn't set the
team_id
which was being set in theDeliverfile
, as I believe it isn't always necessary. I've seen some other lanes usingget_required_env('EXT_EXPORT_TEAM_ID')
but I wasn't sure whether it was safe to use it in this case, as the context in which this lane is run might be different.Anyway, please let me know if
team_id
is in fact needed and I'll amend the PR.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We do manage multiple teams in App Store Connect. Most of our apps, including WooCommerce, are in our "Automattic, Inc" team, but some other apps like DayOne and Tumblr are still in their own separate org/team on ASC (for historical reasons).
This means that some (if not most) of engineers in Apps Infra, who will at some point rotate in doing the release management for different apps, or cover for someone else in the team while they are away, will end up having multiple App Store Connect team registered with their Apple ID, and thus it's still important to pass an explicit value here as letting fastlane guess it implicitly won't work on a multiple-team setup like ours.
As for
EXT_EXPORT_TEAM_ID
:PZYM8XX95Q
(corresponding to our "Automattic, Inc" team ID), which is stored alongside some of our secrets (in the file decoded from.configure-files/project.env.enc
by our secrets tooling to somewhere in your$HOME
, then read at the start of theFastfile
by this line). Hence why its value is then read withget_required_env
in some placesproject.env.enc
encrypted secrets file and just move it as a constant in theFastfile
directly, with its value in clear because there is no reason for it to be considered as a secretupload_to_app_store
/deliver
andtestflight
actions expect a different kind ofteam_id
, namely the numeric value299112
that we had in theDeliverfile
(which is thus different from the value ofEXT_EXPORT_TEAM_ID
)..configure-files/project.env.enc
file as a "secret", under an ENV var namedFASTLANE_ITC_TEAM_ID
… while there is no real reason for it to be considered a "secret" (in was already appearing in clear in ourDeliverfile
too, after all…)So long story short, the one you want to use is not
get_required_env('EXT_EXPORT_TEAM_ID')
(which equalsPZYM8XX95Q
), but either useget_required_env('FASTLANE_ITC_TEAM_ID')
instead to get the value299112
… or you might also use the299112
constant directly as well (like we do in WPiOS)… because it's not really a secret value after all.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Got it! Yes, I wasn't 100% sure about that (plus, though WPiOS uses the
team_id
fortestflight()
, it doesn't use it for upload metadata 🤔). Thanks for clarifying!And also, good to know the additional context and info on these vars and the secrets file, very helpful 👍