Skip to content

Conversation

@stuartmorgan-g
Copy link
Collaborator

Adds fetch-deps support for:

  • iOS/macOS dependencies, using pod install
  • Dart package dependencies, using pub get

To make avoid doing extra work in the Dart dependencies step when using this with *_platform_tests CI, also adds flags for all of the other platforms, and adds a flag that allows skipping Dart dependencies for any package that doesn't have an example supporting any requested platform. This means that we can pass, e.g., --windows --supporting-target-platforms-only to only fetch Dart packages for packages with examples that will be build during the build-and-drive Windows tests.

Adds this as a new step in every platform tests CI task, and in the standard analyze step, so that we will pre-fetch Dart packages (and for iOS/macOS, pods). This won't yet fully eliminate later network access (see flutter/flutter#131204), but will give us early warning on any major failures, such as pub being entirely unreachable from the bots.

  • These are marked as an infrastructure step; we'll have to see if this ends up being confusing in practice. If pub resolution fails for legitimate reasons, such as a PR that tries to require a version of a package that doesn't exist or that has conflicts, this will cause a failure that is marked as infra. My assumption is that the much more common case is going to be that it is actually an infra failure.

Fixes flutter/flutter#130280

/// Dart: 'flutter pub get'.
/// iOS/macOS: 'pod install'.
///
/// See https://docs.gradle.org/6.4/userguide/core_dependency_management.html#sec:dependency-mgmt-in-gradle.
Copy link
Contributor

Choose a reason for hiding this comment

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

nit: Consider linking to ios and dart documentation or removing android documentation.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Since the others are just running commands that are run as part of building I couldn't think of any good docs to link to. I left Android because I think it's useful given that this isn't just us pre-running a command that's being directly run by flutter.

Copy link
Contributor

@tarrinneal tarrinneal left a comment

Choose a reason for hiding this comment

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

Nothing outstandingly wrong with this one.

@stuartmorgan-g
Copy link
Collaborator Author

Looks like I'll need to plumb environment through our process wrapper to pass LANG to resolve the CI failures; I checked flutter, and it passes LANG for pod install as suggested by the error message.

@stuartmorgan-g
Copy link
Collaborator Author

Nothing outstandingly wrong with this one.

Maybe we should replace LGTM with NOWWTO :)

@tarrinneal
Copy link
Contributor

Nothing outstandingly wrong with this one.

Maybe we should replace LGTM with NOWWTO :)

It's got a nice ring to it. Only two sillables too.

@stuartmorgan-g
Copy link
Collaborator Author

Plus then you can say "NOWWTO land it!"

@stuartmorgan-g stuartmorgan-g added the autosubmit Merge PR when tree becomes green via auto submit App label Jul 25, 2023
@auto-submit auto-submit bot removed the autosubmit Merge PR when tree becomes green via auto submit App label Jul 25, 2023
@auto-submit
Copy link
Contributor

auto-submit bot commented Jul 25, 2023

auto label is removed for flutter/packages, pr: 4562, due to - The status or check suite android-platform_tests CHANNEL:master PACKAGE_SHARDING:--shardIndex 1 --shardCount 6 has failed. Please fix the issues identified (or deflake) before re-applying this label.

@stuartmorgan-g stuartmorgan-g added the autosubmit Merge PR when tree becomes green via auto submit App label Jul 26, 2023
@auto-submit auto-submit bot merged commit a99fc87 into flutter:main Jul 26, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Jul 26, 2023
auto-submit bot pushed a commit to flutter/flutter that referenced this pull request Jul 26, 2023
flutter/packages@406eac1...a99fc87

2023-07-26 [email protected] [tool/ci] Add iOS/macOS and Dart support to `fetch-deps` (flutter/packages#4562)

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],[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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
LouiseHsu pushed a commit to LouiseHsu/flutter that referenced this pull request Jul 31, 2023
flutter/packages@406eac1...a99fc87

2023-07-26 [email protected] [tool/ci] Add iOS/macOS and Dart support to `fetch-deps` (flutter/packages#4562)

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],[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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
vashworth pushed a commit to vashworth/flutter that referenced this pull request Aug 2, 2023
flutter/packages@406eac1...a99fc87

2023-07-26 [email protected] [tool/ci] Add iOS/macOS and Dart support to `fetch-deps` (flutter/packages#4562)

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],[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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Packages tooling] Update fetch deps command to support ios dependencies in cocopods

3 participants