theappbusiness / masterfastfile Goto Github PK
View Code? Open in Web Editor NEWMaster Fastfile used for internal builds
License: MIT License
Master Fastfile used for internal builds
License: MIT License
https://github.com/theappbusiness/MasterFastfile/blob/develop/Fastfile#L186
lane_context[SharedValues::APPCENTER_BUILD_INFORMATION]
The line above is referencing the entire build information, rather than the install_url
. Which will also need decoding I believe.
There is a lane context for APPCENTER_DOWNLOAD_LINK
but I think that takes you to the apk/ipa directly rather than the App Center install page.
When deploying to hockey we post a message to slack with a some meta info about the build and a link to the hockey build. It could be helpful if we should include the build number if it exists.
Any thoughts?
We could use a new environment variable TAB_PROVISIONING_PROFILE_FILEPATH
to define the path of profile to be installed
I was trying to set up one of my projects that has multiple extensions to use MasterFastfile
and was initially unsure on where the Provfile
comes from.
I don't know what this is: Time.now.strftime("%y%m%d%H%M") # rubocop:disable Style/StringLiterals
But it isn't a unix timestamp...
It should be replaced by:
Time.now.to_i
At the bottom of the Fastfile, we have this:
error do |lane, exception|
end
Is there a plan to implement handling here? If not, is there any point having it in the file?
Since updating fastlane to current latest (2.86.2) we are not able to deploy builds to Hockey.
After some research, I found out that get_version_number
action has changed.
https://github.com/fastlane/fastlane/blob/5846fe56a548f056c5f875c05fa4b900d0d35558/fastlane/lib/fastlane/actions/get_version_number.rb
That caused a lot of issues to many devs. Please check here fastlane/fastlane#12119.
Apparently the if you call get_version_number without any parameters will prompt you to enter the target if running manually. However, as we do run Jenkins tasks, tasks are failing
[!] Could not retrieve response as fastlane runs in non-interactive mode
I just wanted to make you aware of this.
We often want to build using a different profiles and credentials, we should also users to specify a team ID and a path to their project file. If they have done this we can use the update_team_id action. This allows us to build using different profiles and credentials in Xcode 8 and enables the upload to itc lane all planned.
Currently there is warning when using the MasterFastfile as there is a lane named hockey
as well as an action:
Name of the lane 'hockey' is already taken by the action named 'hockey
Currently the environment variables relating to provisioning profiles are not clear to the user.
TAB_PROVISIONING_PROFILE
is for setting the profile
TAB_PROVISIONING_PROFILE_PATH
is for installing it in the build machine
I propose we change these variable names to be more explicit, something like the following;
TAB_SIGNING_WITH_PROVISIONING_PROFILE
TAB_INSTALL_PROVISIONING_PROFILE_PATH
for installing it in the build machine
Seeing as this is a breaking change it will be part of the 3.0.0 release if implemented
We did migrate from Xcode 8 to Xcode 9 but start seeing issues when running deploy_to_hockey
. For some reason is trying to code sign the Cocoapods frameworks. Any help?
[10:11:47]: ▸ === BUILD TARGET SOME_POD OF PROJECT Pods WITH CONFIGURATION Release === [10:11:47]: ▸ Check dependencies [10:11:47]: ▸ Code Signing Error: SOME_POD does not support provisioning profiles. SOME_POD does not support provisioning profiles, but provisioning profile {prov profile set in TAB_PROVISIONING_PROFILE is shown here} has been manually specified. Set the provisioning profile value to "Automatic" in the build settings editor.
For many projects the following works for the export options
{
"provisioningProfiles": {
$(FL_UPDATE_PLIST_APP_IDENTIFIER): $(TAB_PROVISIONING_PROFILE)
},
"method": $(TAB_EXPORT_METHOD)
}
We should have this by default and allow people to override them
The project currently does not have a license associated with it. Should it have one?
Add an example in the README file:
import_from_git(url: 'https://github.com/theappbusiness/MasterFastfile.git', branch: 'tags/1.1', path: 'Fastfile')
I've noticed that the install_provisioning_profile
action only looks for the TAB_PROVISIONING_PROFILE_PATH
to decide what to install, so my understanding is that if there are multiple targets needing multiple provisioning profiles, they won't all get installed automatically and would need to be installed manually into Xcode on whichever machine is running Fastlane.
We can probably do something to improve this, by either just looking for profiles in the Fastlane directory and installing them automatically, or some other way.
When having this feature turned on for some environments like so:
TAB_USE_TIME_FOR_BUILD_NUMBER=TRUE
Temporarily disabling it using:
TAB_USE_TIME_FOR_BUILD_NUMBER=FALSE
... does not work.
The only way to disable it is to delete the line that defines the variable.
A crucial part of our workflow not yet covered by the MasterFastfile
The wiki is out of date, across a few topics such as environment variables and lanes. Also worth a review of what environment variables we use
Add more info around the ENV variables that need to be set and maybe where best to set them (examples)
The release badge appears to be showing the wrong release. It's a few behind now.
I propose a new lane:- PRChecker
This lane will be similar to the test lane with one enhancement, it will checkout the latest version of the target branch and merge the pr into that locally before running the tests.
Some CI's allow this configured manually but not all. It is useful to ensure nothing breaks once the merge is complete before we merge on the repo however.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.