flutter_dotenv icon indicating copy to clipboard operation
flutter_dotenv copied to clipboard

dotenv CI/CD: XCode Cloud - how to define env vars ? Android appbundle - how to define env vars ?

Open iKK001 opened this issue 1 year ago • 2 comments

I am using flutter_dotenv 5.1.0

Everything works if I compile my flutter app locally:

import 'package:flutter_dotenv/flutter_dotenv.dart';

// Load .env file
await dotenv.load(fileName: '.env');

// Initialize Stripe
String myKey = dotenv.env['MY_KEY']!;

But how does it work for Xcode Cloud CI ??

And how for Google Playstore (appbundle) ??

For XCode Cloud:

I am using the default ci_post_clone.sh as described here in the official Flutter documentation.

What do I need to add to this ci_post_clone.sh script in order to make the environment variables defined in .env work.

(And I do not want to add .env to git)


For XCode Cloud, I also tried to directly mention the env vars in the XCode mask (under Intergrate Workflows) Screenshot 2024-01-24 at 20 23 04

But it does not work - Apple still throws the error that .env cannot be found under /assets/.env .

Screenshot 2024-01-24 at 20 30 51

How can I use .env in Flutter and still use XCode Cloud CI ??

For Android I am clueless. Any idea ? (I'm using flutter build appbundle)

iKK001 avatar Jan 24 '24 19:01 iKK001

I'm facing the same issue with a different use case. I'm trying to run flutter test on Github actions without loading the .env into my repo. My tests fail because the pubspec.yaml is expecting a .env file at the expected location. The command did not even touch test settings or any test file.

one can reproduce this situation locally, by temporarily removing the .env or changing the name) from their project and trying to run their tests.

BirgitPohl avatar Feb 05 '24 18:02 BirgitPohl

I'm facing the same issue with a different use case. I'm trying to run flutter test on Github actions without loading the .env into my repo. My tests fail because the pubspec.yaml is expecting a .env file at the expected location. The command did not even touch test settings or any test file.

one can reproduce this situation locally, by temporarily removing the .env or changing the name) from their project and trying to run their tests.

I have the same issue too!

mahdiyarz avatar Feb 10 '24 16:02 mahdiyarz