Skip to content

[ci] Enable SwiftPM by default for platform tests#11271

Merged
auto-submit[bot] merged 1 commit intoflutter:mainfrom
stuartmorgan-g:swiftpm-for-all-platform-tests
Mar 17, 2026
Merged

[ci] Enable SwiftPM by default for platform tests#11271
auto-submit[bot] merged 1 commit intoflutter:mainfrom
stuartmorgan-g:swiftpm-for-all-platform-tests

Conversation

@stuartmorgan-g
Copy link
Collaborator

Rather than continue to plumb --swift-package-manager support into every command to make CI work on stable, just enable it at the machine level before running platform tests so that they all use Swift Package Manager, making stable and master act the same for these tasks.

The build-all tests are not changed, as they continue to be the testbed for ensuring that plugins are usable by clients who are using CocoaPods.

A recipe step runs flutter config --clear-features at the start of any bot's run, so this should not cause cross-task bot contamination.

Rather than continue to plumb `--swift-package-manager` support into
every command to make CI work on stable, just enable it at the machine
level before running platform tests so that they all use Swift Package
Manager, making `stable` and `master` act the same for these tasks.

The build-all tests are not changed, as they continue to be the testbed
for ensuring that plugins are usable by clients who are using CocoaPods.

A recipe step runs `flutter config --clear-features` at the start of any
bot's run, so this should not cause cross-task bot contamination.
@stuartmorgan-g
Copy link
Collaborator Author

I was missing at least 2-3 more commands (drive-examples, probably both native test and analyze), so rather than continue chasing them all down this flips the big switch.

Wiring up fetch-deps still ended up being useful though, since it was doing some machine-level CocoaPods steps unconditionally, so trying to do it command by command wasn't a total loss.

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request enables Swift Package Manager (SwiftPM) by default for CI platform tests on iOS and macOS. This is done by adding a new script, .ci/scripts/enable_swift_package_manager.sh, which runs flutter config --enable-swift-package-manager, and then invoking this script from the ios_platform_tests.yaml and macos_platform_tests.yaml configurations. The goal is to create consistency between stable and master channel test environments. My review includes one suggestion for macos_platform_tests.yaml to remove a redundant flag to fully align with the PR's stated goal.

@stuartmorgan-g stuartmorgan-g added emergency Override tree-status signal (land even with closed tree), combine with the autosubmit label. autosubmit Merge PR when tree becomes green via auto submit App labels Mar 17, 2026
@flutter-dashboard
Copy link

Detected the emergency label.

If you add the autosubmit label, the bot will wait until all presubmits pass but ignore the tree status, allowing fixes for tree breakages while still validating that they don't break any existing presubmits.

The "Merge" button is also unlocked. To bypass presubmits as well as the tree status, press the GitHub "Add to Merge Queue".

1 similar comment
@flutter-dashboard
Copy link

Detected the emergency label.

If you add the autosubmit label, the bot will wait until all presubmits pass but ignore the tree status, allowing fixes for tree breakages while still validating that they don't break any existing presubmits.

The "Merge" button is also unlocked. To bypass presubmits as well as the tree status, press the GitHub "Add to Merge Queue".

@auto-submit auto-submit bot merged commit 1802599 into flutter:main Mar 17, 2026
80 of 81 checks passed
@stuartmorgan-g stuartmorgan-g deleted the swiftpm-for-all-platform-tests branch March 17, 2026 16:51
reidbaker pushed a commit that referenced this pull request Mar 17, 2026
Rather than continue to plumb `--swift-package-manager` support into every command to make CI work on stable, just enable it at the machine level before running platform tests so that they all use Swift Package Manager, making `stable` and `master` act the same for these tasks.

The build-all tests are not changed, as they continue to be the testbed for ensuring that plugins are usable by clients who are using CocoaPods.

A recipe step runs `flutter config --clear-features` at the start of any bot's run, so this should not cause cross-task bot contamination.
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Mar 18, 2026
github-merge-queue bot pushed a commit to flutter/flutter that referenced this pull request Mar 18, 2026
flutter/packages@a9d36fb...afa1a1c

2026-03-18 [email protected] Roll Flutter from
732e05d to d117642 (47 revisions) (flutter/packages#11276)
2026-03-18 [email protected] [google_maps_flutter] Add color
scheme support to platform interface (flutter/packages#11278)
2026-03-17 [email protected] [video_player] Regenerate iOS example
with Swift (flutter/packages#11275)
2026-03-17 [email protected] [camera_avfoundation] Remove
outdated TODO comment in messages.dart (flutter/packages#11236)
2026-03-17 [email protected] [web_benchmark] Fix tab connection for
newer versions of Chrome (flutter/packages#11266)
2026-03-17 49699333+dependabot[bot]@users.noreply.github.com
[dependabot]: Bump the test-dependencies group across 14 directories
with 1 update (flutter/packages#11250)
2026-03-17 [email protected] [ci] Enable SwiftPM by default for
platform tests (flutter/packages#11271)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-packages-flutter-autoroll
Please CC [email protected] on the revert to ensure that a
human
is aware of the problem.

To file a bug in Flutter:
https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

autosubmit Merge PR when tree becomes green via auto submit App CICD Run CI/CD emergency Override tree-status signal (land even with closed tree), combine with the autosubmit label.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants