Skip to content

feat: Run lint and tests against both stable and min Flutter version#1707

Merged
rickvdl merged 2 commits into
mainfrom
rickvdl/lint-test-against-min-and-stable-flutter-version
Apr 2, 2026
Merged

feat: Run lint and tests against both stable and min Flutter version#1707
rickvdl merged 2 commits into
mainfrom
rickvdl/lint-test-against-min-and-stable-flutter-version

Conversation

@rickvdl

@rickvdl rickvdl commented Apr 2, 2026

Copy link
Copy Markdown
Member

Follow-up to #1704 which lowers the minimum Flutter SDK to 3.22.0.

Summary

Parameterize CI lint and test jobs to run against both flutter:stable and the minimum supported Flutter version (3.22.0). Replaces the old test_main_sdk_min_version_compatibility and test_ui_sdk_min_version_compatibility jobs which only verified dependency resolution.

Job Flutter What it does
lint-test stable analyze + test root SDK
lint-test-min-version 3.22.0 analyze + test root SDK
lint-test-ui stable analyze + test UI SDK
lint-test-ui-min-version 3.22.0 analyze + test UI SDK
lint-sample-apps stable resolve deps for example apps + api_tester

Test plan

  • All CI jobs pass
  • Min version jobs correctly use Flutter 3.22.0
  • Update required job list

Note

Low Risk
Low risk: CI-only changes that adjust which CircleCI jobs run and which Flutter Docker images they use; main risk is longer runtimes or unexpected CI failures due to running tests on Flutter 3.22.0.

Overview
Updates CircleCI to run lint + unit tests for both purchases_flutter and purchases_ui_flutter against flutter:stable and the minimum supported Flutter version (3.22.0) via parameterized lint-test and lint-test-ui jobs.

Replaces the old min-version compatibility jobs (which only resolved dependencies) with a new lint-sample-apps job for dependency resolution of sample apps/api_tester, and simplifies jobs by removing the unused build-flutter-project command and using flutter-get-dependencies directly in integration test steps.

Written by Cursor Bugbot for commit ff2b112. This will update automatically on new commits. Configure here.

@rickvdl rickvdl added the pr:feat A new feature label Apr 2, 2026
@rickvdl rickvdl marked this pull request as ready for review April 2, 2026 06:40
@rickvdl rickvdl requested a review from a team as a code owner April 2, 2026 06:40

@tonidero tonidero left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Makes sense! Thanks for doing this!

Looks like we will need to update required checks to merge this too. Lmk if you need help!

Comment thread .circleci/config.yml
name: Run tests
command: flutter test
name: Analyze code for purchases_ui_flutter
command: cd purchases_ui_flutter && flutter analyze lib

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One question I have though... The UI library depends on the core SDK. Do we need to build that first for the UI library to work? Or does this work automatically?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It should resolve the core SDK package through the path as defined here, and AFAIK it should build the core SDK when building the UI SDK.

Reading it again the existing build-flutter-project step is a bit confusing because it doesn't actually build anything, but just runs flutter-get-dependencies. So I've replaced that for clarity

rickvdl added 2 commits April 2, 2026 09:33
Parameterize CI lint and test jobs to run against both flutter:stable
and the minimum supported Flutter version (3.22.0). Replaces the old
test_main_sdk_min_version_compatibility and
test_ui_sdk_min_version_compatibility jobs which only verified
dependency resolution.

Sample apps remain on stable only.
…rectly

build-flutter-project was just a wrapper around flutter-get-dependencies
with no additional logic. Replace all usages with the underlying command
for clarity.
@rickvdl rickvdl force-pushed the rickvdl/lint-test-against-min-and-stable-flutter-version branch from 093985f to ff2b112 Compare April 2, 2026 07:34
@rickvdl rickvdl enabled auto-merge (squash) April 2, 2026 07:34
@rickvdl rickvdl merged commit 1631b96 into main Apr 2, 2026
15 checks passed
@rickvdl rickvdl deleted the rickvdl/lint-test-against-min-and-stable-flutter-version branch April 2, 2026 09:13
@tonidero tonidero added pr:other and removed pr:feat A new feature labels Apr 7, 2026
RCGitBot added a commit that referenced this pull request Apr 9, 2026
**This is an automatic release.**

## RevenueCat SDK
### 📦 Dependency Updates
* [AUTOMATIC BUMP] Updates purchases-hybrid-common to 17.55.1 (#1710)
via RevenueCat Git Bot (@RCGitBot)
* [Android
9.29.0](https://github.com/RevenueCat/purchases-android/releases/tag/9.29.0)
* [iOS
5.67.1](https://github.com/RevenueCat/purchases-ios/releases/tag/5.67.1)
* [AUTOMATIC BUMP] Updates purchases-hybrid-common to 17.55.0 (#1709)
via RevenueCat Git Bot (@RCGitBot)

### 🔄 Other Changes
* Bump fastlane-plugin-revenuecat_internal from `5d6e93f` to `6289be1`
(#1708) via dependabot[bot] (@dependabot[bot])
* feat: Run lint and tests against both stable and min Flutter version
(#1707) via Rick (@rickvdl)
* Bump fastlane-plugin-revenuecat_internal from `f11fe40` to `5d6e93f`
(#1706) via dependabot[bot] (@dependabot[bot])

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Low Risk**
> Primarily a version/release metadata bump with dependency version
updates and no functional logic changes beyond reported plugin version
strings.
> 
> **Overview**
> **Publishes release `9.16.1` across the Flutter SDK and RevenueCatUI
plugin.** All package metadata and platform plugin constants are updated
from `9.16.0` to `9.16.1` (Dart `pubspec.yaml`, Android `build.gradle` +
`PurchasesFlutterPlugin.java`, iOS/macOS podspecs +
`PurchasesFlutterPlugin.m`, and web plugin constant).
> 
> Updates release documentation: adds the `9.16.1` section to
`CHANGELOG.md`, refreshes `CHANGELOG-LATEST.md`, and adds a new row to
`VERSIONS.md` pointing to `purchases-hybrid-common` `17.55.1` with iOS
`5.67.1` and Android `9.29.0`. Also bumps `purchases_ui_flutter` to
`9.16.1` and updates its dependency on `purchases_flutter` to `^9.16.1`.
> 
> <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit
51d0ceb. Bugbot is set up for automated
code reviews on this repo. Configure
[here](https://www.cursor.com/dashboard/bugbot).</sup>
<!-- /CURSOR_SUMMARY -->

---------

Co-authored-by: Antonio Pallares <ajpallares@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants