Skip to content
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

ios post build script require flutterfire to be available globally #257

Open
cedvdb opened this issue Feb 14, 2024 · 3 comments
Open

ios post build script require flutterfire to be available globally #257

cedvdb opened this issue Feb 14, 2024 · 3 comments
Labels

Comments

@cedvdb
Copy link

cedvdb commented Feb 14, 2024

Description

When running flutterfire configure (0.3.0-dev.19), post build scripts are added to ios. Those post build scripts require flutterfire to be installed on the machine building the ios application.

This is a problem because the flutterfire installed locally might not be the same version with which configure was run. Currently, for example, I'm using an hard coded version of the flutterfire cli in this github action so the build process can run https://github.com/cedvdb/action-flutter-build-ios/blob/main/action.yml#L54

I'd propose to use flutterfire_cli installed as a dev_dependency instead and fallback to a global one, so everyone, the CI and all developers can use the same version deterministically.

Related:

Reasoning

It should be deterministic

Additional context and comments

No response

@cedvdb cedvdb added the triage label Feb 14, 2024
@timmolter
Copy link

I noticed this issue today as well and came up with a manual workaround for building my iOS app via Codemagic. First, here's the error I got on codemagic:

    /Users/builder/Library/Developer/Xcode/DerivedData/Runner-edaimyiflreloheqntgnhkmwcclv/Build/Intermediates.noindex/ArchiveIntermediates/Runner/IntermediateBuildFilesPath/Runner.build/Release-iphoneos/Runner.build/Script-EAEA39BC9122492C49AD1220.sh: line 5: flutterfire: command not found
    Command PhaseScriptExecution failed with a nonzero exit code

This (flutterfire: command not found) makes sense because unlike my local dev environment, Codemagic never ran dart pub global activate flutterfire_cli 0.3.0-dev.20 --overwrite anywhere.

My workround was to manually add dart pub global activate flutterfire_cli 0.3.0-dev.20 --overwrite to the FlutterFire: flutterfire upload-crashlytics-symbols script that flutterfire configure originally created.

Screenshot 2024-03-15 at 22 33 04

@frederikstonge
Copy link

I noticed this issue today as well and came up with a manual workaround for building my iOS app via Codemagic. First, here's the error I got on codemagic:

    /Users/builder/Library/Developer/Xcode/DerivedData/Runner-edaimyiflreloheqntgnhkmwcclv/Build/Intermediates.noindex/ArchiveIntermediates/Runner/IntermediateBuildFilesPath/Runner.build/Release-iphoneos/Runner.build/Script-EAEA39BC9122492C49AD1220.sh: line 5: flutterfire: command not found
    Command PhaseScriptExecution failed with a nonzero exit code

This (flutterfire: command not found) makes sense because unlike my local dev environment, Codemagic never ran dart pub global activate flutterfire_cli 0.3.0-dev.20 --overwrite anywhere.

My workround was to manually add dart pub global activate flutterfire_cli 0.3.0-dev.20 --overwrite to the FlutterFire: flutterfire upload-crashlytics-symbols script that flutterfire configure originally created.

Screenshot 2024-03-15 at 22 33 04

Do you need to install firebase tools too? Or upload-crashlytics-symbols doesn't require them?

@benja8151
Copy link

Do you need to install firebase tools too? Or upload-crashlytics-symbols doesn't require them?

No, flutterfire_cli is enough. I just added pre-build script (in Codemagic):

#!/bin/bash

dart pub global activate flutterfire_cli

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants