-
Notifications
You must be signed in to change notification settings - Fork 4.2k
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
require extra review for breaking change messages #31361
require extra review for breaking change messages #31361
Conversation
The latest updates on your projects. Learn more about Vercel for Git ↗︎ 1 Ignored Deployment
|
Current dependencies on/for this PR:
This comment was auto-generated by Graphite. |
f0af9c2
to
6a1780d
Compare
@@ -39,4 +39,5 @@ jobs: | |||
with: | |||
status: ${{ steps.get-mandatory-reviewers.outputs.MANDATORY_REVIEWERS }} | |||
token: ${{ secrets.OCTAVIA_4_ROOT_ACCESS }} | |||
request-reviews: true |
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.
This action now supports auto requesting reviews! Specially since the check isn't required, I think it's important to add else reviews can be missed
@@ -13,6 +13,7 @@ | |||
TEST_STRICTNESS_LEVEL_REVIEWERS = {"connector-operations"} | |||
GA_BYPASS_REASON_REVIEWERS = {"connector-operations"} | |||
GA_CONNECTOR_REVIEWERS = {"gl-python"} | |||
BREAKING_CHANGE_REVIEWERS = {"breaking-change-reviewers"} |
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.
new group - atm kat is the only member but can add as needed
if backward_compatibility_changes: | ||
return [{"any-of": list(BACKWARD_COMPATIBILITY_REVIEWERS)}] | ||
required_reviewers.append({"name": "Backwards Compatibility Test Skip", "teams": list(BACKWARD_COMPATIBILITY_REVIEWERS)}) | ||
if test_strictness_level_changes: | ||
return [{"any-of": list(TEST_STRICTNESS_LEVEL_REVIEWERS)}] | ||
required_reviewers.append({"name": "Acceptance Test Strictness Level", "teams": list(TEST_STRICTNESS_LEVEL_REVIEWERS)}) | ||
if ga_bypass_reason_changes: | ||
return [{"any-of": list(GA_BYPASS_REASON_REVIEWERS)}] | ||
required_reviewers.append({"name": "GA Acceptance Test Bypass", "teams": list(GA_BYPASS_REASON_REVIEWERS)}) | ||
if important_connector_changes: | ||
return list(GA_CONNECTOR_REVIEWERS) | ||
return [] | ||
required_reviewers.append({"name": "GA Connectors", "teams": list(GA_CONNECTOR_REVIEWERS)}) | ||
if breaking_change_changes: | ||
required_reviewers.append({"name": "Breaking Changes", "teams": list(BREAKING_CHANGE_REVIEWERS)}) | ||
|
||
return required_reviewers |
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.
This used to have early returns, which meant cases where multiple requirements are involved didn't work. Instead, we're adding multiple requirement groups that all have to pass. The contents of this dict is based on the format laid out in https://github.com/Automattic/action-required-review#requirements-format
As seen in the example, they list out multiple review groups that each have a name and team list.
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.
moved all required reviewer-related stuff here since it was no longer just for acceptance test config
a4fe92a
to
102c25c
Compare
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.
Super cool!
@@ -30,7 +30,7 @@ freezegun = "^1.1.0" | |||
|
|||
[tool.poetry.scripts] |
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.
please bump the package version 🙏
@@ -38,43 +31,6 @@ def find_connectors_with_bad_strictness_level() -> List[utils.Connector]: | |||
return connectors_with_bad_strictness_level | |||
|
|||
|
|||
def find_changed_important_connectors() -> Set[utils.Connector]: |
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.
Thanks for moving it to a separate module!
if backward_compatibility_changes: | ||
required_reviewers.append({"name": "Backwards Compatibility Test Skip", "teams": list(BACKWARD_COMPATIBILITY_REVIEWERS)}) | ||
if test_strictness_level_changes: | ||
required_reviewers.append({"name": "Acceptance Test Strictness Level", "teams": list(TEST_STRICTNESS_LEVEL_REVIEWERS)}) | ||
if ga_bypass_reason_changes: | ||
required_reviewers.append({"name": "GA Acceptance Test Bypass", "teams": list(GA_BYPASS_REASON_REVIEWERS)}) | ||
if important_connector_changes: | ||
required_reviewers.append({"name": "GA Connectors", "teams": list(GA_CONNECTOR_REVIEWERS)}) | ||
if breaking_change_changes: | ||
required_reviewers.append({"name": "Breaking Changes", "teams": list(BREAKING_CHANGE_REVIEWERS)}) |
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.
a mapping between change detection function and mandatory reviewers can be more readable
102c25c
to
4f384c4
Compare
bd156dd
to
af68e13
Compare
74b02f1
to
6e0c579
Compare
af68e13
to
22205a5
Compare
Merge activity
|
22205a5
to
c95b2ae
Compare
<!-- Thanks for your contribution! Before you submit the pull request, I'd like to kindly remind you to take a moment and read through our guidelines to ensure that your contribution aligns with the type of contributions our project accepts. All the information you need can be found here: https://docs.airbyte.com/contributing-to-airbyte/ We truly appreciate your interest in contributing to Airbyte, and we're excited to see what you have to offer! If you have any questions or need any assistance, feel free to reach out in #contributions Slack channel. --> ## What We want to add Kat as a required reviewer when breaking change releases are made. This adds some logic to our existing checks to do so. This also sets `request-reviewers: true` on our action so reviews are automatically requested when required. Close airbytehq#31141 ## How - Created new group, `breaking-change-reviewers` of which Kat is the only member currently to make a bit more flexible if we do want to change who gets notified or add more people. - Refactor mandatory reviewer logic to support multiple required review groups at a time, rather than just requesting the first group. - Add a method to get diff from connector metadata, + refactor the current method to get acceptance test config changes to use a common method. - Since it's not just acceptance test config changes that cause required reviewers, also moved out some code from `acceptance_test_config_checks` to `required-reviewer_checks`
What
We want to add Kat as a required reviewer when breaking change releases are made. This adds some logic to our existing checks to do so.
This also sets
request-reviewers: true
on our action so reviews are automatically requested when required.Close #31141
How
breaking-change-reviewers
of which Kat is the only member currently to make a bit more flexible if we do want to change who gets notified or add more people.acceptance_test_config_checks
torequired-reviewer_checks