Skip to content

Rework how the release notes labels are handled by the CI#10508

Merged
frouioui merged 6 commits intovitessio:mainfrom
planetscale:release-notes-details
Jun 16, 2022
Merged

Rework how the release notes labels are handled by the CI#10508
frouioui merged 6 commits intovitessio:mainfrom
planetscale:release-notes-details

Conversation

@frouioui
Copy link
Copy Markdown
Member

@frouioui frouioui commented Jun 14, 2022

Description

This Pull Request changes how the CI checks the release notes labels. The release notes (none) label is removed, and the reviewers are responsible for making sure the release notes label is set if needed. In fact, the review checklist now includes an item that invites the reviewers to check the proper setting of the release notes label.

The release notes (needs details) label is now used as a temporary label, meaning that the Pull Request cannot be merged if this label is set. Setting this label on a Pull Request is a signal that the authors/reviewers need to add some content to the release notes summary file. While this label is set, the new workflow Check Release Notes labels will fail to prevent the merge, a sample result can be seen here. Once a content that describes the changes brought by the Pull Request is written, the authors/reviewers can unset the release notes (needs details) label, and set the release notes label instead. This is done to not forget the redaction of the release notes summary.

The workflow that checks whether one of the three release notes labels is set is removed in this Pull Request as we can now create a Pull Request without any release notes label.

Checklist

  • "Backport me!" label has been added if this change should be backported
  • Tests were added or are not required
  • Documentation was added or is not required

Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
@frouioui frouioui added Component: Build/CI Backport me! Type: CI/Build release notes (needs details) This PR needs to be listed in the release notes in a dedicated section (deprecation notice, etc...) Type: Release labels Jun 14, 2022
frouioui added 2 commits June 14, 2022 22:11
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
…rget

Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
@frouioui frouioui added release notes and removed release notes (needs details) This PR needs to be listed in the release notes in a dedicated section (deprecation notice, etc...) release notes labels Jun 14, 2022
@frouioui frouioui changed the title Rework how the release notes labels are handled Rework how the release notes labels are handled by the CI Jun 14, 2022
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
@frouioui frouioui marked this pull request as ready for review June 14, 2022 20:30
@frouioui frouioui requested a review from deepthi June 14, 2022 20:30
@frouioui
Copy link
Copy Markdown
Member Author

frouioui commented Jun 14, 2022

@deepthi, we will need to remove the required check on the analyze_pr_labels workflow. We can remove it in all the different protection rules that we have since this Pull Request will be backported to active release branches.

I am not against adding the required check on the new workflow (Get the "release notes (needs details)" label).

@frouioui
Copy link
Copy Markdown
Member Author

Note: once this Pull Request and its backports are merged, we can remove the release notes (none) label from the list of labels.

@github-actions
Copy link
Copy Markdown
Contributor

Review Checklist

Hello reviewers! 👋 Please follow this checklist when reviewing this Pull Request.

General

  • Ensure that the Pull Request has the correct release notes label. release notes none should only be used for PRs that are so trivial that they need not be included.
  • If a new flag is being introduced, review whether it is really needed. The flag names should be clear and intuitive (as far as possible), and the flag's help should be descriptive.
  • If a workflow is added or modified, each items in Jobs should be named in order to mark it as required. If the workflow should be required, the GitHub Admin should be notified.

Bug fixes

  • There should be at least one unit or end-to-end test.
  • The Pull Request description should either include a link to an issue that describes the bug OR an actual description of the bug and how to reproduce, along with a description of the fix.

Non-trivial changes

  • There should be some code comments as to why things are implemented the way they are.

New/Existing features

  • Should be documented, either by modifying the existing documentation or creating new documentation.
  • New features should have a link to a feature request issue or an RFC that documents the use cases, corner cases and test cases.

Backward compatibility

  • Protobuf changes should be wire-compatible.
  • Changes to _vt tables and RPCs need to be backward compatible.
  • vtctl command output order should be stable and awk-able.

Copy link
Copy Markdown
Collaborator

@deepthi deepthi left a comment

Choose a reason for hiding this comment

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

We also need to edit the Review checklist in this PR.
The section that needs to change is this

Ensure that the Pull Request has the correct `release notes` label. `release notes none` should only be used for PRs that are so trivial that they need not be included.

In fact we need only one label going forward and that is the release notes (needs details), since we plan to change the release notes generation to include all PRs.
My suggestion for how this text should change:

If this is a change that users need to know about, please apply the `release notes (needs details)` label so that merging is blocked unless the summary release notes document is included

Comment on lines -38 to -44
if ! cat ${LABELS_JSON} | jq -r '.[].name ' | grep -q 'Component:' ; then
echo "Expecting PR to have label 'Component: ...'"
exit 1
fi
if ! cat ${LABELS_JSON} | jq -r '.[].name ' | grep -q 'Type:' ; then
echo "Expecting PR to have label 'Type: ...'"
exit 1
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Let us not delete this file. Instead, we can just remove the release notes label checking from here.
It is still important to set Component and Type so that PRs appear in the right section of the changelog.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

