Skip to content

deliver uses SharedValues::IPA_OUTPUT_PATH instead of specified ipa option #17593

@stocc

Description

@stocc

New Issue Checklist

Issue Description

I am using fastlane to first build the different schemes of my app and then submit them to the App Store. Therefore the path to the last built IPA is still in SharedValues::IPA_OUTPUT_PATH when I want to use deliver. I provide the ipa option for deliver which should override IPA_OUTPUT_PATH but instead, it appears that the path in SharedValues::IPA_OUTPUT_PATH is used.
This results in the wrong IPA being pushed to the wrong bundle identifier in App Store Connect and the following ITMS error:
ERROR ITMS-90054: "This bundle is invalid. The bundle identifier cannot be changed from the previous version.

Also, interestingly, I have noticed that when the file at the path to the ipa in the deliver option does not exist, the error message correctly shows the path provided as option to deliver.

I've reconstructed the issue with a minimal example Fastfile.

lane :bug_test do |options|

  Actions.lane_context[SharedValues::IPA_OUTPUT_PATH] = "Wat" 
  deliver(app_identifier:'some.app.id', ipa: options[:ipa])

end

Running $ bundle exec fastlane bug_test ipa:path/to/existing.ipa results in the error message Could not find ipa file at path '/Users/dan/git/ivu-realtime-app-ios/uraClient/Wat'

Running $ bundle exec fastlane bug_test ipa:path/to/NON_existing.ipa results in Could not find ipa file at path '/Users/dan/git/ivu-realtime-app-ios/uraClient/path/to/NON_existing.ipa'

This is definitely inconsistent behavior and in my view the ipa option passed to deliver should be prioritized over IPA_OUTPUT_PATH.

As a workaround it seems I could put the line lane_context[SharedValues::IPA_OUTPUT_PATH] = nil before using deliver.

I can't say for sure but I believe that pilot handled the same setup as expected.

Command executed

$ bundle exec fastlane bug_test ipa:/path/to/existing.ipa

Complete output when running fastlane, including the stack trace and command used
 

[✔] 🚀
+---------------------------+---------+------------------------------------------+
| Used plugins |
+---------------------------+---------+------------------------------------------+
| Plugin | Version | Action |
+---------------------------+---------+------------------------------------------+
| fastlane-plugin-appcenter | 1.11.0 | appcenter_fetch_version_number |
| | | appcenter_fetch_devices appcenter_upload |
| fastlane-plugin-teams | 0.2.0 | teams |
+---------------------------+---------+------------------------------------------+

[18:39:24]: Driving the lane 'bug_test' 🚀
[18:39:24]: ---------------------
[18:39:24]: --- Step: deliver ---
[18:39:24]: ---------------------
[18:39:24]: Successfully loaded '/Users/dan/git/ivu-realtime-app-ios/uraClient/fastlane/Deliverfile' 📄

+------------------------+--------------------------------------------------------------------------------+
| Detected Values from './fastlane/Deliverfile' |
+------------------------+--------------------------------------------------------------------------------+
| submit_for_review | false |
| copyright | *** |
| app_review_information |*** |
| privacy_url |*** |
| primary_category | MZGenre.Travel |
| secondary_category | MZGenre.Navigation |
| price_tier | 0 |
| release_notes | *** |
+------------------------+--------------------------------------------------------------------------------+

[18:39:24]: Error setting value 'Wat' for option 'ipa'
+-----------------+----------+
| Lane Context |
+-----------------+----------+
| PLATFORM_NAME | |
| LANE_NAME | bug_test |
| IPA_OUTPUT_PATH | Wat |
+-----------------+----------+
[18:39:24]: Could not find ipa file at path '/Users/dan/git/ivu-realtime-app-ios/uraClient/Wat'

+------+---------+-------------+
| fastlane summary |
+------+---------+-------------+
| Step | Action | Time (in s) |
+------+---------+-------------+
| 💥 | deliver | 0 |
+------+---------+-------------+

[18:39:24]: fastlane finished with errors

[!] Could not find ipa file at path '/Users/dan/git/ivu-realtime-app-ios/uraClient/Wat'

Environment

✅ fastlane environment ✅

Stack

Key Value
OS 10.15.7
Ruby 2.6.5
Bundler? true
Git git version 2.24.3 (Apple Git-128)
Installation Source ~/.rbenv/versions/2.6.5/bin/fastlane
Host Mac OS X 10.15.7 (19H15)
Ruby Lib Dir ~/.rbenv/versions/2.6.5/lib
OpenSSL Version OpenSSL 1.1.1d 10 Sep 2019
Is contained false
Is homebrew false
Is installed via Fabric.app false
Xcode Path /Applications/Xcode.app/Contents/Developer/
Xcode Version 12.1

System Locale

Variable Value
LANG de_DE.UTF-8
LC_ALL
LANGUAGE

fastlane files:

`./fastlane/Fastfile` (minimum viable example)
lane :bug_test do |options|

  Actions.lane_context[SharedValues::IPA_OUTPUT_PATH] = "Wat" 
  deliver(app_identifier:'some.app.id', ipa: options[:ipa])

end
`./fastlane/Appfile`
<redacted>

fastlane gems

Gem Version Update-Status
fastlane 2.166.0 ✅ Up-To-Date

Loaded fastlane plugins:

Plugin Version Update-Status
fastlane-plugin-appcenter 1.11.0 ✅ Up-To-Date
fastlane-plugin-teams 0.2.0 ✅ Up-To-Date
Loaded gems
Gem Version
did_you_mean 1.3.0
bundler 1.17.2
etc 1.0.1
forwardable 1.2.0
rake 13.0.1
CFPropertyList 3.0.2
concurrent-ruby 1.1.7
i18n 1.8.5
minitest 5.14.2
thread_safe 0.3.6
tzinfo 1.2.8
activesupport 5.2.4.4
public_suffix 4.0.6
addressable 2.7.0
httpclient 2.8.3
json 2.3.1
algoliasearch 1.27.5
atomos 0.1.3
aws-eventstream 1.1.0
aws-partitions 1.390.0
aws-sigv4 1.2.2
jmespath 1.4.0
aws-sdk-core 3.109.2
aws-sdk-kms 1.39.0
aws-sdk-s3 1.84.0
babosa 1.0.4
claide 1.0.3
clamp 1.3.2
fuzzy_match 2.0.4
nap 1.1.0
netrc 0.11.0
ffi 1.13.1
ethon 0.12.0
typhoeus 1.4.0
cocoapods-core 1.10.0
cocoapods-deintegrate 1.0.4
cocoapods-downloader 1.4.0
cocoapods-plugins 1.0.0
cocoapods-search 1.0.0
cocoapods-trunk 1.5.0
cocoapods-try 1.2.0
colored2 3.1.2
escape 0.0.4
fourflusher 2.3.1
gh_inspector 1.1.3
molinillo 0.6.6
ruby-macho 1.4.0
nanaimo 0.3.0
xcodeproj 1.19.0
cocoapods 1.10.0
colored 1.2
highline 1.7.10
commander-fastlane 4.4.6
declarative 0.0.20
declarative-option 0.1.0
digest-crc 0.6.1
unf_ext 0.0.7.7
unf 0.1.4
domain_name 0.5.20190701
dotenv 2.7.6
emoji_regex 3.2.1
excon 0.78.0
multipart-post 2.0.0
ruby2_keywords 0.0.2
faraday 1.1.0
http-cookie 1.0.3
faraday-cookie_jar 0.0.7
faraday_middleware 1.0.0
fastimage 2.2.0
jwt 2.2.2
memoist 0.16.2
multi_json 1.15.0
os 1.1.1
signet 0.14.0
googleauth 0.14.0
mini_mime 1.0.2
uber 0.1.0
representable 3.0.4
retriable 3.1.2
google-api-client 0.38.0
google-cloud-env 1.4.0
google-cloud-errors 1.0.1
google-cloud-core 1.5.0
google-cloud-storage 1.29.1
mini_magick 4.11.0
plist 3.5.0
rubyzip 2.3.0
security 0.1.3
naturally 2.2.0
simctl 1.6.8
slack-notifier 2.3.2
terminal-notifier 2.0.0
unicode-display_width 1.7.0
terminal-table 1.8.0
tty-screen 0.8.1
tty-cursor 0.7.1
tty-spinner 0.9.3
word_wrap 1.0.0
rouge 2.0.7
xcpretty 0.3.0
xcpretty-travis-formatter 1.0.0
fastlane-plugin-appcenter 1.11.0
fastlane-plugin-teams 0.2.0
mini_portile2 2.4.0
nokogiri 1.10.10
slather 2.5.0

generated on: 2020-11-11

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions