Run all flutter/flutter macOS tests using Xcode 26 and iOS 26 simulator#179810
Conversation
|
It looks like this pull request may not have tests. Please make sure to add tests or get an explicit test exemption before merging. If you are not sure if you need tests, consider this rule of thumb: the purpose of a test is to make sure someone doesn't accidentally revert the fix. Ask yourself, is there anything in your PR that you feel it is important we not accidentally revert back to how it was before your fix? Reviewers: Read the Tree Hygiene page and make sure this patch meets those guidelines before LGTMing. If you believe this PR qualifies for a test exemption, contact "@test-exemption-reviewer" in the #hackers channel in Discord (don't just cc them here, they won't see it!). The test exemption team is a small volunteer group, so all reviewers should feel empowered to ask for tests, without delegating that responsibility entirely to the test exemption group. |
There was a problem hiding this comment.
Code Review
The code changes update CI configurations across multiple files to exclusively use Mac-15.7 as the operating system and 17a400 as the macOS SDK version for various build and test targets. The review comment acknowledges these updates but points out a maintainability concern: the os and sdk_version properties are duplicated in platform_properties and then re-declared in several targets, suggesting that these values should be centralized and inherited to adhere to the single source of truth principle.
| os: Mac-15.7 | ||
| $flutter/osx_sdk : >- | ||
| { | ||
| "sdk_version": "16c5032a" | ||
| "sdk_version": "17a400" |
There was a problem hiding this comment.
While os and sdk_version are defined here under platform_properties, these values are overridden or re-declared in several targets later in the file (e.g., for Mac mac_host_engine, Mac mac_ios_engine). This leads to duplication, which makes maintenance harder and goes against the style guide's principle of having a single source of truth.
To improve maintainability, it would be ideal if the targets could inherit these properties from platform_properties without repetition. If the CI system doesn't support inheritance in this way, it might be worth exploring if it can be improved. Centralizing these values would make future updates much easier.
References
- The style guide advises to 'Avoid duplicating state: Keep only one source of truth.' (line 30). The repetition of OS and SDK versions in different targets instead of inheriting them from a central definition is a form of duplicated state. (link)
|
[Mac mac_unopt] - https://ci.chromium.org/b/8695387054084377265 |
|
At least some of those failures are filed: #175905 |
|
i think some of the issues have been filed or are related. Please confirm @vashworth: [Mac_arm64 build_tests_4_4]- #175905 I added: |
|
@okorohelijah I filed #180141 for Mac unopt failure |
|
This pull request executed golden file tests, but it has not been updated in a while (20+ days). Test results from Gold expire after as many days, so this pull request will need to be updated with a fresh commit in order to get results from Gold. For more guidance, visit Writing a golden file test for Reviewers: Read the Tree Hygiene page and make sure this patch meets those guidelines before LGTMing. |
5c60f69 to
0c33c9c
Compare
d16b001 to
1cd54e5
Compare
258dcd0 to
2be6d5a
Compare
|
An existing Git SHA, To re-trigger presubmits after closing or re-opeing a PR, or pushing a HEAD commit (i.e. with |
|
@okorohelijah @vashworth I wonder if there's a written instruction of how to bump the macOS/Xcode/iOS version? (If not, it may make sense to write up one) |
|
@hellohuanlin There are some guides that cover upgrading CI e.g go/flutter-ci-macos-made-easy, and go/ios-flutter-ci. Or did you mean something else? |
The links you provide are proposals or design docs. I was talking about step-by-step instructions, similar to the instruction i used to update certs & provisioning profiles last year (internal link so i can't share here). |
|
Hmmm, looks like go/flutter-ci-macos-made-easy is step-by-step instruction. is it up to date? |
|
auto label is removed for flutter/flutter/179810, Failed to enqueue flutter/flutter/179810 with HTTP 400: Pull request Required status check "Check Code Freeze" is expected.. |
|
autosubmit label was removed for flutter/flutter/179810, because - The status or check suite Linux mac_android_aot_engine has failed. Please fix the issues identified (or deflake) before re-applying this label.
|
|
An existing Git SHA, To re-trigger presubmits after closing or re-opeing a PR, or pushing a HEAD commit (i.e. with |
|
autosubmit label was removed for flutter/flutter/179810, because - The status or check suite Windows build_tests_5_9 has failed. Please fix the issues identified (or deflake) before re-applying this label. |
|
A reason for requesting a revert of flutter/flutter/179810 could |
|
Reason for revert: Tree is closed due to an infra error |
Run all flutter/flutter macOS tests using Xcode 26 and iOS 26 simulator
Fixes #172855
If you had to change anything in the flutter/tests repo, include a link to the migration guide as per the breaking change policy.
Pre-launch Checklist
///).If you need help, consider asking for advice on the #hackers-new channel on Discord.
Note: The Flutter team is currently trialing the use of Gemini Code Assist for GitHub. Comments from the
gemini-code-assistbot should not be taken as authoritative feedback from the Flutter team. If you find its comments useful you can update your code accordingly, but if you are unsure or disagree with the feedback, please feel free to wait for a Flutter team member's review for guidance on which automated comments should be addressed.