Skip to content

Conversation

@mkustermann
Copy link
Member

@mkustermann mkustermann commented Nov 5, 2024

Currently the bot that runs flutter update-packages makes PRs that fail due to native asset integration tests failing.

The root cause is due to incompatible versions on package:logging. The bot tries to upgrade package:logging from 1.2.0 to 1.3.0.

Here's what seems to happen:

  • flutter update-packages will update dev/integration_tests/link_hook/pubspec.yaml with package:logging to 1.3.0 (as it does with all other pubspec.yaml files in the flutter repository)

  • flutter create --template=package_ffi will generate a template with package:logging ^1.2.0

  • The test in question

    • creates ffi template (which will use ^1.2.0)
    • make it depend on dev/integration_tests/link_hook (which uses =1.3.0)
    • changes logging dependency from the template from ^1.2.0 to =1.2.0

IMHO

  • flutter update-packages is doing what it's supposed to

  • flutter create --template=package_ffi can generate templates with versions it determines (maybe there are use cases where we want to generate templates with older versions)

  • The problematic part is the test:

    • it makes the generated template depend on link_hook and
    • changes template generated pubspec to use pinned dependencies

This PR makes the test package (created via template) use the pinned package versions from dev/integration_tests/link_hook (for dependencies that are common among the two).
All other dependencies that the template has on top of dev/integration_tests/link_hook it can pin as it does currently.

This will give us deterministic CI behavior (as we use flutter pined packages and remaining deps being pinned via template) It avoids changing the flutter update-packages and flutter create --template=package_ffi (as their behavior seems reasonable)

Should fix #158135

…th auto-update of packages via `flutter update-packages`

Currently the bot that runs `flutter update-packages` makes PRs that
fail due to native asset integration tests failing.

The root cause is due to incompatible versions on `package:logging`. The
bot tries to upgrade `package:logging` from `1.2.0` to `1.3.0`.

Here's what seems to happen:

  * `flutter update-packages` will update
     `dev/integration_tests/link_hook/pubspec.yaml` with `package:logging`
      to `1.3.0` (as it does with all other `pubspec.yaml` files in
      the flutter repository)

  * `flutter create  --template=package_ffi` will generate a template
     with `package:logging` `^1.2.0`

  * The test in question
    * creates ffi template (which will use `^1.2.0`)
    * make it depend on `dev/integration_tests/link_hook` (which uses `=1.3.0`)
    * changes logging dependency from the template from `^1.2.0` to `=1.2.0`

IMHO

  * `flutter update-packages` is doing what it's supposed to

  * `flutter create --template=package_ffi` can generate templates
     with versions it determines (maybe there are use cases where
     we want to generate templates with older versions)

  * The problematic part is the test:

     * it makes the generated template depend on `link_hook` and
     * changes template generated pubspec to use pinned dependencies

This PR makes the test package (created via template) use the pinned
package versions from `dev/integration_tests/link_hook`
(for dependencies that are common among the two).
All other dependencies that the template has on top of
`dev/integration_tests/link_hook` it can pin as it does currently.

This will give us deterministic CI behavior (as we use flutter pined
packages and remaining deps being pinned via template)
It avoids changing the `flutter update-packages` and
`flutter create --template=package_ffi` (as their behavior seems reasonable)
@github-actions github-actions bot added the tool Affects the "flutter" command-line tool. See also t: labels. label Nov 5, 2024
@mkustermann mkustermann requested a review from mraleph November 5, 2024 11:21
Copy link
Member

@mraleph mraleph left a comment

Choose a reason for hiding this comment

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

LGTM with changes

@mkustermann
Copy link
Member Author

Thanks, @mraleph !

@mkustermann mkustermann merged commit 31c1292 into flutter:master Nov 5, 2024
140 checks passed
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Nov 5, 2024
…ing smooth auto-update of packages via `flutter update-packages` (flutter/flutter#158170)
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Nov 5, 2024
…ing smooth auto-update of packages via `flutter update-packages` (flutter/flutter#158170)
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Nov 5, 2024
…ing smooth auto-update of packages via `flutter update-packages` (flutter/flutter#158170)
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Nov 5, 2024
…ing smooth auto-update of packages via `flutter update-packages` (flutter/flutter#158170)
auto-submit bot pushed a commit to flutter/packages that referenced this pull request Nov 5, 2024
flutter/flutter@8591d0c...29d40f7

2024-11-05 [email protected] increase subsharding for `Windows build_tests` from 8 to 9 (flutter/flutter#158146)
2024-11-05 [email protected] Reland2: Revert "Revert "Add a warning/additional handlers for parsing`synthetic-package`."" (flutter/flutter#158184)
2024-11-05 [email protected] Reland1:  "Revert "Add and plumb `useImplicitPubspecResolution` across `flutter_tools`."" (flutter/flutter#158126)
2024-11-05 [email protected] Roll Packages from 796afa3 to 7219431 (11 revisions) (flutter/flutter#158179)
2024-11-05 [email protected] Make native asset integration test more robust, thereby allowing smooth auto-update of packages via `flutter update-packages` (flutter/flutter#158170)
2024-11-05 [email protected] Readability change to `flutter.groovy`, align on null assignment, reduce unused scope for some methods, apply static where possible (flutter/flutter#157471)
2024-11-05 [email protected] Roll Flutter Engine from 7207a8fbec93 to f56401062e42 (1 revision) (flutter/flutter#158169)
2024-11-05 [email protected] Add test for `raw_scrollbar.shape.0.dart` (flutter/flutter#158094)
2024-11-05 [email protected] Roll Flutter Engine from 418609dd5b58 to 7207a8fbec93 (1 revision) (flutter/flutter#158156)
2024-11-05 [email protected] Refactor DropdownMenu tests (flutter/flutter#157913)
2024-11-05 [email protected] Roll Flutter Engine from 6271a92a376f to 418609dd5b58 (3 revisions) (flutter/flutter#158152)
2024-11-05 [email protected] Marks Linux_pixel_7pro flavors_test to be flaky (flutter/flutter#156956)
2024-11-05 [email protected] Further remove web-only considerations that are no longer necessary (flutter/flutter#158143)
2024-11-05 [email protected] Add optional parameter to FlutterTesterDevices. (flutter/flutter#158133)
2024-11-05 [email protected] Roll Flutter Engine from 75acceedca41 to 6271a92a376f (2 revisions) (flutter/flutter#158148)
2024-11-05 [email protected] Extract and restore a test that a blank native assets project still builds (flutter/flutter#158141)
2024-11-04 [email protected] Remove references to the HTML renderer in public docs. (flutter/flutter#158035)
2024-11-04 [email protected] Roll Flutter Engine from f880b56b6ede to 75acceedca41 (1 revision) (flutter/flutter#158137)
2024-11-04 [email protected] Fix `WidgetStateProperty` documentation (flutter/flutter#154298)
2024-11-04 [email protected] Roll Flutter Engine from 25c7e471e2ef to f880b56b6ede (5 revisions) (flutter/flutter#158132)
2024-11-04 [email protected] Roll Flutter Engine from 05cb5d7f7939 to 25c7e471e2ef (12 revisions) (flutter/flutter#158127)
2024-11-04 [email protected] Remove use_modular_headers! from Swift Podfiles (flutter/flutter#156257)
2024-11-04 [email protected] Disable failing native assets test (flutter/flutter#158119)
2024-11-04 [email protected] Fix `NestedScrollView` inner position logic (flutter/flutter#157756)
2024-11-04 [email protected] Add benchmarks for single-threaded Skwasm. (flutter/flutter#158027)

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
Please CC [email protected],[email protected] on the revert to ensure that a human
is aware of the problem.

To file a bug in Packages: 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
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 12, 2025
…ing smooth auto-update of packages via `flutter update-packages` (flutter/flutter#158170)
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 13, 2025
…ing smooth auto-update of packages via `flutter update-packages` (flutter/flutter#158170)
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 13, 2025
…ing smooth auto-update of packages via `flutter update-packages` (flutter/flutter#158170)
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Mar 6, 2025
…ing smooth auto-update of packages via `flutter update-packages` (flutter/flutter#158170)
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Mar 7, 2025
…ing smooth auto-update of packages via `flutter update-packages` (flutter/flutter#158170)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

tool Affects the "flutter" command-line tool. See also t: labels.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Pub roll blocked on native_assets_test

2 participants