Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: skipping instead of breaking ios only tests on non mac os platforms #58

Closed

Conversation

erickzanardo
Copy link

This PR changes an exception that was being throw in Flutter's test bot, when running the addToAppLifeCycleRunner in non macos platforms.

I bet that this test would have a status file (similar that how the dart sdk does?) to check for an expected failure. But since we use github CI, this was breaking our whole pipeline.

This PR makes a simple change to change it to a print statement, and just skip the test outside the macos platform.

itsjustkevin and others added 24 commits April 3, 2024 22:17
…lutter#146239)

# Flutter beta 3.22.0-0.0.pre Framework

## Scheduled Cherrypicks
…lutter#146361)

This pull request is created by [automatic cherry pick workflow](https://github.com/flutter/flutter/wiki/Flutter-Cherrypick-Process#automatically-creates-a-cherry-pick-request)

### Issue Link:
flutter#145653

### Changelog Description:
Fixes and issue where dart2js deferred part files were not being properly emitted by a web build.

### Impact Description:
Users who use deferred loading in dart2js will not have any of the deferred JS files copied to their build directory.

### Workaround:
Users can manually copy the part files out of the `.dart_tool/flutter_build` directory into their `build/web` folder.

### Risk:
What is the risk level of this cherry-pick?

### Test Coverage:
Are you confident that your fix is well-tested by automated tests?

### Validation Steps:
Follow the repro steps listed in flutter#145653.
Ensure that the `build/web` folder contains the `main.dart.js_1.part.js` and `main.dart.js_1.part.js.map` files.
…#146440)

This pull request is created by [automatic cherry pick workflow](https://github.com/flutter/flutter/wiki/Flutter-Cherrypick-Process#automatically-creates-a-cherry-pick-request)
Please fill in the form below, and a flutter domain expert will evaluate this cherry pick request.

### Issue Link:
What is the link to the issue this cherry-pick is addressing?

Part of flutter#144582 (comment)

### Changelog Description:
Increase the `flutter doctor` recommended Xcode version to Xcode 15.

### Impact Description:

Update the `flutter doctor` validator to suggest Xcode 15 if installed version is lower.

This is to encourage upgrades, as Apple will soon be enforcing this during iOS App Store submissions.
> Please note that as of April 2024 all iOS and iPadOS apps submitted to the App Store must be built with a minimum of Xcode 15 and the iOS 17 SDK.

https://developer.apple.com/ios/submit/

It's also to encourage updates before Swift Package Manager requires this version in flutter#146256.

### Workaround:
N/A

### Risk:
What is the risk level of this cherry-pick?

### Test Coverage:
Are you confident that your fix is well-tested by automated tests?

### Validation Steps:
Install and `xcode-select` Xcode 14.x or lower.  Run `flutter doctor`.  See 
```
[!] Xcode - develop for iOS and macOS (Xcode 15.3)
    � Flutter requires Xcode 14 or higher.
      Download the latest version or update via the Mac App Store.
```
This pull request is created by [automatic cherry pick workflow](https://github.com/flutter/flutter/wiki/Flutter-Cherrypick-Process#automatically-creates-a-cherry-pick-request)
Please fill in the form below, and a flutter domain expert will evaluate this cherry pick request.

### Issue Link:
What is the link to the issue this cherry-pick is addressing?

b/333560406. Couldn't find a github issue for it

### Changelog Description:
Explain this cherry pick in one line that is accessible to most Flutter developers. See [best practices](https://github.com/flutter/flutter/wiki/Hotfix-Documentation-Best-Practices) for examples

Fixes a crash that may happen when the user enters certain characters in a text field.

### Impact Description:
What is the impact (ex. visual jank on Samsung phones, app crash, cannot ship an iOS app)? Does it impact development (ex. flutter doctor crashes when Android Studio is installed), or the shipping production app (the app crashes on launch)

Production apps crash when the user enters certain characters in certain conditions.

b/333560406 has some related stats.

### Workaround:
Is there a workaround for this issue?

No

### Risk:
What is the risk level of this cherry-pick?

### Test Coverage:
Are you confident that your fix is well-tested by automated tests?

### Validation Steps:
What are the steps to validate that this fix works?

Run the test in the PR. The issue didn't come with a real world repro.
This pull request is created by [automatic cherry pick workflow](https://github.com/flutter/flutter/wiki/Flutter-Cherrypick-Process#automatically-creates-a-cherry-pick-request)
Please fill in the form below, and a flutter domain expert will evaluate this cherry pick request.

### Issue Link:
What is the link to the issue this cherry-pick is addressing?

Proactive fix for issue:
- flutter#146153

More information can be found for the changes in this hotfix in the following [diff](https://github.com/dart-lang/tools/compare/unified_analytics-v5.8.8...unified_analytics-v5.8.8+1?expand=1)

### Changelog Description:
Explain this cherry pick in one line that is accessible to most Flutter developers. See [best practices](https://github.com/flutter/flutter/wiki/Hotfix-Documentation-Best-Practices) for examples

Bump the version for `package:unified_analytics` to 5.8.8+1 to better handle errors internal to the package that can crash the tool

### Impact Description:
What is the impact (ex. visual jank on Samsung phones, app crash, cannot ship an iOS app)? Does it impact development (ex. flutter doctor crashes when Android Studio is installed), or the shipping production app (the app crashes on launch)

This could potentially impact flutter developers as they are using the flutter tool

### Workaround:
Is there a workaround for this issue?

No workaround, they would need to run the flutter tool again.

### Risk:
What is the risk level of this cherry-pick?

### Test Coverage:
Are you confident that your fix is well-tested by automated tests?

### Validation Steps:
What are the steps to validate that this fix works?

If this works correctly, there would be no errors from `package:unified_analytics` causing errors
…lutter#147024)

# Flutter beta 3.22.0-0.2.pre Framework

## Scheduled Cherrypicks
This pull request is created by [automatic cherry pick workflow](https://github.com/flutter/flutter/wiki/Flutter-Cherrypick-Process#automatically-creates-a-cherry-pick-request)
Please fill in the form below, and a flutter domain expert will evaluate this cherry pick request.

### Issue Link:
What is the link to the issue this cherry-pick is addressing?

No issue link for this one but this will help us make sense of MAU number differences between GA3 and GA4.

### Changelog Description:
Explain this cherry pick in one line that is accessible to most Flutter developers. See [best practices](https://github.com/flutter/flutter/wiki/Hotfix-Documentation-Best-Practices) for examples

Sends a new event, `ga4_and_ga3_status_mismatch` for users that have opted out of GA4 (package:unified_analytics) but remain opted into GA3

### Impact Description:
What is the impact (ex. visual jank on Samsung phones, app crash, cannot ship an iOS app)? Does it impact development (ex. flutter doctor crashes when Android Studio is installed), or the shipping production app (the app crashes on launch)

No impact to developer workflows.

### Workaround:
Is there a workaround for this issue?

No

### Risk:
What is the risk level of this cherry-pick?

### Test Coverage:
Are you confident that your fix is well-tested by automated tests?

### Validation Steps:
What are the steps to validate that this fix works?

No steps to validate, no changes to developer workflows
…lutter#147274)

# Flutter beta 3.22.0-0.3.pre Framework

## Scheduled Cherrypicks
…er#147950)

# Flutter stable 3.22.0 Framework

## Scheduled Cherrypicks
…k and FlutterMacOS.framework (flutter#148717)

This pull request is created by [automatic cherry pick workflow](https://github.com/flutter/flutter/wiki/Flutter-Cherrypick-Process#automatically-creates-a-cherry-pick-request)
Please fill in the form below, and a flutter domain expert will evaluate this cherry pick request.

### Issue Link:
What is the link to the issue this cherry-pick is addressing?
flutter#148354
flutter#147142

### Changelog Description:
Correct read/write permisions for FlutterMacOS.framework to allow MacOS developers to publish to the app store

### Impact Description:
MacOS developers.

### Workaround:
Is there a workaround for this issue?

Run chmod locally after building flutter#148354 (comment)

### Risk:
What is the risk level of this cherry-pick?

### Test Coverage:
Are you confident that your fix is well-tested by automated tests?

### Validation Steps:
What are the steps to validate that this fix works?

1. `flutter build macos --release` any macos project
2. `ls -la macos/Build/Products/Release/test_create.app/Contents/Frameworks/`
3. Note that the permissions for FlutterMacOS.framework is `drwxr-xr-x`, NOT `dr-------`
(note that this is validated to work here flutter#148354 (comment))
…r#147382) (flutter#148863)

Fix for release build failure https://ci.chromium.org/ui/p/flutter/builders/prod/Linux_pixel_7pro%20hello_world_impeller/3962/overview

Part of flutter#142659

this test expects validation layers on, so we need to explicitly enable them before we can turn them off by default.
### Issue Link:
flutter#148867

Cherry-picking flutter#147390

### Changelog Description:
Fixes a focus issue that causes TextFields to not function after cupertino back swipes

### Impact Description:
iOS, macos, iOS web, macos web app that uses TextField

### Workaround:
disable cupertino back swipe

### Risk:
What is the risk level of this cherry-pick?

### Test Coverage:
Are you confident that your fix is well-tested by automated tests?

### Validation Steps:
What are the steps to validate that this fix works?

TextField should not be broken after a cupertino back swipe
flutter#148916)

This pull request is created by [automatic cherry pick workflow](https://github.com/flutter/flutter/wiki/Flutter-Cherrypick-Process#automatically-creates-a-cherry-pick-request)
Please fill in the form below, and a flutter domain expert will evaluate this cherry pick request.

### Issue Link:
What is the link to the issue this cherry-pick is addressing?

flutter#148359

### Changelog Description:
Explain this cherry pick in one line that is accessible to most Flutter developers. See [best practices](https://github.com/flutter/flutter/wiki/Hotfix-Documentation-Best-Practices) for examples

Provide an option in `ColorScheme.fromSeed` method to respect the seed color even if the seed color is very bright.

### Impact Description:
What is the impact (ex. visual jank on Samsung phones, app crash, cannot ship an iOS app)? Does it impact development (ex. flutter doctor crashes when Android Studio is installed), or the shipping production app (the app crashes on launch)

The updated algorithm in `ColorScheme.fromSeed` creates a darker version of `ColorScheme`. This may result in apps looking different from their original color theme.

### Workaround:
Is there a workaround for this issue?

Manually construct a desired `ColorScheme` instead of using `ColorScheme.fromSeed`, or use the deprecated `Scheme` class in [MCU package](https://github.com/material-foundation/material-color-utilities/blob/main/dart/lib/scheme/scheme.dart) to build the `ColorScheme`

### Risk:
What is the risk level of this cherry-pick?

This cherry-pick does not break the current implementation but only provides an option if users want the `ColorScheme` built by `ColorScheme.fromSeed` respect the seed color.

### Test Coverage:
Are you confident that your fix is well-tested by automated tests?

### Validation Steps:
What are the steps to validate that this fix works?

With `dynamicSchemeVariant: DynamicSchemeVariant.fidelity`, the color scheme constructed by `ColorScheme.fromSeed()` respects the seed color.
…tter#149042) (flutter#149208)

Manual request (merge conflicts in the test file) for cherry-picking flutter#149042 to stable

### Issue Link:
What is the link to the issue this cherry-pick is addressing?

flutter#148692 

### Changelog Description:
Explain this cherry pick in one line that is accessible to most Flutter developers. See [best practices](https://github.com/flutter/flutter/wiki/Hotfix-Documentation-Best-Practices) for examples

Fixes an `EditableText` crash that happens with a custom `TextEditingController` which only `implements` the `TextEditingController` interface.

### Impact Description:
What is the impact (ex. visual jank on Samsung phones, app crash, cannot ship an iOS app)? Does it impact development (ex. flutter doctor crashes when Android Studio is installed), or the shipping production app (the app crashes on launch)

Production apps crash if the user gives an `EditableText` a custom `TextEditingControllor` class that `implements TextEditingControllor`.

### Workaround:
Is there a workaround for this issue?

The crash does not happen if the user `extends TextEditingControllor`, but it's not always desirable / feasible. The class could be already extending a different base class.

### Risk:
What is the risk level of this cherry-pick?

### Test Coverage:
Are you confident that your fix is well-tested by automated tests?

### Validation Steps:
What are the steps to validate that this fix works?

Run the test in the PR, or follow the repro steps in flutter#148692
flutter#149345)

This pull request is created by [automatic cherry pick workflow](https://github.com/flutter/flutter/wiki/Flutter-Cherrypick-Process#automatically-creates-a-cherry-pick-request)
Please fill in the form below, and a flutter domain expert will evaluate this cherry pick request.

### Issue Link:
What is the link to the issue this cherry-pick is addressing?

DevTools release 2.36.0: https://dart-review.googlesource.com/c/sdk/+/368762

### Changelog Description:

This change adds a service extension that DevTools uses to support a "Track widget build counts" feature. This feature is first included in DevTools 2.36.0.

### Impact Description:

This service extension is required for DevTools 2.36.0, which needs to be [cherry-picked](https://dart-review.googlesource.com/c/sdk/+/368762) into the Dart SDK. This beta release of DevTools missed the code cutoff because we were targeting the date listed on go/dash-team-releases (5/29). Since the beta release went out early, we missed the cut off and need to cherry-pick.

Since this DevTools release depended on the changes from flutter#148702, we also need to cherry pick those changes into the flutter beta channel.

### Workaround:
No. This is required for DevTools 2.36.0 to work properly: https://dart-review.googlesource.com/c/sdk/+/368762.

### Risk:
What is the risk level of this cherry-pick?

### Test Coverage:
Are you confident that your fix is well-tested by automated tests?

### Validation Steps:
What are the steps to validate that this fix works?

With this change, a flutter app connecting to DevTools 2.36.0 (already on the Dart SDK main branch and trying to CP into the Dart SDK beta branch) will be able to use the "Track widget build counts" feature in DevTools.
… (when no longer should be kept alive) (flutter#149639)

Cherry pick request of flutter#148298 to stable.

Fixes problems in 2D viewport when using keep alive widgets (affects users using Material Ink components).
@erickzanardo erickzanardo marked this pull request as draft June 11, 2024 19:54
Copy link

@eseidel eseidel left a comment

Choose a reason for hiding this comment

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

How do Flutter's bots avoid this?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.