You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This one might not entirely be fastlanes fault but I'm reporting it since it will most likely trip someone else up in the future.
As part of our build process we have two lanes, one to upload builds to Google Play (gplay), and one to upload builds to Firebase App Distribution (firebase). These are included in the fastlane environment below.
Our build runs the gplay lane twice first, with the stage and prod flavours specified (in that order). It then runs the firebase lane with the stage flavour specified.
Despite running the gradle action as part of the firebase lane, GRADLE_AAB_OUTPUT_PATH still references the output of the gplay lane from earlier, which is a prod build. This happens because the stage build is completely cached by gradle and the build artifact is not re-written to disk, and based on https://github.com/fastlane/fastlane/blob/master/fastlane/lib/fastlane/actions/gradle.rb the modified timestamp of the AAB files are used to determine what ends up in GRADLE_AAB_OUTPUT_PATH.
I'm honestly not sure what fastlane can do to fix this, but it's certainly misleading as you'd expect GRADLE_AAB_OUTPUT_PATH and similar variables to be updated based on the previous builds no matter whether they were cached by gradle or not.
✅ fastlane environment ✅
Stack
Key
Value
OS
14.4.1
Ruby
3.3.0
Bundler?
true
Git
git version 2.45.0
Installation Source
~/.rbenv/versions/3.3.0/bin/fastlane
Host
macOS 14.4.1 (23E224)
Ruby Lib Dir
~/.rbenv/versions/3.3.0/lib
OpenSSL Version
OpenSSL 3.2.1 30 Jan 2024
Is contained
false
Is homebrew
false
Is installed via Fabric.app
false
Xcode Path
/Applications/Xcode.app/Contents/Developer/
Xcode Version
15.3
Swift Version
5.10
System Locale
Variable
Value
LANG
en_GB.UTF-8
✅
LC_ALL
LANGUAGE
fastlane files:
`./fastlane/Fastfile`
# This file contains the fastlane.tools configuration# You can find the documentation at https://docs.fastlane.tools## For a list of all available actions, check out## https://docs.fastlane.tools/actions## For a list of all available plugins, check out## https://docs.fastlane.tools/plugins/available-plugins## Uncomment the line if you want fastlane to automatically update itself# update_fastlaneENV['SUPPLY_UPLOAD_MAX_RETRIES']='10'default_platform(:android)defgradle_propertiesifENV["MAVEN_CREDENTIALS_USR"] && ENV["MAVEN_CREDENTIALS_PSW"]return{"mavenUsername"=>ENV["MAVEN_CREDENTIALS_USR"],"mavenPassword"=>ENV["MAVEN_CREDENTIALS_PSW"]}elsereturn{}endendplatform:androiddodesc"Upload an AAB to Google Play"lane:gplaydo |options|
gradle(task: "app:bundle",flavor: options[:variant].capitalize(),build_type: "Release",properties: gradle_properties())supply(track: "production",release_status: "draft",aab: lane_context[SharedValues::GRADLE_AAB_OUTPUT_PATH],skip_upload_apk: true,skip_upload_screenshots: true,skip_upload_images: true,skip_upload_metadata: true,json_key: ".service_accounts/" + options[:service_account] + ".json",package_name: options[:base_app_identifier] + (options[:variant] != "prod" ? "." + options[:variant] : ""))enddesc"Upload an AAB or APK to Firebase App Distribution"lane:firebasedo |options|
artifact_type=options[:artifact_type] || "AAB"gradle(task: (artifact_type == "APK" ? "app:assemble" : "app:bundle"),flavor: options[:variant].capitalize(),build_type: "Release",properties: gradle_properties())artifact_path=lane_context[artifact_type == "APK" ? lane_context[SharedValues::GRADLE_APK_OUTPUT_PATH] : lane_context[SharedValues::GRADLE_AAB_OUTPUT_PATH]]firebase_app_distribution(app: options[:firebase_app_id],android_artifact_type: artifact_type,android_artifact_path: artifact_path,groups: options[:firebase_tester_groups],service_credentials_file: ".service_accounts/" + options[:service_account] + ".json")endend
No Appfile found
fastlane gems
Gem
Version
Update-Status
fastlane
2.220.0
✅ Up-To-Date
Loaded fastlane plugins:
Plugin
Version
Update-Status
fastlane-plugin-firebase_app_distribution
0.9.1
✅ Up-To-Date
Loaded gems
Gem
Version
error_highlight
0.6.0
did_you_mean
1.6.3
syntax_suggest
2.0.0
bundler
2.5.9
pathname
0.3.0
rake
13.2.1
base64
0.2.0
nkf
0.2.0
rexml
3.2.6
CFPropertyList
3.0.7
public_suffix
5.0.5
addressable
2.8.6
artifactory
3.0.17
atomos
0.1.3
aws-eventstream
1.3.0
aws-partitions
1.925.0
aws-sigv4
1.8.0
jmespath
1.6.2
aws-sdk-core
3.194.2
aws-sdk-kms
1.80.0
aws-sdk-s3
1.149.1
babosa
1.0.4
claide
1.1.0
colored
1.2
colored2
3.1.2
highline
2.0.3
commander
4.6.0
declarative
0.0.20
digest-crc
0.6.5
domain_name
0.6.20240107
dotenv
2.8.1
emoji_regex
3.2.3
excon
0.110.0
faraday-em_http
1.0.0
faraday-em_synchrony
1.0.0
faraday-excon
1.1.0
faraday-httpclient
1.0.1
multipart-post
2.4.1
faraday-multipart
1.0.4
faraday-net_http
1.0.1
faraday-net_http_persistent
1.2.0
faraday-patron
1.0.0
faraday-rack
1.0.0
faraday-retry
1.0.3
ruby2_keywords
0.0.5
faraday
1.10.3
http-cookie
1.0.5
faraday-cookie_jar
0.0.7
faraday_middleware
1.2.0
fastimage
2.3.1
gh_inspector
1.1.3
jwt
2.8.1
multi_json
1.15.0
os
1.1.4
signet
0.19.0
googleauth
1.8.1
httpclient
2.8.3
mini_mime
1.1.5
trailblazer-option
0.1.2
uber
0.1.0
representable
3.2.0
retriable
3.1.2
google-apis-core
0.11.3
google-apis-androidpublisher_v3
0.54.0
google-apis-playcustomapp_v1
0.13.0
google-cloud-env
1.6.0
google-apis-iamcredentials_v1
0.17.0
google-apis-storage_v1
0.31.0
google-cloud-errors
1.4.0
google-cloud-core
1.7.0
google-cloud-storage
1.47.0
json
2.7.2
mini_magick
4.12.0
naturally
2.2.1
optparse
0.5.0
plist
3.7.1
rubyzip
2.3.2
security
0.1.5
simctl
1.6.10
terminal-notifier
2.0.0
unicode-display_width
2.5.0
terminal-table
3.0.2
tty-screen
0.8.2
tty-cursor
0.7.1
tty-spinner
0.9.3
word_wrap
1.0.0
nanaimo
0.3.0
xcodeproj
1.24.0
rouge
2.0.7
xcpretty
0.3.0
xcpretty-travis-formatter
1.0.1
google-apis-firebaseappdistribution_v1
0.3.0
google-apis-firebaseappdistribution_v1alpha
0.2.0
fastlane-plugin-firebase_app_distribution
0.9.1
generated on:2024-05-09
The text was updated successfully, but these errors were encountered:
This one might not entirely be fastlanes fault but I'm reporting it since it will most likely trip someone else up in the future.
As part of our build process we have two lanes, one to upload builds to Google Play (
gplay
), and one to upload builds to Firebase App Distribution (firebase
). These are included in the fastlane environment below.Our build runs the
gplay
lane twice first, with thestage
andprod
flavours specified (in that order). It then runs thefirebase
lane with thestage
flavour specified.Despite running the
gradle
action as part of thefirebase
lane,GRADLE_AAB_OUTPUT_PATH
still references the output of thegplay
lane from earlier, which is aprod
build. This happens because thestage
build is completely cached by gradle and the build artifact is not re-written to disk, and based on https://github.com/fastlane/fastlane/blob/master/fastlane/lib/fastlane/actions/gradle.rb the modified timestamp of the AAB files are used to determine what ends up inGRADLE_AAB_OUTPUT_PATH
.I'm honestly not sure what fastlane can do to fix this, but it's certainly misleading as you'd expect
GRADLE_AAB_OUTPUT_PATH
and similar variables to be updated based on the previous builds no matter whether they were cached by gradle or not.✅ fastlane environment ✅
Stack
System Locale
fastlane files:
`./fastlane/Fastfile`
No Appfile found
fastlane gems
Loaded fastlane plugins:
Loaded gems
generated on: 2024-05-09
The text was updated successfully, but these errors were encountered: