Draft preview (status: review). Not published: highlighted gaps must be filled and the page fact-checked first.

Services · CI/CD and testing

Mobile CI/CD and test automation for teams that can't afford a bad release

Next Era Solutions sets up the path from a code change to a release candidate, the build you would ship. You get builds anyone on your team can repeat, automated tests on real devices, and checks that stop a bad build before it reaches your users. Your team can run it without us. CI/CD in plain terms: an automated line that builds, tests and prepares every change for release, so nobody does it by hand.

Start with a mobile app audit: the report covers your build and release setup (CI, signing, versions, manual steps) and who holds your keys and store accounts. Or book a 30-min call and bring your current pipeline. Client review on Upwork for our Flutter test-automation work on MobileVision (Yuval Ashkenazi, iMDsoft, Israel): "They succeeded to connect our app to work with Browserstack and find also issues related to our automation test."

Five steps from a code change to a release candidate: code change, repeatable build, tests on real devices, quality gates, release candidate.
3release layers (build, test, coverage) for a clinical mobile appMobileVisionCI/CDmigration, with automated test runs and quality gates, for a clinical mobile appMobileVision
01

Is this you?

A release depends on one person.

The build only works on their laptop, or the signing keys live there.

You have automated tests, but nobody trusts them.

They fail at random, pass only on an emulator, or run so slowly that people skip them.

A bad release stops someone's work.

A nurse on a shift, a cashier at a till, an engineer in the field. For them a regression costs more than a bad review.

Your Flutter integration tests run one file at a time, or only on a laptop.

You want the whole suite on real devices in CI.

Store rules catch you at upload time.

A new Xcode, a target API bump, and next the 16 KB page-size rule.

02

What you get

  • A build and release pipeline that makes the same build from the same commit, with no steps on someone's laptop.
  • Automated tests in CI on the trigger you choose: every pull request, nightly, or a release branch.
  • Quality gates that can stop a release candidate: failed tests or a coverage rule. A store-rule check from the table below can stop a build the same way.
  • Tests on real devices in a device cloud, a service that runs your tests on phones and tablets it hosts. On MobileVision we connected the Flutter tests to BrowserStack and Firebase.
  • Test data without real personal data. On MobileVision the tests had to work without exposing real patient data.
  • Keys and store accounts, as agreed. The contract sets who holds the signing keys and store accounts: your Android upload key, your Apple certificates, your Google Play and App Store Connect accounts. Often they are in your company's name from day one, and we work in them through user roles you grant and can remove. On some projects, an MVP especially, they sit on our side while we build, to move faster, and are transferred to you afterwards. The apps we built for Merezha Prava, for example, are published under the client's own developer accounts (Google Play and App Store listings checked 23 September 2026). With Play App Signing, Google stores the key that signs your app; if the separate upload key is lost, the account owner can ask Google to reset it (Play Console Help, read 23 September 2026).
04

How it runs

StepWhat happensHow long
1. First callYour app, your current pipeline, how you release today, and what went wrong last time.30 min
2. AuditRead-only access to your repository and CI. The mobile app audit report says what to fix first; one section covers the build and release pipeline.As stated on the audit page
3. ProposalWhat we change, in which order, and what you have after each step.Depends on scope
4. Build in layersThree layers: a repeatable build, tests in CI, and coverage and quality gates.Depends on scope
5. Real devicesTests run on real devices in a device cloud.Part of step 4
6. Your team takes overYour team runs and extends the pipeline.Depends on scope
7. AfterwardsIf you want our support after that, you choose: a monthly retainer, or hours as needed.Optional
Code open in an editor on a monitor in a dark room.
  • Five questions to ask about your pipeline today. 1. Can someone other than the usual person build a release from a clean checkout? 2. Who holds the signing keys, the certificates and the store accounts? 3. Do your tests actually stop a bad release, or do they only run? 4. Would your next upload pass the store rules listed under Technical depth? 5. How many manual steps sit between a merge and a release candidate? If you can't answer two of them, start with the mobile app audit. It checks all five: build and release, ownership, whether tests gate releases, and store readiness.
05

Pricing

  • Rates are per engineer: about $30–$90 an hour, depending on level and experience. No minimum project size. We invoice in USD or EUR (GBP possible), on net 14 or net 30 terms.
  • A proposal before work starts, based on what the audit or the first call found.
  • Tool costs are separate from our hours. CI minutes and device-cloud plans are billed by those vendors.
  • What moves the price most: how many apps and platforms you have; the state of the existing tests (a flaky suite has to be fixed before it can gate anything); the size of the device list; how many manual release steps there are today; whether a regulated customer needs an audit trail of releases.
  • The app cost calculator prices whole apps, not pipeline work. Use it if the pipeline comes with a new build.
06

Technical depth

Flutter tests on real devices: what has to be set up

Flutter's integration_test suites run on a laptop with one command. A device cloud needs more setup.

PlatformWhat has to be set upWhere we did it
AndroidThe device cloud needs two files, the app APK and a separate test APK, both built with Gradle. Flutter's own instructions build the test app for one test file at a time (-Ptarget=integration_test/<name>_test.dart). To run the whole suite in one device run, the suite needs a single entry point. (Flutter docs)MobileVision
iOSThe tests run as an Xcode test bundle. You build it with xcodebuild build-for-testing and upload it as a zip with its .xctestrun file. A small RunnerTests entry file runs the Flutter tests inside it. (BrowserStack docs)MobileVision

On MobileVision we fixed the client's Flutter suite so it runs as one batch, and the pipeline runs it on BrowserStack for both platforms, on the triggers the client needs. The BrowserStack runs on real devices found issues in the automation tests themselves.

Tools we have used on client work

BrowserStack App Automate, for Flutter tests on real devices (MobileVision). Firebase, for device-cloud test runs (MobileVision).

Store rules your pipeline should catch before the store does

A rule change should fail in CI, not at upload or in store review. Last checked: [TEAM SUPPLIES: date at publish (all read 2026-09-23)] The full dated list, including Android developer verification in 2027, is in our store-rules post.

  • Google Play target API (from 31 Aug 2026). New apps and updates must target Android 16 (API level 36). Extension to 1 Nov 2026 on request. Check: fail the build if the built app's targetSdkVersion is below 36. Google Play Console Help
  • 16 KB memory pages (from 1 Feb 2027). Apps targeting Android 15 or higher must support 16 KB memory pages on 64-bit devices. Updates without it can't be released. Check: for an APK, zipalign -v -c -P 16 4 app.apk should end with "Verification successful". For an app bundle, bundletool dump config --bundle=app.aab | grep alignment should show PAGE_ALIGNMENT_16K. Android Developers
  • App Store build tools (since 28 Apr 2026). Uploads must be built with Xcode 26 or later and a 26-series SDK. Check: fail the release job if xcodebuild -version on the build machine reports an Xcode older than 26. Apple, Upcoming requirements
  • App Store minimum iOS (since 9 Sep 2026). iOS and iPadOS uploads must target iOS 13 or later. Check: fail the build if the iOS deployment target is below 13.0. Apple, Upcoming requirements
07

Who you'll work with

A senior team. Our engineers work remotely across Europe, from the UK to Portugal, the Nordics and DACH, and a few work in Ukraine.

  • Oleksiy Kazavchynskyy, CEO: takes the first call and leads discovery. Our founder has 8+ years building mobile. The client reviews on Upwork for the MobileVision work name him.
  • Andriy Kazavchynskyy, Co-founder, responsible for delivery; your staffing contact.
  • Dmytro, Business analyst and project manager

[TEAM SUPPLIES (review step): add "Reviewed by <name>, <date>" only after that person reviews the page]

08

FAQ

Tell us how you release today.

The CI you use (if any), the tests you have, and what went wrong last time. Or start with a mobile app audit.

Oleksiy replies within 1 business day.