-
Notifications
You must be signed in to change notification settings - Fork 2.9k
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
[tool] Add features to support GCB auto-publish flow #6218
[tool] Add features to support GCB auto-publish flow #6218
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
little nits
@@ -58,6 +58,11 @@ class PublishCommand extends PackageLoopingCommand { | |||
}) : _pubVersionFinder = | |||
PubVersionFinder(httpClient: httpClient ?? http.Client()), | |||
_stdin = stdinput ?? io.stdin { | |||
argParser.addFlag(_alreadyTaggedFlag, | |||
help: | |||
'Instead of tagging, validates that the current checkout is aleardy tagged with the expected version.\n' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
typo: already
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Little known fact, "aleardy" is actually the adverbal form of "all ears"; this is validating that it was tagged in a way that makes it all ears.
(Fixed.)
static const String _pubFlagsOption = 'pub-publish-flags'; | ||
static const String _remoteOption = 'remote'; | ||
static const String _allChangedFlag = 'all-changed'; | ||
static const String _dryRunFlag = 'dry-run'; | ||
static const String _skipConfirmationFlag = 'skip-confirmation'; | ||
static const String _tagForAutopublishFlag = 'tag-for-autopublish'; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
is auto publish one word?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nope! Fixed.
flutter/packages@2aa6e3f...9b88dbc 2024-03-06 balvindersi2@gmail.com [image_picker_for_web] migrates to package:web (flutter/packages#5799) 2024-03-06 balvindersi2@gmail.com [video_player_web] migrates to package:web (flutter/packages#5800) 2024-03-06 49699333+dependabot[bot]@users.noreply.github.com [in_app_pur]: Bump org.json:json from 20240205 to 20240303 in /packages/in_app_purchase/in_app_purchase/example/android/app (flutter/packages#6253) 2024-03-05 ian@hixie.ch [rfw] Change test coverage logic to enforce 100% coverage (flutter/packages#6272) 2024-03-05 louisehsu@google.com [in_app_purchase_storekit] backfill native tests for more complete test coverage (flutter/packages#6209) 2024-03-05 stuartmorgan@google.com [tool] Add features to support GCB auto-publish flow (flutter/packages#6218) 2024-03-05 ditman@gmail.com [web] Use TrustedTypes from pkg web. (flutter/packages#6273) 2024-03-05 engine-flutter-autoroll@skia.org Roll Flutter from 65cd84b to 3b5a2ec (26 revisions) (flutter/packages#6269) 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 flutter-ecosystem@google.com,rmistry@google.com 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
Adds the flowing to the tool: - A new `--exact-match-only` flag to be used with `--packages` to prevent group matching (i.e., a selection like `--packages=path_provider --exact-match-only` would only run on `packages/path_provider/path_provider`, not `packages/path_provider/*`). - Two new `publish` command flags: - `--tag-for-auto-publish`, to do all the steps that `publish` currently does except for the real `pub publish`, so it would dry-run the publish and then create and push the tag if successful. - `--already-tagged`, to skip the step of adding and pushing a tag, and replace it with a check that `HEAD` already has the expected tag. This set of additions supports a workflow where the current `release` step is changed to use `--tag-for-auto-publish`, and then the separate auto-publish system would publish each package with `... publish --already-tagged --packages=<some package> --exact-match-only`. See flutter#5005 (comment) for previous discussion/context. Part of flutter/flutter#126827
Adds the flowing to the tool: - A new `--exact-match-only` flag to be used with `--packages` to prevent group matching (i.e., a selection like `--packages=path_provider --exact-match-only` would only run on `packages/path_provider/path_provider`, not `packages/path_provider/*`). - Two new `publish` command flags: - `--tag-for-auto-publish`, to do all the steps that `publish` currently does except for the real `pub publish`, so it would dry-run the publish and then create and push the tag if successful. - `--already-tagged`, to skip the step of adding and pushing a tag, and replace it with a check that `HEAD` already has the expected tag. This set of additions supports a workflow where the current `release` step is changed to use `--tag-for-auto-publish`, and then the separate auto-publish system would publish each package with `... publish --already-tagged --packages=<some package> --exact-match-only`. See flutter#5005 (comment) for previous discussion/context. Part of flutter/flutter#126827
Adds the flowing to the tool:
--exact-match-only
flag to be used with--packages
to prevent group matching (i.e., a selection like--packages=path_provider --exact-match-only
would only run onpackages/path_provider/path_provider
, notpackages/path_provider/*
).publish
command flags:--tag-for-auto-publish
, to do all the steps thatpublish
currently does except for the realpub publish
, so it would dry-run the publish and then create and push the tag if successful.--already-tagged
, to skip the step of adding and pushing a tag, and replace it with a check thatHEAD
already has the expected tag.This set of additions supports a workflow where the current
release
step is changed to use--tag-for-auto-publish
, and then the separate auto-publish system would publish each package with... publish --already-tagged --packages=<some package> --exact-match-only
.See #5005 (comment) for previous discussion/context.
Part of flutter/flutter#126827