#๐Ÿง‚ Seasoned with Flavors: Is This How Shorebird Likes It? ๐Ÿ˜„

1 messages ยท Page 1 of 1 (latest)

mighty python
#

Hey Shorebird team ๐Ÿ‘‹

Weโ€™re rolling out Shorebird for both Android and iOS in our Bitrise pipelines and I wanted to check with you before finalizing the workflow structure.

Hereโ€™s our proposed setup (also documented internally with full CLI commands):

โœ… Release Workflows

  1. shorebird_release_staging
    โ†’ Releases both Android and iOS builds to Shorebird (staging)

shorebird release android --flavor=staging --target=lib/main.dart --flutter-version=3.32.2
shorebird release ios --flavor=staging --target=lib/main.dart --flutter-version=3.32.2

  1. shorebird_release_production
    โ†’ Same logic as above, but for production

shorebird release android --flavor=production --target=lib/main.dart --flutter-version=3.32.2
shorebird release ios --flavor=production --target=lib/main.dart --flutter-version=3.32.2

๐Ÿ› ๏ธ Patch Workflows (separated by platform)

  1. shorebird_patch_android
    โ†’ Patches an existing release (staging or prod)

shorebird patch --platforms=android --flavor=staging|production --target=lib/main.dart --release-version=X.X.X+X

  1. shorebird_patch_ios
    โ†’ Same as above for iOS

shorebird patch --platforms=ios --flavor=staging|production --target=lib/main.dart --release-version=X.X.X+X


Before we fully roll this out, I just wanted to ask:

๐Ÿ‘‰ Is this general structure aligned with how Shorebird intends flavor-based apps to set up patch/release workflows?

๐Ÿ‘‰ Or do you recommend a different strategy / consolidation approach when managing both platforms + multiple flavors?

Thanks so much in advance ๐Ÿ™ Super excited to start pushing patches soon!

heady crow
#

shorebird release supports multiple platforms

#

ex: shorebird release --platforms android,ios

#

Same goes for the patch command

#

But passing multiple platforms runs the same logic as shorebird release commands with single platforms

#

So I think what you've outlined seems fine

mighty python
#

Got it, thanks for confirming Bryan! ๐Ÿ™Œ

One quick follow-up: for patching โ€” would you recommend using a single workflow with --platforms=android,ios or keeping separate workflows for each platform?

Just curious if thereโ€™s any practical advantage or gotchas youโ€™ve seen in doing it one way or the other.

heady crow
#

Totally up to you.

#

I think if you're always releasing ios and android at the same time, it makes sense

#

but it mostly depends on what your needs are

#

it's super easy to change if you decide to in the future

mighty python
#

Sweet, thanks Bryan!

Yeah, at my team we ship both platforms together for staging and prod, so bundling them in one workflow works great for us. Good to know it's easy to tweak later if needed!

๐Ÿ‘‰ So for now, Iโ€™ll keep:

  • A single shorebird_release workflow per env (staging/prod) for both platforms
  • Separate workflows for patching (shorebird_patch_android and shorebird_patch_ios) in case we ever need to hotfix one side only

Appreciate the help!