-
Notifications
You must be signed in to change notification settings - Fork 140
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
Notify (downstream) projects about required migrations #869
Comments
Looking forward to this. |
This would be great! It would allow rules maintainers to migrate the rules as quickly as possible, leaving more time for leaf projects to catch up. Many maintainers are actually happy to migrate their projects, just that they don't proactively check the bazelisk pipeline often. We've heard Tensorflow or upb explicitly ask for something like this. I'm sure protobuf folks would also appreciate these notifications. And hopefully, Bazel Green team won't need to go to each project that isn't migrated yet, create an issue by hand, and remove the project from the downstream pipeline after each incompatible flag flip. |
Any ETA for this? Any simple solution would be helpful, even if it sends a weekly summary (with all the projects) to a single email address (we would then tell the owners to subscribe to it). |
I can start working on this on Tuesday next week |
cc: @aiuto |
@fweikert Thank you!! :) I'll put it on our whiteboard. When you're ready on Tuesday, before you start coding, could you outline a quick plan here how you would do it? I would like to make sure that we all agree on how the first version should look like. |
Didn't have time for this issue last week, so here we go: I propose to add a new flag (--notify_...) to bazelci.py, which is simply forwarded to aggregate_incompatible_flags_test_result.py in order to not clutter bazelci.py any more. If the flag is passed to aggregate_incompatible_flags_test_result, this script does the following: I propose to have at most one issue per Bazel release, i.e. the script will file a new issue for 3.0 even if there is already one for 2.0. Potential blockers: Potential improvements: What about email support? |
Alternatively maybe one issue per flag - what do project owners think would work better for them? Although that might be too spammy and we could even run into rate limiting for creating too many issues... |
I personally would prefer one issue per flag, so issues can be assigned to multiple people and their progres tracked independently. |
bazelci.py now stores the used Bazel version as metadata. aggregate_incompatible_flags_test_result.py reads this value and files a GitHub issue for every project and every flag that needs migration. Fixes bazelbuild#869
bazelci.py now stores the used Bazel version as metadata. aggregate_incompatible_flags_test_result.py reads this value and files a GitHub issue for every project and every flag that needs migration. Fixes bazelbuild#869
bazelci.py now stores the used Bazel version as metadata. aggregate_incompatible_flags_test_result.py reads this value and files a GitHub issue for every project and every flag that needs migration. Fixes bazelbuild#869
bazelci.py now stores the used Bazel version as metadata. aggregate_incompatible_flags_test_result.py reads this value and files a GitHub issue for every project and every flag that needs migration. Fixes bazelbuild#869
bazelci.py now stores the used Bazel version as metadata. aggregate_incompatible_flags_test_result.py reads this value and files a GitHub issue for every project and every flag that needs migration. Fixes #869
Tomorrow's pipeline run will use this feature. |
Several issues were created, but there are still some action items:
|
I would also provide an easy way to opt-out (per repo), in case some users do not want these issues to be filed automatically. Maybe by asking the user to send us a PR that adds their repo to a blacklist. Even if no one ends up opting out, it’s polite to offer the possibility. |
Yes, I already had a plan for that. I updated the task list accordingly. |
Some users were confused since they haven't been using incompatible flags. Part of bazelbuild#869
Some users were confused since they haven't been using incompatible flags. Part of #869
Example of an incompatible flag without target release: https://github.com/fweikert/bugs/issues/313 |
Part of bazelbuild#869
The previous code only fetched the first page of API results, thus missing most of the existing issues. As a result, it filed duplicate issues on every invocation. Part of bazelbuild#869
The previous code only fetched the first page of API results, thus missing most of the existing issues. As a result, it filed duplicate issues on every invocation. Part of bazelbuild#869
The previous code only fetched the first page of API results, thus missing most of the existing issues. As a result, it filed duplicate issues on every invocation. Part of bazelbuild#869
The previous code only fetched the first page of API results, thus missing most of the existing issues. As a result, it filed duplicate issues on every invocation. Part of #869
The script has been tested successfully, which means we can change it to file bugs in the correct repositories (instead of a dummy repo). Fixes #869
The script has been tested successfully, which means we can change it to file bugs in the correct repositories (instead of a dummy repo). Fixes #869
I wrote a mini post-mortem about the launch of this feature: #915 (comment) |
Currently we have two ways of testing upcoming incompatible flags on CI:
However, in both cases the project owners never get notified about any breakages. As a result, the burden is still on the Bazel team.
Consequently, we should implement a notification mechanism that informs project owners about required migrations. Buildkite already has some support for notifications: https://buildkite.com/blog/goodbye-notifications-hello-services
The text was updated successfully, but these errors were encountered: