You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is your feature request related to a problem? Please describe.
The process of building, signing and deploying apps to their official respective stores can take hours of manual work.
If I were to do this manually, I would have to compile and wait between each platform.
A single platform such as iOS could already take 15min from source code to App Store review submission. This is depending on the complexity of course.
Here's a breakdown of what is involved if I would create an iOS build manually (more than 15min):
Run tools to analyze code for linter issues, unused code, unused files, unit tests etc.
Compiling Flutter source code to unsigned iOS app
Syncing keychain with up-to-date provisioning profiles / certificates
Analyzing commits and bumping up the version for a semantic release
Bumping up the version number in all places (source code, changelog, git tag, git release etc)
Overwrite iOS icon assets with a badge on top of it (note: 10+ images due to various sizes)
Creating a PR (Pull Request) and fill in all the details
Uploading git release artifacts (.ipa)
Upload signed build to the App Store
..And so forth..
I definitely missed some steps. Think of:
Automatically running an E2E (end-to-end) test going through different screens
Automatically creating screenshots + adding text overlays on top of screenshots
Upload and replace existing screenshots @ App Store
And that was just 1 flavor for 1 platform. Would be nicer to have alpha, beta and prod flavors right?
Describe the solution you'd like
You can see that DevOps can be frustating, and no matter what tool I end up using, it will be better than doing this manually. I've had good experience with Fastlane to deploy iOS & Android apps, so I will make that an important part of ShadyAI too.
Describe alternatives you've considered
An alternative is do build everything in a Docker container, however, Docker container running MacOS is a bit.. shady.
From my understanding, emulating MacOS in Docker on non-Apple hardware is a no-go. But if you are running it on Apple hardware (e.g. Macbooks), it is allowed to run up to 2 MacOS VM's for purposes such as CI/CD (not commercially).
There's more:
Cirrus Labs Tart - A pre-configured Flutter+MacOS VM for sillicon based Macs
Any cloud CI/CD platform such as GitHub Actions, CodeMagic.io or CirrusCI
All the alternatives are interesting, but none of them is a direct 1:1 replacement for Fastlane. I think I should still configure Fastlane within any of the alternatives mentioned. That's why I'm starting off with Fastlane.
The text was updated successfully, but these errors were encountered:
For my own reference, here's my original Reddit comment initiating this idea. Be aware that I haven't started on a blog post yet - I'd prefer to have my own blog website hosted first.
Is your feature request related to a problem? Please describe.
The process of building, signing and deploying apps to their official respective stores can take hours of manual work.
If I were to do this manually, I would have to compile and wait between each platform.
A single platform such as iOS could already take 15min from
source code
toApp Store review submission
. This is depending on the complexity of course.Here's a breakdown of what is involved if I would create an iOS build manually (more than 15min):
..And so forth..
I definitely missed some steps. Think of:
And that was just 1 flavor for 1 platform. Would be nicer to have alpha, beta and prod flavors right?
Describe the solution you'd like
You can see that DevOps can be frustating, and no matter what tool I end up using, it will be better than doing this manually. I've had good experience with Fastlane to deploy iOS & Android apps, so I will make that an important part of ShadyAI too.
Describe alternatives you've considered
An alternative is do build everything in a Docker container, however, Docker container running MacOS is a bit.. shady.
From my understanding, emulating MacOS in Docker on non-Apple hardware is a no-go. But if you are running it on Apple hardware (e.g. Macbooks), it is allowed to run up to 2 MacOS VM's for purposes such as CI/CD (not commercially).
There's more:
All the alternatives are interesting, but none of them is a direct 1:1 replacement for Fastlane. I think I should still configure Fastlane within any of the alternatives mentioned. That's why I'm starting off with Fastlane.
The text was updated successfully, but these errors were encountered: