Giter Site home page Giter Site logo

bitrise-step-firebase-app-distribution's People

Contributors

anthonydadewt avatar dautovicharis avatar guness avatar koral-- avatar lszucs avatar santiagofm avatar subzthanabalan avatar ybanezmi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

bitrise-step-firebase-app-distribution's Issues

Both authentication methods are defined although I only use credentials file

Hi,

I'm getting a strange error when using this step.
I'm only referencing a credentials file, but in the log I can see "Both authentication methods are defined" and the command fails.

Configs:
* firebase_token:
* service_credentials_file: /var/folders/71/rszmbrmd6tv4pg52z6ql_5c0000gn/T/GENERIC_FILE_STORAGE1683874599/xxxxx.json
* app_path: /Users/vagrant/deploy/xxxxxxxxe.ipall
* app: 1:xxxxxxxxxx
* release_notes:
* release_notes_length:
* release_notes_file:
* testers:
* groups: decathlon
* flags:
* is_debug: false
* upgrade_firebase_tools: false
App path ends with || . Manually fixing path: /Users/vagrant/deploy/xxxxxxxxxx.ipal|
Both authentication methods are defined: Firebase Token (via FIREBASE_TOKEN environment variable) and Service Credentials Field, one is enough.
-- Checking for existing firebase-tools on PATH...
Your machine has [email protected] installed.
If you would like to upgrade your install run: curl -sL firebase.tools | upgrade=true bash
Deploying build to Firebase
firebase appdistribution:distribute "/Users/vagrant/deploy/ConnectedLockerSample.ipa" --app
"1:xxxxxxxxx" -groups "xxxxxxxxx"
Authenticating with 'FIREBASE_TOKEN' is deprecated and will be removed in a future major version of
'firebase-tools'. Instead, use a service account key with *GOOGLE_APPLICATION_CREDENTIALS*: https://cloud.google.com/docs/authentication/getting-started
uploading binary...
Error: Failed to upload release. Authentication Error: Your credentials are no longer valid. Please run firebase login --reauth
For CI servers and headless environments, generate a new token with firebase login:ci
Capture d’écran 2024-04-29 à 10 59 16 Capture d’écran 2024-04-29 à 10 58 50

The default path fails for IPA

The default value for the file path is: $BITRISE_IPA_PATH|$BITRISE_APK_PATH|$BITRISE_AAB_PATH (at least it was for me after the latest change to 0.9.x).

This started to fail, however, with app_path: /Users/vagrant/deploy/abc.ipa|| and App path contains || . You need to choose one build path: /Users/vagrant/deploy/talkmanIos.ipa||.

I am building a kotlin multiplatform app with the same step reused to output ios and android app, so it would be great if it could work with that setup like it did before.

Apps not distributed due to missing contact email

Distribution worked until certain point of time. After appeared a weird error: missing contact email. But I am sure that there is a contact email for each distributed app set - it cannot be not set

| (2) Firebase deploy - dev |
+------------------------------------------------------------------------------+
| id: firebase-app-distribution |
| version: 0.6.0 |
| collection: https://github.com/bitrise-io/bitrise-steplib.git |
| toolkit: bash |
| time: 2020-04-07T15:48:52Z |
+------------------------------------------------------------------------------+
| |
Configs:

  • firebase_token: [REDACTED]
  • service_credentials_file:
  • app_path: /bitrise/deploy/app-development-debug.apk
  • app: 1:<...>
  • release_notes:
  • release_notes_file:
  • testers:
  • groups: testers
  • flags:
  • is_debug: true
    App path contains one file 👍
    -- Checking for existing firebase-tools on PATH...
    error: unknown option '--tool:setup-check'
    Your machine has [email protected] installed.
    If you would like to upgrade your install run: curl -sL firebase.tools | upgrade=true bash
    Deploying build to Firebase
    firebase appdistribution:distribute '/bitrise/deploy/app-development-debug.apk' --app '1:<...>' --groups 'testers' --debug
    [2020-04-07T15:48:59.681Z] ----------------------------------------------------------------------
    [2020-04-07T15:48:59.684Z] Command: /usr/bin/node /usr/bin/firebase appdistribution:distribute /bitrise/deploy/app-development-debug.apk --app 1:<...> --groups testers --debug
    [2020-04-07T15:48:59.685Z] CLI Version: 7.15.1
    [2020-04-07T15:48:59.685Z] Platform: linux
    [2020-04-07T15:48:59.685Z] Node Version: v10.19.0
    [2020-04-07T15:48:59.685Z] Time: Tue Apr 07 2020 15:48:59 GMT+0000 (Coordinated Universal Time)
    [2020-04-07T15:48:59.685Z] Env Overrides: FIREBASE_APP_DISTRIBUTION_URL
    [2020-04-07T15:48:59.685Z] ----------------------------------------------------------------------
    [2020-04-07T15:48:59.686Z]
    [2020-04-07T15:48:59.694Z] > command requires scopes: ["email","openid","https://www.googleapis.com/auth/cloudplatformprojects.readonly","https://www.googleapis.com/auth/firebase","https://www.googleapis.com/auth/cloud-platform"]
    [2020-04-07T15:48:59.694Z] > authorizing via FIREBASE_TOKEN environment variable
    i getting app details...
    [2020-04-07T15:48:59.697Z] > refreshing access token with scopes: ["email","openid","https://www.googleapis.com/auth/cloudplatformprojects.readonly","https://www.googleapis.com/auth/firebase","https://www.googleapis.com/auth/cloud-platform"]
    [2020-04-07T15:48:59.698Z] >>> HTTP REQUEST POST https://www.googleapis.com/oauth2/v3/token
[2020-04-07T15:48:59.789Z] <<< HTTP RESPONSE 200 content-type=application/json; charset=utf-8, vary=X-Origin, Referer, Origin,Accept-Encoding, date=Tue, 07 Apr 2020 15:48:59 GMT, server=scaffolding on HTTPServer2, cache-control=private, x-xss-protection=0, x-frame-options=SAMEORIGIN, x-content-type-options=nosniff, accept-ranges=none, transfer-encoding=chunked [2020-04-07T15:48:59.791Z] >>> HTTP REQUEST GET https://console.firebase.google.com/u/0/project/<...>/appdistribution/app/android/<...>/releases/v1alpha/apps/1:<...>

[2020-04-07T15:49:00.173Z] <<< HTTP RESPONSE 200 content-type=text/html; charset=utf-8, cache-control=no-cache, no-store, max-age=0, must-revalidate, pragma=no-cache, expires=Mon, 01 Jan 1990 00:00:00 GMT, date=Tue, 07 Apr 2020 15:49:00 GMT, p3p=CP="This is not a P3P policy! See g.co/p3phelp for more info.", content-security-policy=script-src 'report-sample' 'nonce-1vf14+yLqG2AhS1D3uIt1w' 'unsafe-inline' 'strict-dynamic' https: http: 'unsafe-eval';object-src 'none';base-uri 'self';report-uri /u/0/cspreport, server=ESF, x-xss-protection=0, x-frame-options=SAMEORIGIN, x-content-type-options=nosniff, set-cookie=[NID=201=Wh6z4t8eV6WpJQ8ugEx2y08xKEYj4RE7KHfMoQuC6fya_edElHUO_ZsjJok5-dR8OvgO6YR7QJLPu4HJRs5LlWuj4Sg7jZXlGfYU1V8Z_SM0t5D5X174hm1LCGpN-vazGCW3dKJGwaZf3eI6B7aRSUDcbgQAYxT2pnz43SJSvLs; expires=Wed, 07-Oct-2020 15:49:00 GMT; path=/; domain=.google.com; HttpOnly], accept-ranges=none, vary=Accept-Encoding, transfer-encoding=chunked
Error: We could not find a contact email for app 1:<...>. Please visit App Distribution within the Firebase Console to set one up.

Error: failed to fetch app information. HTTP Error: 400, Request contains an invalid argument.

After migration Firebase app distribution step to 0.6.0 I'm experiencing the issue with upload.

I have tried to regenerate FIREBASE_TOKEN and also update Firebase CLI to the latest version, but the problem still exists.

App path starts with | . Manually fixing path: |/bitrise/deploy/app-release.apk
-- Checking for existing firebase-tools on PATH...
Your machine has firebase-tools@�]0;Firebase CLI�7.16.1 installed.
If you would like to upgrade your install run: curl -sL firebase.tools | upgrade=true bash
Deploying build to Firebase
  firebase appdistribution:distribute '/bitrise/deploy/app-release.apk' --app '$APP_ID' --testers '[REDACTED],[email protected]' --debug
�]0;Firebase CLI�[2020-03-25T16:09:53.804Z] ----------------------------------------------------------------------
[2020-03-25T16:09:53.809Z] Command:       /usr/local/bin/firebase /root/.cache/firebase/tools/lib/node_modules/firebase-tools/lib/bin/firebase appdistribution:distribute /bitrise/deploy/app-release.apk --app $APP_ID --testers [REDACTED],[email protected] --debug
[2020-03-25T16:09:53.810Z] CLI Version:   7.16.1
[2020-03-25T16:09:53.810Z] Platform:      linux
[2020-03-25T16:09:53.810Z] Node Version:  v12.13.1
[2020-03-25T16:09:53.811Z] Time:          Wed Mar 25 2020 16:09:53 GMT+0000 (Coordinated Universal Time)
[2020-03-25T16:09:53.811Z] ----------------------------------------------------------------------
[2020-03-25T16:09:53.811Z] 
[2020-03-25T16:09:53.820Z] > command requires scopes: ["email","openid","https://www.googleapis.com/auth/cloudplatformprojects.readonly","https://www.googleapis.com/auth/firebase","https://www.googleapis.com/auth/cloud-platform"]
[2020-03-25T16:09:53.820Z] > authorizing via FIREBASE_TOKEN environment variable
i  getting app details...
[2020-03-25T16:09:53.823Z] > refreshing access token with scopes: ["email","openid","https://www.googleapis.com/auth/cloudplatformprojects.readonly","https://www.googleapis.com/auth/firebase","https://www.googleapis.com/auth/cloud-platform"]
[2020-03-25T16:09:53.824Z] >>> HTTP REQUEST POST https://www.googleapis.com/oauth2/v3/token  
 <request body omitted>
[2020-03-25T16:09:53.901Z] <<< HTTP RESPONSE 200 content-type=application/json; charset=utf-8, vary=X-Origin, Referer, Origin,Accept-Encoding, date=Wed, 25 Mar 2020 16:09:53 GMT, server=scaffolding on HTTPServer2, cache-control=private, x-xss-protection=0, x-frame-options=SAMEORIGIN, x-content-type-options=nosniff, accept-ranges=none, transfer-encoding=chunked
[2020-03-25T16:09:53.903Z] >>> HTTP REQUEST GET https://firebaseappdistribution.googleapis.com/v1alpha/apps/$APP_ID  
 
[2020-03-25T16:09:53.937Z] <<< HTTP RESPONSE 400 vary=X-Origin, Referer, Origin,Accept-Encoding, content-type=application/json; charset=UTF-8, date=Wed, 25 Mar 2020 16:09:53 GMT, server=ESF, cache-control=private, x-xss-protection=0, x-frame-options=SAMEORIGIN, x-content-type-options=nosniff, accept-ranges=none, transfer-encoding=chunked
[2020-03-25T16:09:53.937Z] <<< HTTP RESPONSE BODY code=400, message=Request contains an invalid argument., status=INVALID_ARGUMENT
Error: failed to fetch app information. HTTP Error: 400, Request contains an invalid argument.

Release notes length exceeds maximum character limit

I know you closed the two previous ticket.

The minimun is to offer to users of that step to be able to activate the string truncate by a simple boolean. Regarding the maximun lentgh, make it parametable.

Isn't simple? Currently this step is unusable without adding extra code...

I'm just the 3rd developer to request that feature... so it's time to listen us :)

Step fails with error code 126

Hi, we were using this step for a long time and it is very useful.

We started having problems with this once we moved to the node v18 because we updated react native to v73 which requires node >= 18.

Also I can confirm that node v18.16.0 is installed globally in this workflow. See screenshot bellow. I added this step just to be sure it's installed correctly just before we run firebase-app-distribution step.

Screenshot 2024-01-25 at 13 55 24

Workflow is designed to test, build and release the app to app distribution so that our internal testers can check the new release.

After .apk is created we are running firebase-app-distribution step which fails with the error code 126.

Peice of bitrise.yml:

deploy-firebase:
    steps:
    - firebase-app-distribution@0:
        inputs:
        - app: $FIREBASE_APP_ID
        - upgrade_firebase_tools: "true"
        - groups: $FIREBASE_TESTER_GROUPS
        - service_credentials_file: $FIREBASE_SERVICE_ACCOUNT
        - release_notes_file: $RELEASE_NOTES_FILE

Screenshot of the error log:
Screenshot 2024-01-25 at 13 42 14

Do you know how can we fix this issue?

Can't add release notes that start with a `-` char

The firebase command ends up resolving to

firebase appdistribution:distribute "/bitrise/deploy/app-release.apk" --app "1:123:android:456" --release-notes "- Add feature 1\n- Add feature 2\n" --groups "entirecompany"

which fails with error: unknown option '-A'

After reaching out to firebase support they recommended using

--release-notes="- Add feature 1\n- Add feature 2\n"

which resolved the issue, but I have to script it by hand to do that. Would be nice if the firebase step was updated to support a leading - character in release notes.

Support .aab format

Android applications can be distributed via an .aab format however now we are receiving:

Error: unsupported distribution file format, should be .ipa or .apk

Uploading takes too long and fails, add retry mechanism ?

Hello

I regularly (1 in 10 times) get this issue when uploading AAB to Firebase :

App path contains a file, great!! 👍
-- Checking for existing firebase-tools on PATH...
Your machine has [email protected] installed.
If you would like to upgrade your install run: curl -sL firebase.tools | upgrade=true bash
Deploying build to Firebase
  firebase appdistribution:distribute "/Users/vagrant/deploy/app-release.aab" --app "1:588<redacted>"
i  uploading distribution...
Error: failed to upload distribution. it took longer than expected to process your binary, please try again
|                                                                              |
+---+---------------------------------------------------------------+----------+
| ! | firebase-app-distribution@0 (exit code: 1)                    | 2.8 min  |
+---+---------------------------------------------------------------+----------+
| Issue tracker: ...b.com/guness/bitrise-step-firebase-app-distribution/issues |
| Source: https://github.com/guness/bitrise-step-firebase-app-distribution     |
+---+---------------------------------------------------------------+----------+

This is an issue on Firebase side, but it would be useful to retry at least once, since this is very temprary.

Thanks !