My bad, I added it back in the new workflow file to avoid having two workflows that do (almost) the same job

…bels

Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
@frouioui
Copy link
Copy Markdown
Member Author

In fact we need only one label going forward and that is the release notes (needs details), since we plan to change the release notes generation to include all PRs.
My suggestion for how this text should change:

If this is a change that users need to know about, please apply the `release notes (needs details)` label so that merging > is blocked unless the summary release notes document is included

The review checklist is updated accordingly.

@frouioui frouioui requested a review from deepthi June 14, 2022 22:34
Copy link
Copy Markdown
Collaborator

@deepthi deepthi left a comment

Choose a reason for hiding this comment

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

One more change and then this will be good.
Approving provisionally, you may merge once that is addressed.

@deepthi
Copy link
Copy Markdown
Collaborator

deepthi commented Jun 15, 2022

I went ahead and removed analyze-pr-labels from Required checks on main and 14.0. It doesn't seem to exist on prior releases.
Once this PR is merged we can add Check Pull Request labels.

Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
@frouioui frouioui merged commit 1acef03 into vitessio:main Jun 16, 2022
@frouioui frouioui deleted the release-notes-details branch June 16, 2022 06:59
frouioui added a commit to planetscale/vitess that referenced this pull request Jun 16, 2022
…#10508)

* addition of the release_notes_label workflow

Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>

* addition of a helper step in the release_notes_label to guide users

Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>

* addition of a set of rules for release_notes_labels's pull_request target

Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>

* remove the previous workflow that used to check the release notes labels

Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>

* Change the review check list and enforce the use of type/component labels

Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>

* Fixed syntax in check release notes label workflow

Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
frouioui added a commit to planetscale/vitess that referenced this pull request Jun 16, 2022
…#10508)

* addition of the release_notes_label workflow

Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>

* addition of a helper step in the release_notes_label to guide users

Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>

* addition of a set of rules for release_notes_labels's pull_request target

Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>

* remove the previous workflow that used to check the release notes labels

Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>

* Change the review check list and enforce the use of type/component labels

Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>

* Fixed syntax in check release notes label workflow

Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
frouioui added a commit to planetscale/vitess that referenced this pull request Jun 16, 2022
…#10508)

* addition of the release_notes_label workflow

Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>

* addition of a helper step in the release_notes_label to guide users

Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>

* addition of a set of rules for release_notes_labels's pull_request target

Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>

* remove the previous workflow that used to check the release notes labels

Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>

* Change the review check list and enforce the use of type/component labels

Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>

* Fixed syntax in check release notes label workflow

Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
frouioui added a commit to planetscale/vitess that referenced this pull request Jun 16, 2022
…#10508)

* addition of the release_notes_label workflow

Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>

* addition of a helper step in the release_notes_label to guide users

Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>

* addition of a set of rules for release_notes_labels's pull_request target

Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>

* remove the previous workflow that used to check the release notes labels

Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>

* Change the review check list and enforce the use of type/component labels

Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>

* Fixed syntax in check release notes label workflow

Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
deepthi pushed a commit that referenced this pull request Jun 17, 2022
…10528)

* addition of the release_notes_label workflow

Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>

* addition of a helper step in the release_notes_label to guide users

Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>

* addition of a set of rules for release_notes_labels's pull_request target

Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>

* remove the previous workflow that used to check the release notes labels

Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>

* Change the review check list and enforce the use of type/component labels

Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>

* Fixed syntax in check release notes label workflow

Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
deepthi pushed a commit that referenced this pull request Jun 17, 2022
…10527)

* addition of the release_notes_label workflow

Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>

* addition of a helper step in the release_notes_label to guide users

Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>

* addition of a set of rules for release_notes_labels's pull_request target

Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>

* remove the previous workflow that used to check the release notes labels

Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>

* Change the review check list and enforce the use of type/component labels

Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>

* Fixed syntax in check release notes label workflow

Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
deepthi pushed a commit that referenced this pull request Jun 17, 2022
…10525)

* addition of the release_notes_label workflow

Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>

* addition of a helper step in the release_notes_label to guide users

Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>

* addition of a set of rules for release_notes_labels's pull_request target

Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>

* remove the previous workflow that used to check the release notes labels

Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>

* Change the review check list and enforce the use of type/component labels

Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>

* Fixed syntax in check release notes label workflow

Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
deepthi pushed a commit that referenced this pull request Jun 17, 2022
…10526)

* addition of the release_notes_label workflow

Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>

* addition of a helper step in the release_notes_label to guide users

Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>

* addition of a set of rules for release_notes_labels's pull_request target

Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>

* remove the previous workflow that used to check the release notes labels

Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>

* Change the review check list and enforce the use of type/component labels

Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>

* Fixed syntax in check release notes label workflow

Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants