fastlane: Missing changelog for supply Android bundle to internal track
New Issue Checklist
- Updated fastlane to the latest version
- read the Contribution Guidelines
- I read docs.fastlane.tools
- I searched for existing GitHub issues
Issue Description
Fastlane supply won’t upload the changelog for a Android bundle (aab) to the internal track.
Before upload, no releases, no binaries

Changelog file in fastlane folder

Created release after upload, missing changelog

fastfile
default_platform(:android)platform :android do desc “Submit a new Beta Build to Crashlytics Beta” lane :internal do keystore_password = prompt(text: "Keystore Password: ", secure_text: true)
gradle( task: "clean bundle", build_type: "release", properties: { "keystorePassword": keystore_password } ) supply( track: 'internal' )end end
Complete output when running fastlane, including the stack trace and command used
$ fastlane internal [✔] 🚀 [20:09:54]: fastlane detected a Gemfile in the current directory [20:09:54]: however it seems like you don't use `bundle exec` [20:09:54]: to launch fastlane faster, please use [20:09:54]: [20:09:54]: $ bundle exec fastlane internal [20:09:54]: [20:09:54]: Get started using a Gemfile for fastlane https://docs.fastlane.tools/getting-started/ios/setup/#use-a-gemfile +----------------------------------------+---------+------------------------+ | Used plugins | +----------------------------------------+---------+------------------------+ | Plugin | Version | Action | +----------------------------------------+---------+------------------------+ | fastlane-plugin-increment_version_cod | 0.4.3 | increment_version_code | | e | | | +----------------------------------------+---------+------------------------+20:09:55: — Step: default_platform — 20:09:55: ------------------------------ 20:09:55: Driving the lane ‘android internal’ 🚀 20:09:55: -------------------- 20:09:55: — Step: prompt — 20:09:55: -------------------- 20:09:55: Keystore Password: [20:09:57]: -------------------- [20:09:57]: — Step: gradle — [20:09:57]: -------------------- [20:09:57]: $ /Users/mho/cd/git/#####/gradlew clean bundlerelease -p . -PkeystorePassword=titanic87 [20:09:58]: ▸ :clean UP-TO-DATE [20:09:58]: ▸ :app:clean [20:09:58]: ▸ :app:checkReleaseClasspath [20:09:58]: ▸ :app:preBuild UP-TO-DATE [20:09:58]: ▸ :app:preReleaseBuild [20:09:58]: ▸ :app:compileReleaseRenderscript [20:09:58]: ▸ :app:generateReleaseResValues [20:09:58]: ▸ :app:generateReleaseResources [20:09:59]: ▸ :app:mergeReleaseResources [20:09:59]: ▸ :app:checkReleaseManifest [20:09:59]: ▸ :app:createReleaseCompatibleScreenManifests [20:09:59]: ▸ :app:mainApkListPersistenceRelease [20:09:59]: ▸ :app:processReleaseManifest [20:09:59]: ▸ :app:bundleReleaseResources [20:09:59]: ▸ :app:mergeReleaseShaders [20:09:59]: ▸ :app:compileReleaseShaders [20:09:59]: ▸ :app:generateReleaseAssets [20:09:59]: ▸ :app:mergeReleaseAssets [20:09:59]: ▸ :app:compileReleaseAidl NO-SOURCE [20:09:59]: ▸ :app:generateReleaseBuildConfig [20:09:59]: ▸ :app:prepareLintJar UP-TO-DATE [20:09:59]: ▸ :app:splitsDiscoveryTaskRelease [20:09:59]: ▸ :app:processReleaseResources [20:09:59]: ▸ :app:generateReleaseSources [20:10:00]: ▸ :app:javaPreCompileRelease [20:10:00]: ▸ Note: Recompile with -Xlint:deprecation for details. [20:10:00]: ▸ :app:transformClassesWithDexBuilderForRelease [20:10:00]: ▸ :app:transformDexArchiveWithExternalLibsDexMergerForRelease [20:10:00]: ▸ :app:transformDexArchiveWithDexMergerForRelease [20:10:00]: ▸ :app:compileReleaseNdk NO-SOURCE [20:10:00]: ▸ :app:mergeReleaseJniLibFolders [20:10:01]: ▸ :app:transformNativeLibsWithMergeJniLibsForRelease [20:10:01]: ▸ :app:checkReleaseLibraries [20:10:01]: ▸ :app:processReleaseJavaRes NO-SOURCE [20:10:01]: ▸ :app:transformResourcesWithMergeJavaResForRelease [20:10:01]: ▸ :app:buildReleasePreBundle [20:10:01]: ▸ :app:validateSigningRelease [20:10:02]: ▸ :app:packageReleaseBundle [20:10:02]: ▸ :app:bundleRelease [20:10:02]: ▸ BUILD SUCCESSFUL in 4s [20:10:02]: ▸ 31 actionable tasks: 29 executed, 2 up-to-date [20:10:02]: -------------------- [20:10:02]: — Step: supply — [20:10:02]: --------------------
±------------------------±------------------------------------------------------------+ | Summary for supply 2.107.0 | ±------------------------±------------------------------------------------------------+ | track | internal | | aab | /Users/mho/cd/git/####/app/build/outputs/bundle/release | | | /app.aab | | package_name | ############################ | | metadata_path | ./fastlane/metadata/android | | json_key | fastlane/google-play-credentials.json | | skip_upload_apk | false | | skip_upload_aab | false | | skip_upload_metadata | false | | skip_upload_images | false | | skip_upload_screenshots | false | | validate_only | false | | check_superseded_tracks | false | | timeout | 300 | | deactivate_on_promote | true | ±------------------------±------------------------------------------------------------+
[20:10:05]: Preparing to upload for language ‘en-US’… [20:10:05]: Preparing aab at path ‘/Users/mho/cd/git/####/app/build/outputs/bundle/release/app.aab’ for upload… [20:10:10]: Updating track ‘internal’… [20:10:11]: Uploading all changes to Google Play… [20:10:18]: Successfully finished the upload to Google Play
±-----±-----------------±------------+ | fastlane summary | ±-----±-----------------±------------+ | Step | Action | Time (in s) | ±-----±-----------------±------------+ | 1 | default_platform | 0 | | 2 | prompt | 2 | | 3 | gradle | 5 | | 4 | supply | 15 | ±-----±-----------------±------------+
[20:10:18]: fastlane.tools finished successfully 🎉
Environment
✅ fastlane environment ✅
Stack
| Key | Value |
|---|---|
| OS | 10.13.6 |
| Ruby | 2.3.7 |
| Bundler? | false |
| Git | git version 2.15.1 |
| Installation Source | /usr/local/bin/fastlane |
| Host | Mac OS X 10.13.6 (17G65) |
| Ruby Lib Dir | /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib |
| OpenSSL Version | LibreSSL 2.2.7 |
| Is contained | false |
| Is homebrew | false |
| Is installed via Fabric.app | false |
| Xcode Path | /Applications/Xcode.app/Contents/Developer/ |
| Xcode Version | 9.2 |
System Locale
| Variable | Value | |
|---|---|---|
| LANG | en_US.UTF-8 | ✅ |
| LC_ALL | en_US.UTF-8 | ✅ |
| LANGUAGE |
fastlane files:
`./fastlane/Fastfile`
default_platform(:android)
platform :android do
desc "Submit a new Beta Build to Crashlytics Beta"
lane :internal do
#UI.user_error!("Not all requirements are met.") unless check_requirements
keystore_password = prompt(text: "Keystore Password: ", secure_text: true)
gradle(
task: "clean bundle",
build_type: "release",
properties: {
"keystorePassword": keystore_password
}
)
supply(
track: 'internal'
)
end
end
def check_requirements
return false unless prompt(text: "Did you update the versionName and versionCode in build.gradle?", boolean: true)
return false unless prompt(text: "Did you update the changelog?: ", boolean: true)
return false unless prompt(text: "Did you commit all your changes?: ", boolean: true)
return true
end
`./fastlane/Appfile`
json_key_file("fastlane/google-play-credentials.json") # Path to the json secret file - Follow https://docs.fastlane.tools/actions/supply/#setup to get one
package_name("#####################") # e.g. com.krausefx.app
fastlane gems
| Gem | Version | Update-Status |
|---|---|---|
| fastlane | 2.107.0 | ✅ Up-To-Date |
Loaded fastlane plugins:
| Plugin | Version | Update-Status |
|---|---|---|
| fastlane-plugin-increment_version_code | 0.4.3 | ✅ Up-To-Date |
Loaded gems
| Gem | Version |
|---|---|
| did_you_mean | 1.0.0 |
| slack-notifier | 2.3.2 |
| atomos | 0.1.3 |
| claide | 1.0.2 |
| colored2 | 3.1.2 |
| nanaimo | 0.2.6 |
| xcodeproj | 1.7.0 |
| rouge | 2.0.7 |
| xcpretty | 0.3.0 |
| terminal-notifier | 1.8.0 |
| terminal-table | 1.8.0 |
| plist | 3.4.0 |
| public_suffix | 2.0.5 |
| addressable | 2.5.2 |
| multipart-post | 2.0.0 |
| word_wrap | 1.0.0 |
| tty-spinner | 0.8.0 |
| babosa | 1.0.2 |
| colored | 1.2 |
| highline | 1.7.10 |
| commander-fastlane | 4.4.6 |
| http-cookie | 1.0.3 |
| faraday-cookie_jar | 0.0.6 |
| gh_inspector | 1.1.3 |
| mini_magick | 4.5.1 |
| multi_json | 1.13.1 |
| multi_xml | 0.6.0 |
| rubyzip | 1.2.2 |
| security | 0.1.3 |
| xcpretty-travis-formatter | 1.0.0 |
| bundler | 1.16.1 |
| faraday_middleware | 0.12.2 |
| emoji_regex | 0.1.1 |
| tty-cursor | 0.6.0 |
| tty-screen | 0.6.5 |
| faraday | 0.15.3 |
| json | 2.1.0 |
| io-console | 0.4.5 |
| excon | 0.62.0 |
| CFPropertyList | 3.0.0 |
| libxml-ruby | 2.9.0 |
| jwt | 2.1.0 |
| signet | 0.11.0 |
| uber | 0.1.0 |
| declarative | 0.0.10 |
| declarative-option | 0.1.0 |
| representable | 3.0.4 |
| httpclient | 2.8.3 |
| google-api-client | 0.23.9 |
| memoist | 0.16.0 |
| googleauth | 0.6.7 |
| unf_ext | 0.0.7.5 |
| unf | 0.1.4 |
| domain_name | 0.5.20180417 |
| fastimage | 2.1.4 |
| unicode-display_width | 1.4.0 |
| fastlane-plugin-increment_version_code | 0.4.3 |
generated on: 2018-10-31
About this issue
- Original URL
- State: closed
- Created 6 years ago
- Reactions: 7
- Comments: 26 (9 by maintainers)
Commits related to this issue
- Fix for https://github.com/fastlane/fastlane/issues/13616 - after uploading a new bundle, check for changenotes metadata to upload in the same manner it does for uploading apks. — committed to bed42/fastlane by andrew-bednarz-isobar 5 years ago
- [supply] Also upload changelog when uploading bundle (#14511) * Fix for https://github.com/fastlane/fastlane/issues/13616 - after uploading a new bundle, check for changenotes metadata to upload in t... — committed to fastlane/fastlane by bed42 5 years ago
Looking at the code… after an APK is uploaded, the changenotes from this new uploaded version is then explicitly uploaded. This does not occur when bundles are uploaded.
Will have a PR shortly to fix this
Yup these reports (including mine) were incorrect symptoms due the circumstances seen and incorrect assumptions on how fast lane & google play APIs actually work.
supply effectively does the following, in this order:
note, google play doesn’t have seperate change notes per build number per track. Before my PR, a brand new aab build going to any track would not get its change notes uploaded, until the next time fastlane was run. At this time a build may have since been promoted from internal to alpha, beta, release… doesn’t matter, it would get its change note uploaded.
None of this is very clear when just running and doing one or two of the small variations of things one can do… hence the clear confusion around specific scenerios seen 😃
@janpio I have the same issue. This log uses Fastlane version 2.113.0. But I have tried 2.114.0 before, this issue still happened.
Details
@janpio will run with the verbose flag next time i’m able to run the command and get the output right back to you! Might need a bit of time, will try and do it asap