I have fastlane script, which calculates my app version and build number. And I need to pass it outside of fastlane step somehow (I’m going to use them on set-xcode-build-number step)
Is the any way to save values into envs using fastlane (ruby) script and use it in another step? Or any other approach?
Fastlane - how to pass value to another step
Hi @ViktorO!
Could you try using envman to assign those values to a variable? The usage is fairly simple:
envman add --key MY_TEST_ENV_KEY --value 'test value for test key'
Hi @bitce
That was the first thing, which I tried to do
Since flutter is ruby lng, I wrapped commands in system:
system("envman add --key APP_CURRENT_VERSION --value ", version)
system("envman add --key APP_CURRENT_BUILD --value ", next_build)
No success. Received No build_version specified! in set-xcode-build-number step
Step yml:
- set-xcode-build-number@1:
inputs:
- build_short_version_string: "$APP_CURRENT_VERSION"
- build_version_offset: ''
- build_version: "$APP_CURRENT_BUILD"
- plist_path: iOS/Info.plist
Hi @ViktorO! I see, that possibly isn’t gonna work that way. Can you send us a build URL for instance where we could see how this is being used exactly? Thanks!
Sure
Link to app: https://app.bitrise.io/app/48c3625a1e9973f8
Link to its latest build: https://app.bitrise.io/build/381fa56e6d81ff0b
Thanks! I see now that all of this is meant to be executed from a single fastlane step, so this doesn’t provide us access to the contents of the Script. Is that something you could share here?
Fastlane lane:
lane :build_version_last do
version = get_version_number(
xcodeproj: "TestCI.xcodeproj",
target: "TestCI",
configuration: ENV['TG_CONFIGURATION']
)
build = latest_testflight_build_number(
app_identifier: ENV['TG_BUNDLE'],
version: version
)
next_build = (build + 1).to_s
# Export envs here
end
Thanks, that’s helpful too for sure, but what I really want to see is the ruby script where you define the variables, is that something you could share too?
If you mean envs, then instead of # Export envs here
part I tried:
Raw: ENV['APP_CURRENT_VERSION'] = version
- definitely doesn’t work.
Envman command both raw and wrapped in system
(like in this message - Fastlane - how to pass value to another step)