syntax error near unexpected token `newline'

Message:

Setting permissions on binary...
/usr/local/bin/firebase: line 1: syntax error near unexpected token `newline'
/usr/local/bin/firebase: line 1: `<html>'
Something went wrong, firebase has not been installed.
Please file a bug with your system information on Github.
https://github.com/firebase/firebase-tools/
-- All done!

Using latest version: 0.10.0
Android build
Enable Firebase Tools Upgrade set to true

Error: Failed to authenticate, have you run firebase login?

I run into this error when setting up firebase app distribution on bitrise CI.I have used a script to download the firebase credentials file and a step to verify the file is downloaded.i have done everything from this answer #9
What could be causing the authentication issue?How do I run firebase login?
Here is an extract from my build:
Screenshot_20200804-214148_Firefox

Fails without diagnostics if the release notes field is too large

Our distribution was failing randomly and wasn't suggesting why it was failing.
After playing around with a few variables I noticed that the release notes were pretty long, so blanked it out for the build which subsequently passed.

Suggest that this step truncates the release notes to maybe no more than 100 characters so it passes verification

App path defined but the file does not exist at path, Flutter iOS

I use a custom step to create an .ipa file from a Flutter app. After such a step I use bitrise-step-firebase-app-distribution to upload to Firebase AppDistribution.

This worked until a couple of weeks ago.

Now I get this:

[CUT]
Exported uat to: /Users/vagrant/git/build/ios/output
** EXPORT SUCCEEDED **
ipa can be found in build/ios/output/uat.ipa
|                                                                              |
+---+---------------------------------------------------------------+----------+
| ✓ | make ios-uat                                                  | 21.2 min |
+---+---------------------------------------------------------------+----------+
                                          ▼
+------------------------------------------------------------------------------+

| (8) firebase-app-distribution@0                                              |
+------------------------------------------------------------------------------+
| id: firebase-app-distribution                                                |
| version: 0.8.0                                                               |
| collection: https://github.com/bitrise-io/bitrise-steplib.git                |
| toolkit: bash                                                                |
| time: 2021-05-26T17:55:44+01:00                                              |
+------------------------------------------------------------------------------+
|                                                                              |
Configs:
  * firebase_token: [REDACTED]
  * service_credentials_file: 
  * app_path: /Users/vagrant/git/build/ios/output/uat.ipa
  * app: [REDACTED manually for this issue]
  * release_notes: [REDACTED manually for this issue]
  * release_notes_file: 
  * testers: 
  * groups: [REDACTED manually for this issue]
  * flags: 
  * is_debug: false
  * upgrade_firebase_tools: true
App path contains one file 👍
App path defined but the file does not exist at path: /Users/vagrant/git/build/ios/output/uat.ipa
|                                                                              |
+---+---------------------------------------------------------------+----------+
| x | firebase-app-distribution@0 (exit code: 1)                    | 3.75 sec |
+---+---------------------------------------------------------------+----------+
| Issue tracker: ...b.com/guness/bitrise-step-firebase-app-distribution/issues |
| Source: https://github.com/guness/bitrise-step-firebase-app-distribution     |
+---+---------------------------------------------------------------+----------+

When I create the Android app and upload it to Firebase, everything works as it did a couple of weeks ago.

What changed since then is the version of Flutter, but the file seems to be at the correct location, what could be wrong? Any suggestion on how to debug this?

Service Credentials File can refer to link url instead of local path

Hi, following up on this request #9, I want to request the service credentials file can refer to download link url directly instead of we have to download it manually and put on local directory.
Possible reason: Someone that have "Rebuild with Remove Access" access may be able to see the file and see the credential?

Validation in case FIREBASE_TOKEN is exported in the environment

It would be great if the script validated if FIREBASE_TOKEN variable is exported (not only firebase_token) and threw an error.

I had a case in Bitrise where there was a secret env var named exactly FIREBASE_TOKEN. This caused an issue while trying to authenticate with a service account, because even while firebase_token inside the script was empty, it was still trying to authenticate using the token:

Captura de Tela 2021-10-19 às 15 57 08

It took me a while to figure out that the problem was a secret env var named FIREBASE_TOKEN. Renaming it solved the problem.

Support .aab format

Android applications can be distributed via an .aab format however now we are receiving:

Error: unsupported distribution file format, should be .ipa or .apk

Firebase Deploying build Error: Failed to upload release. HTTP Error: 403, The caller does not have permission

Hi,
It seems --token based Authenticating not working. Can you guys provide service account key configuration on Bitrise?
We are getting an error while uploading builds to Firebase.

Authenticating with `--token` is deprecated and will be removed in a future major version of `firebase-tools`. Instead, use a service account key with `GOOGLE_APPLICATION_CREDENTIALS`: https://cloud.google.com/docs/authentication/getting-started
i  uploading binary...
Error: Failed to upload release. HTTP Error: 403, The caller does not have permission

Deployment Failed: 400 - Invalid Argument

Command:

firebase appdistribution:distribute "/bitrise/deploy/signed.aab" --app "[FIREBASE_APP_ID]" --token "[REDACTED]" --debug

Debug Logs:

[apiv2][query]  GET https://firebaseappdistribution.googleapis.com/v1/projects/undefined/apps/FIREBASE_APP_ID/aabInfo [none]
[apiv2][status] GET https://firebaseappdistribution.googleapis.com/v1/projects/undefined/apps/FIREBASE_APP_ID/aabInfo 400
[apiv2][body]   GET https://firebaseappdistribution.googleapis.com/v1/projects/undefined/apps/FIREBASE_APP_ID/aabInfo {"error":{"code":400,"message":"Request contains an invalid argument.","status":"INVALID_ARGUMENT"}}

I'm unsure where to go from here. I did a little digging into the FirebaseAppDistribution API and the undefined in the http request might need to be changed to the google project number. If that's the case I'm not sure where to configure this.

Any leads would be helpful.

Release notes length exceeds maximum character limit

I have this error in my build with a big release note

Error: failed to update release notes with HTTP Error: 400, Release notes length exceeds maximum character limit

Can it be possible to add in the readme the maximum size of the release note and/or handle the case when it appears, to crop it and succeed the step?

App path defined but the file does not exist at path

 Configs:
* firebase_token: [REDACTED]
* service_credentials_file: 
* app_path: ./app/build/outputs/apk/develop/debug
* app: xxxxxx
* release_notes: 
* release_notes_file: 
* testers: 
* groups: Internal
* flags: 
* is_debug: true
* upgrade_firebase_tools: false
App path contains one file 👍
App path defined but the file does not exist at path: ./app/build/outputs/apk/develop/debug

Looks like it's found the path with an .apk, but it's not finding the file. What file is it specifically looking for? Bitrise uploads the artifacts as expected, so I know it's in that directory. It's set to $BITRISE_APK_PATH

No authentication input defined when building from GitHub Pull Request webhook

I've got my keys set up with Environment Variables in Bitrise, it works perfectly when building from a branch without a webhook build trigger.

When a build gets triggered from, let's say, branch development; CI/CD emits the following:

No authentication input was defined, please fill one of Firebase Token or Service Credentials Field.

[email protected] (exit code: 1) 

When starting the build manually from the Bitrise dashboard on the development branch, it works fine.

Release notes exceeds maximum character limit

Error: failed to update release notes with HTTP Error: 400, Release notes length exceeds maximum character limit

I think my release notes are 71696 characters.
I saw on the console that the maximum accepted is 16384 characters (manually found out), I didn't find any limit value in the doc for cli.

[Feature request] Support for Google API Key authentication.

I see that this plugin supports both the deprecated Firebase token and GCP service account login method, but seems what it should be using is a Google API Key per https://firebase.google.com/docs/projects/api-keys

$ firebase login:ci
Authenticating with a `login:ci` token is deprecated and will be removed in a future major version of `firebase-tools`. Instead, use a service account key with `GOOGLE_APPLICATION_CREDENTIALS`: https://cloud.google.com/docs/authentication/getting-started

Or maybe you can use an API Key in place of the service account login and that's not clear?

Failing on Firebase App Distribution Workflow

Im trying to upload my Android APK file to Firebase App Distribution using Firebase App Distribution Workflow. But, Im getting error as "unknown option '-e'". How can I resolve it?
Here is the log:

Configs:
  * firebase_token: [REDACTED]
  * service_credentials_file: 
  * app_path: /bitrise/deploy/app-release-bitrise-signed.apk
  * app: ***********
  * release_notes: -New version
  * release_notes_length: 
  * release_notes_file: 
  * testers: ************
  * groups: 
  * flags: 
  * is_debug: false
  * upgrade_firebase_tools: false
App path contains a file, great!! 👍
-- Checking for existing firebase-tools on PATH...
Your machine already has [email protected] installed. Nothing to do.
-- All done!
Deploying build to Firebase
  firebase appdistribution:distribute "/bitrise/deploy/app-release-bitrise-signed.apk" --app "***********" --token "[REDACTED]" --release-notes "-New version" --testers "************"
error: unknown option '-e'

Suggestion : generate output variable

Hi,

Is there possible to generate output variable for url of this specify version? I'd like to post this url link to jira, so QA can just click the url to download the right version.

Thanks

Release notes try to execute a command

I am passing a text in the release notes in which I have the character `(grave accent), with this it is trying to execute a command internally and omitting the same when sending the text.

Example of release notes.: - androidMaterial = '1.2.1'
Step log: /tmp/bitrise849612672/step_src/step.sh: line 207: androidMaterial: command not found
In Firebase App Distribution: - = '1.2.1'

Distribution to Firebase fails

I can't seem to get this to work, my distribution step to Firebase is always failing with the following error :

npm ERR! path /usr/local/bin/firebase
npm ERR! code EEXIST
npm ERR! Refusing to delete /usr/local/bin/firebase: node_modules/npm/bin/npm-cli.js symlink target is not controlled by npm /usr/local/bin
npm ERR! File exists: /usr/local/bin/firebase
npm ERR! Move it away, and try again.

Ive added a step before the distribution to delete the '/usr/local/bin/firebase' directory but it doesn't seem to make a difference.

Any help would be appreciated.

Quotes in the release notes string are not escaped

I use firebase app distribution and I got this error: "Error: Too many arguments. Run firebase help appdistribution:distribute for usage instructions"
After some investigation I found out that quotes symbol ("") in the release-notes message isn't escaped and it makes the firebase cli fail if the release notes have quotes.
Example:

firebase appdistribution:distribute "/bitrise/deploy/xxx.apk" --app "xxx" --release-notes "Merge pull request from xxxx. Revert "XXXXXX"" --groups "devs"

Fails because "XXXXXX" surrounded with quotes.

HTTP Error: 404, Requested Entity was not found

We are using [BETA] Firebase App Distribution for our Android App,

Version: 0.3.0

Sometimes only on Bitrise, we get this error and our pipeline fails.
Screenshot 2019-10-31 at 15 09 32

