Skip to content
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

Block ARM review approval (label ARMSignedOff) if suppressions have not been addressed (related to "suppression review queue") #7908

Open
konrad-jamrozik opened this issue Mar 18, 2024 · 2 comments
Assignees
Labels
Central-EngSys This issue is owned by the Engineering System team. Spec PR Tools Tooling that runs in azure-rest-api-specs repo.

Comments

@konrad-jamrozik
Copy link
Contributor

konrad-jamrozik commented Mar 18, 2024

Example affected PR:

Relevant email thread:

From: Cameron Taggart
Sent: Wednesday, March 13, 2024 8:46 AM
To: Azure SDK Engineering System Team
Subject: How long to wait for suppression review?

The core issue is that the PR was waiting for a long time for suppression review and it was unclear to the PR author when it will happen. The PR author proposed "suppression review queue" similar to ARM review queue. However, the relevant suppressions should have been reviewed as part of ARM review. Hence there should be no need need for a separate suppression review queue.

Per Roopesh Manda:

Ideally all suppressions [related to ARM review] must be reviewed before the PR is signed off by the ARM reviewer. The SuppressionReviewRequired label does not impact the visibility of the PR in the review queue. The workflow diagram does not call out the suppression review requirement explicitly for this reason.

We could also explore making a change to not allow an ARMSignedOff label to be placed if the SuppressionReviewRequired label is present but the Approved-Suppression label is not present to streamline this.

Unfortunately, there is no easy way to prevent people from adding specific label. Our collaboration model assumes folks have permissions to modify labels, meaning they can add or remove any label. We could make the automation immediately remove the ARMSignedOff label after it has been added, but I believe it would be confusing to the person who added the label plus we would risk them not even noticing the label was removed.

This issue depends on:

This is because we currently SuppressionReviewRequired is overloaded: it means multiple different kinds of suppressions, including SDK generation suppressions, i.e. step 3 in the PR diagram. We want to add special handling only for the suppressions that interfere with the ARM review, which means suppressions of LintDiff.

@konrad-jamrozik konrad-jamrozik added Central-EngSys This issue is owned by the Engineering System team. Spec PR Tools Tooling that runs in azure-rest-api-specs repo. labels Mar 18, 2024
@konrad-jamrozik konrad-jamrozik self-assigned this Mar 18, 2024
@konrad-jamrozik konrad-jamrozik moved this from 🤔 Triage to 📋 Backlog in Azure SDK EngSys 🚢🎉 Mar 18, 2024
@konrad-jamrozik konrad-jamrozik moved this to 📋 Backlog in Spec PR Tools Mar 18, 2024
@konrad-jamrozik konrad-jamrozik changed the title Block ARM review approval (label ARMSignedOff) if suppressions have not been addressed Block ARM review approval (label ARMSignedOff) if suppressions have not been addressed (related to "suppression review queue") Mar 18, 2024
@konrad-jamrozik
Copy link
Contributor Author

konrad-jamrozik commented Mar 18, 2024

@rkmanda as you can see from the description, this is not an easy problem to fix by automation. We are trying to provide some kind of safety in case the human ARM reviewer does incomplete review i.e. they forget to review suppressions.

@cataggar
Copy link
Member

For me, documentation that stated that you need to request ARM Review for suppressions would be sufficient. That just isn’t clear from the diagram and other docs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Central-EngSys This issue is owned by the Engineering System team. Spec PR Tools Tooling that runs in azure-rest-api-specs repo.
Projects
Status: 📋 Backlog
Status: 📋 Backlog
Development

No branches or pull requests

2 participants