-
Notifications
You must be signed in to change notification settings - Fork 140
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ENG-5771: Add firebase app distribution support #2769
Conversation
Note: as currently setup in PR this is a breaking change as it changes the lanes you use to upload. |
I've addressed PR comments and also updated the lanes so this update should be nonbreaking. I did a quick test on theory repo with the existing workflows: https://github.com/brandingbrand/theory/actions/runs/11692375987 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@seanirby It looks good, just a nitpick about the outputted Fastfile, the whitespace is a little messed up due to extra indents in the template due to indenting based off EJS if statements.
@@ -31,6 +31,37 @@ lane :increment_build do | |||
end | |||
<% } -%> | |||
|
|||
lane :increment_build_appcenter do | |||
<% if(codePluginFastlane.plugin && codePluginFastlane.plugin.android && codePluginFastlane.plugin.android.appCenter) { -%> | |||
increment_build |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nitpick: whitespace of output is off, remember the if statement is EJS and not part of the output so don't need to indent things below it or you get double indentation
@@ -76,6 +76,15 @@ lane :increment_build do | |||
end | |||
<% } -%> | |||
|
|||
lane :increment_build_appcenter do | |||
<% if(codePluginFastlane.plugin && codePluginFastlane.plugin.ios && codePluginFastlane.plugin.ios.appCenter) { -%> | |||
increment_build |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
whitespace of outputted Fastfile, no indent after EJS
|
||
lane :increment_build_firebase do | ||
<% if(codePluginFastlane.plugin && codePluginFastlane.plugin.ios && codePluginFastlane.plugin.ios.firebase) { -%> | ||
begin |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
whitespace in output, no indent after EJS if
build | ||
|
||
<% if(codePluginFastlane.plugin && codePluginFastlane.plugin.ios && codePluginFastlane.plugin.ios.appCenter) { -%> | ||
appcenter_upload( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
whitespace of output, no indent after EJS if
I'll fix this up. |
Describe your changes
This PR updates the Fastlane plugin to optionally support a configuration for firebase app distribution. If the config is provided the plugin will add the necessary lanes. Besides including this configuration, the only other step for projects to integrate with FAD is to update their Github actions/workflows and to create a secret in their repo, GOOGLE_SERVICE_CREDENTIALS, which contains the firebase credentials for the google service account.
Overview of changes:
NOTE: I still need to verify Firebase Android release builds. I'm getting a failure on those builds because the app isn't linked to a Google Play account.Firebase release uploads have been verified to be working with this plugin logic using the theory app.
https://console.firebase.google.com/project/theory-57e35/appdistribution/app/android:com.fastretailing.theory/releases
Issue ticket number and link
https://brandingbrand.atlassian.net/browse/ENG-5771
Type of change
Test Plan
I created an example shopify template using the flagship accelerator. I used the config provided below and updated my repo to include the google service credential secret for the shopify project. I've given Nick Burkhart view permissions to the project so he can check it out. Currently the firebase builds are working for both platforms except the release Android builds aren't uploading because there isn't a Google Play account linked to the Firebase Shopify app.
Checklist before requesting a review