Note: It's not frequent. Just putting here if we can improve.

Thanks

Release notes file option not being displayed on the UI

For some reason when I add this step into my workflow the release notes file option is not displayed on the UI.
Not sure what's causing that since the it seems to be added correctly into the yml file:

- release_notes_file:

Here's a screenshot of how it looks when I add the step, notice the missing release notes file option
image

Thanks for taking a look at this and let me know if I can help :)

App path defined but the file does not exist at path: /Users/vagrant/deploy/app-arm64-v8a-release.apk

| (7) flutter-build@0 |
+------------------------------------------------------------------------------+
| id: flutter-build |
| version: 0.13.2 |
| collection: https://github.com/bitrise-io/bitrise-steplib.git |
| toolkit: go |
| time: 2020-08-28T05:24:41Z |
+------------------------------------------------------------------------------+
| |
Config:

  • IOSAdditionalParams: --release
  • AndroidAdditionalParams: --split-per-abi
  • Platform: android
  • IOSExportPattern: build/ios/iphoneos/.app
  • AndroidOutputType: apk
  • AndroidExportPattern: build/app/outputs/apk//.apk
    build/app/outputs/bundle//
    .aab
  • IOSCodesignIdentity:
  • ProjectLocation: /Users/vagrant/git/----
  • DebugMode: true
  • CacheLevel: all
  • AndroidBundleExportPattern: build/app/outputs/bundle//.aab
    Build Android
    $ flutter "build" "apk" "--split-per-abi"
    Running Gradle task 'assembleRelease'...
    Calling mockable JAR artifact transform to create file: /Users/vagrant/.gradle/caches/transforms-2/files-2.1/9e1879314ade476d6637d20f9e9a5f48/android.jar with input /usr/local/share/android-sdk/platforms/android-28/android.jar
    Calling mockable JAR artifact transform to create file: /Users/vagrant/.gradle/caches/transforms-2/files-2.1/e4cf0bff47c901202ccb24607357d606/android.jar with input /usr/local/share/android-sdk/platforms/android-29/android.jar
    Removed unused resources: Binary resource data reduced from 428KB to 349KB: Removed 18%
    Removed unused resources: Binary resource data reduced from 428KB to 349KB: Removed 18%
    Removed unused resources: Binary resource data reduced from 428KB to 349KB: Removed 18%
    Running Gradle task 'assembleRelease'... 219.9s (!)
    ✓ Built build/app/outputs/flutter-apk/app-armeabi-v7a-release.apk (13.4MB).
    Export Android artifact
    couldn't find output artifact on path: /Users/vagrant/git/----/build/app/outputs/bundle//
    .aab
  • BITRISE_APK_PATH: /Users/vagrant/deploy/app-x86_64-release.apk
  • BITRISE_APK_PATH_LIST: /Users/vagrant/deploy/app-arm64-v8a-release.apk|/Users/vagrant/deploy/app-armeabi-v7a-release.apk|/Users/vagrant/deploy/app-x86_64-release.apk
    | |
    +---+---------------------------------------------------------------+----------+
    | ✓ | flutter-build@0 | 3.8 min |
    +---+---------------------------------------------------------------+----------+

    +------------------------------------------------------------------------------+

| (8) deploy-to-bitrise-io@1 |
+------------------------------------------------------------------------------+
| id: deploy-to-bitrise-io |
| version: 1.10.0 |
| collection: https://github.com/bitrise-io/bitrise-steplib.git |
| toolkit: go |
| time: 2020-08-28T05:28:29Z |
+------------------------------------------------------------------------------+
| |
Config:

  • BuildURL: https://app.bitrise.io/build/2c1a8d0880ffc6ef
  • APIToken: [REDACTED]
  • IsCompress: false
  • ZipName:
  • DeployPath: /Users/vagrant/deploy
  • NotifyUserGroups: everyone
  • NotifyEmailList:
  • IsPublicPageEnabled: true
  • PublicInstallPageMapFormat: {{range $index, $element := .}}{{if $index}}|{{end}}{{$element.File}}=>{{$element.URL}}{{end}}
  • BuildSlug: 2c1a8d0880ffc6ef
  • TestDeployDir: /var/folders/6q/wgy6jtp12w5gzgm9lzcglpqw0000gn/T/test_results381692385
  • AppSlug: dfacd85283ea2db9
  • AddonAPIBaseURL: [REDACTED]
  • AddonAPIToken: [REDACTED]
  • DebugMode: false
  • BundletoolVersion: 0.13.4
    Deploying the content of the Deploy directory separately
    List of files to deploy
  • /Users/vagrant/deploy/app-arm64-v8a-release.apk
  • /Users/vagrant/deploy/app-armeabi-v7a-release.apk
  • /Users/vagrant/deploy/app-x86_64-release.apk
    Deploying files
    Uploading apk file: /Users/vagrant/deploy/app-arm64-v8a-release.apk
    analyzing apk
    apk infos: map[app_name:------- min_sdk_version:21 package_name:----- version_code:2009 version_name:1.0.0]
    creating artifact
    file size: 13MB
    uploading artifact
    finishing artifact
    Uploading apk file: /Users/vagrant/deploy/app-armeabi-v7a-release.apk
    analyzing apk
    apk infos: map[app_name:----- min_sdk_version:21 package_name:----- version_code:1009 version_name:1.0.0]
    creating artifact
    file size: 13MB
    uploading artifact
    finishing artifact
    Uploading apk file: /Users/vagrant/deploy/app-x86_64-release.apk
    analyzing apk
    apk infos: map[app_name:---- min_sdk_version:21 package_name:------ version_code:4009 version_name:1.0.0]
    creating artifact
    file size: 14MB
    uploading artifact
    finishing artifact
    Success

Upload test results

  • uploading (0) test results
    Success
    | |
    +---+---------------------------------------------------------------+----------+
    | ✓ | deploy-to-bitrise-io@1 | 29.87 sec|
    +---+---------------------------------------------------------------+----------+

    +------------------------------------------------------------------------------+

| (9) firebase-app-distribution@0 |
+------------------------------------------------------------------------------+
| id: firebase-app-distribution |
| version: 0.7.0 |
| collection: https://github.com/bitrise-io/bitrise-steplib.git |
| toolkit: bash |
| time: 2020-08-28T05:28:59Z |
+------------------------------------------------------------------------------+
| |
Configs:

  • firebase_token: [REDACTED]
  • service_credentials_file:
  • app_path: /Users/vagrant/deploy/app-arm64-v8a-release.apk
    /Users/vagrant/deploy/app-armeabi-v7a-release.apk
    /Users/vagrant/deploy/app-x86_64-release.apk
  • app: 1:211721978750:android:f3a97654bcb1ed6741e92f
  • release_notes:
  • release_notes_file:
  • testers:
  • groups: ----
  • flags:
  • is_debug: true
  • upgrade_firebase_tools: true
    App path contains one file 👍
    App path defined but the file does not exist at path: /Users/vagrant/deploy/app-arm64-v8a-release.apk
    /Users/vagrant/deploy/app-armeabi-v7a-release.apk
    /Users/vagrant/deploy/app-x86_64-release.apk
    | |
    +---+---------------------------------------------------------------+----------+
    | x | firebase-app-distribution@0 (exit code: 1) | 2.34 sec |
    +---+---------------------------------------------------------------+----------+
    | Issue tracker: ...b.com/guness/bitrise-step-firebase-app-distribution/issues |
    | Source: https://github.com/guness/bitrise-step-firebase-app-distribution |
    +---+---------------------------------------------------------------+----------+

[Android/Ubuntu] Your machine has a corrupted firebase-tools binary installed.

Information

Firebase CLI v12.0.1 is incompatible with Node.js v14.18.2 Please upgrade Node.js to version >=16.13.0 || >=18.0.0 Your machine has a corrupted firebase-tools binary installed.

Stack and machine type:
Android & Docker, on Ubuntu 20.04
Standard

Workflow error:


Configs:
  * firebase_token: [REDACTED]
  * service_credentials_file: 
  * app_path: |/bitrise/deploy/app-releaseStaging.apk|
  * app: xxxxx
  * release_notes: 
  * release_notes_length: 
  * release_notes_file: 
  * testers: 
  * groups:team
  * flags: 
  * is_debug: false
  * upgrade_firebase_tools: false
App path starts and ends with | . Manually fixing path: |/bitrise/deploy/app-releaseStaging.apk|
-- Checking for existing firebase-tools on PATH...
Firebase CLI v12.0.1 is incompatible with Node.js v14.18.2 Please upgrade Node.js to version >=16.13.0 || >=18.0.0
Your machine has a corrupted firebase-tools binary installed.
If you would like to upgrade your install run: curl -sL firebase.tools | upgrade=true bash
Deploying build to Firebase
  firebase appdistribution:distribute "/bitrise/deploy/app-releaseStaging.apk" --app "1:xxxx:android:xxxx" --token "[REDACTED]" --groups "team"
Firebase CLI v12.0.1 is incompatible with Node.js v14.18.2 Please upgrade Node.js to version >=16.13.0 || >=18.0.0

Extra details:

Yesterday (May 17 2023) this workflow worked without this error, now it does not work for the machine specified above, there are no updates made in the workflow

Theory/assumption:

It seems to be a breaking change of the previously specified machines.

File for upload not found

My project builds an AAB, which I transform to a universal APK using this step. The resulting APK works fine, and the Bitrise Deploy step was able to upload it without issue.

However this step fails to find the file:

+------------------------------------------------------------------------------+

| (0) [email protected]                                               |
+------------------------------------------------------------------------------+
| id: bundle-universal-apk                                                     |
| version: 0.0.5                                                               |
| collection: https://github.com/bitrise-io/bitrise-steplib.git                |
| toolkit: bash                                                                |
| time: 2019-10-04T10:28:15Z                                                   |
+------------------------------------------------------------------------------+
|                                                                              |
INFO[10:28:15] Start installing (unzip) with apt-get        
INFO[10:28:15]  * [OK] Step dependency (unzip) installed, available. 
INFO[10:28:15] Start installing (wget) with apt-get         
INFO[10:28:15]  * [OK] Step dependency (wget) installed, available. 
INFO[10:28:15] Start installing (curl) with apt-get         
INFO[10:28:15]  * [OK] Step dependency (curl) installed, available. 
building universal apk path
Getting app bundle from /bitrise/deploy/app-staging-release.aab
Signing with [REDACTED] key and alias [REDACTED]
apk name universal
Downloading keystore
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100  2155  100  2155    0     0   5023      0 --:--:-- --:--:-- --:--:--  5023
Downloading bundle tool
2019-10-04 10:28:17 URL:https://github-production-release-asset-2e65be.s3.amazonaws.com/132104296/27b9b900-183f-11e9-9fc9-2c06a55af768?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20191004%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20191004T102817Z&X-Amz-Expires=300&X-Amz-Signature=a00007cb9e2207c9466051f5d7fbec7ac3418e25cad4130300f989eebb3ce42a&X-Amz-SignedHeaders=host&actor_id=0&response-content-disposition=attachment%3B%20filename%3Dbundletool-all-0.8.0.jar&response-content-type=application%2Foctet-stream [38230949/38230949] -> "/bitrise/src/bundletool.jar" [1]
Extracting bundle apks
APK created in /bitrise/src/output/apk
Archive:  /bitrise/src/output/bundle/universal.apks
 extracting: /bitrise/src/output/apk/universal.apk  
  inflating: /bitrise/src/output/apk/toc.pb  
mv: '/bitrise/src/output/apk/universal.apk' and '/bitrise/src/output/apk/universal.apk' are the same file
|                                                                              |
+---+---------------------------------------------------------------+----------+
| ✓ | [email protected]                                    | 12.41 sec|
+---+---------------------------------------------------------------+----------+
                                          ▼
Switching to workflow: step_deploy-bitrise
INFO[10:28:27] Step uses latest version -- Updating StepLib ... 
INFO[10:28:27] Update StepLib (https://github.com/bitrise-io/bitrise-steplib.git)... 
+------------------------------------------------------------------------------+
| (0) deploy-to-bitrise-io                                                     |
+------------------------------------------------------------------------------+
| id: deploy-to-bitrise-io                                                     |
| version: 1.9.1                                                               |
| collection: https://github.com/bitrise-io/bitrise-steplib.git                |
| toolkit: go                                                                  |
| time: 2019-10-04T10:28:30Z                                                   |
+------------------------------------------------------------------------------+
|                                                                              |
Config:
- BuildURL: [REDACTED]
- APIToken: [REDACTED]
- IsCompress: false
- ZipName: 
- DeployPath: /bitrise/src/output/apk/universal.apk
- NotifyUserGroups: everyone
- NotifyEmailList: 
- IsPublicPageEnabled: true
- PublicInstallPageMapFormat: {{range $index, $element := .}}{{if $index}}|{{end}}{{$element.File}}=>{{$element.URL}}{{end}}
- BuildSlug: d66a5eeaa6c86f6e
- TestDeployDir: /tmp/test_results471107985
- AppSlug: 642a612324dc767a
- AddonAPIBaseURL: [REDACTED]
- AddonAPIToken: [REDACTED]
- DebugMode: false
Deploying single file
List of files to deploy
- /bitrise/src/output/apk/universal.apk
Deploying files
Uploading apk file: /bitrise/src/output/apk/universal.apk
analyzing apk
  apk infos: [REDACTED]
creating artifact
  file size: 13MB
uploading artifact
finishing artifact
Success
You can find the Artifact on Bitrise, on the Build's page: [REDACTED]
The public install page url is now available in the Environment Variable: BITRISE_PUBLIC_INSTALL_PAGE_URL (value: [REDACTED])
A map of deployed files and their public install page urls is now available in the Environment Variable: BITRISE_PUBLIC_INSTALL_PAGE_URL_MAP (value: universal.apk=>[REDACTED])
Upload test results
- uploading (0) test results
Success
|                                                                              |
+---+---------------------------------------------------------------+----------+
| ✓ | deploy-to-bitrise-io                                          | 10.11 sec|
+---+---------------------------------------------------------------+----------+
                                          ▼
Switching to workflow: step_deploy-firebase-staging
+------------------------------------------------------------------------------+
| (0) [email protected]                                          |
+------------------------------------------------------------------------------+
| id: firebase-app-distribution                                                |
| version: 0.1.0                                                               |
| collection: https://github.com/bitrise-io/bitrise-steplib.git                |
| toolkit: bash                                                                |
| time: 2019-10-04T10:28:38Z                                                   |
+------------------------------------------------------------------------------+
|                                                                              |
Configs:
  * firebase_token: ***
  * app_path: |/bitrise/src/output/apk/universal.apk
  * app: [REDACTED]
  * release_notes: 
  * testers: 
  * groups: [REDACTED]
  * flags: 
App path defined but the file does not exist at path: |/bitrise/src/output/apk/universal.apk
|                                                                              |
+---+---------------------------------------------------------------+----------+
| x | [email protected] (exit code: 1)                | 1.55 sec |
+---+---------------------------------------------------------------+----------+
| Issue tracker: ...//github.com/guness/bitrise-step-firebase-app-distribution |
| Source: https://github.com/guness/bitrise-step-firebase-app-distribution     |
+---+---------------------------------------------------------------+----------+

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.