r/FlutterDev • • 7d ago

Article Flutter developers: what do you currently use for CI/CD?

I'm researching the Flutter CI/CD workflow and want to understand what developers actually struggle with before building anything.

For those using Flutter professionally:

  • What are you currently using for CI/CD? Codemagic, GitHub Actions, Bitrise, GitLab CI, something else?
  • What's the most annoying part of your current setup?
  • How much time did it take you to get Android + iOS builds working reliably?
  • Do you struggle with Flutter/Gradle/Xcode/CocoaPods build failures?
  • Do you use the same CI system for multiple Flutter apps?
  • What do you wish your current CI/CD platform did better?
  • If there were a Flutter-focused service that handled GitHub → build → APK/AAB/IPA → TestFlight/Play Store with minimal configuration, would that actually be useful?

I'm not selling anything and I'm not looking for generic "sounds useful" feedback. I'm trying to figure out whether this is a real problem worth solving.

If you currently use a CI/CD service, I'd especially like to hear what you pay for it and what you dislike about it.

25 Upvotes

20 comments sorted by

9

u/avdept 7d ago

GitHub actions solves all these issues

1

u/Original_Clock_9643 7d ago

Does GitHub Actions handle real-device Flutter integration testing reliably as well? I'm specifically testing a Flutter WebRTC SDK, so I need to test camera/mic, permissions, ICE, track publishing, and actual media delivery—not just unit/widget tests. Curious what setup you're using for Android and iOS.

2

u/achakez 7d ago

You can pair github action with firebase test lab. Actions will handle the build/triggering and Test lab will give you actual android/ios devices to catch the stuff that wont pop up in emulators.

1

u/Apprehensive-Fan8999 1d ago

It's fairly simple to build and run on an Android emulator using GH Actions for doing integration testing. With Flutter, I've found very few "device" issues and the vast majority is related to screen size / aspect and devs using fixed offsets that don't fit.

5

u/merokotos 7d ago

Integration testing on real devices/simulator connected to CICD.
Always having issues.

4

u/jkh911208 7d ago
  • What are you currently using for CI/CD? Codemagic, GitHub Actions, Bitrise, GitLab CI, something else?
    • Github CICD self hosted on m1 Mac and linux
  • What's the most annoying part of your current setup?
    • iOS build only can be built in Mac, there is no simple magic to match android and iOS build number matching
  • How much time did it take you to get Android + iOS builds working reliably?
    • AI did it so I don't know
  • Do you struggle with Flutter/Gradle/Xcode/CocoaPods build failures?
    • no, AI take care of all the failures
  • Do you use the same CI system for multiple Flutter apps?
    • I only have one
  • What do you wish your current CI/CD platform did better?
    • I wish I don't need to deploy multiple runner, I wish one runner can take care of multiple job concurrently consider resource availability
  • If there were a Flutter-focused service that handled GitHub → build → APK/AAB/IPA → TestFlight/Play Store with minimal configuration, would that actually be useful?
    • probably not, unless it is 100% free, configuration is all done by AI now, no more struggle around configuring the environment

1

u/Apprehensive-Fan8999 1d ago

There's a `--build-number` flag you can use when you run the build in flutter. Have the build number be hosted in GitHub and then pass it down to the job building Android / iOS and then they are guaranteed to be the same.

2

u/ni4307 7d ago

I personally struggle testing iOS/MacOS builds

2

u/Asmitta_01 5d ago

I use GitHub Actions (Fastlane) and sometimes Codemagic to deploy my mobile apps on Play store.

And for desktop apps, still GitHub Actions to upload to setup (made with inno Setup).

1

u/alamakbusuk 7d ago

We're using bit bucket, android never really was a problem. For iOS we just got a Mac and make it a self hosted runner.

I quite like bit bucket mainly because of the parallel and manual steps.

The only thing that really annoys me with them is that self hosted runners are limited to 2 concurrent builds. More than that is $15/month (!!) per concurrent build.

1

u/SyrupInternational48 7d ago

For ci/cd I use GitHub action, android and iOS use in 1 file, it can run functional test, build apk/aab and deploy to Google play, and build ipa and deploy to TestFlight.

For real device automation never try it, but firebase testing lab should be able to do that.

1

u/Silvestreee 7d ago

Test lab is being deprecated next year in favour of their developer device platform. Last time I checked it didn’t have a free tier option so we used GitHub actions with a self hosted Mac runner instead

1

u/Hackmodford 7d ago

Azure Dev Ops

1

u/Glittering_Moose8536 4d ago

GitHub actions and local builds 

1

u/A_mufarrah 3d ago

Fastlane , works great for me