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

[FEA]: Automate generating release notes structured based on required PR labels #3191

Open
1 of 4 tasks
jrhemstad opened this issue Dec 18, 2024 · 1 comment
Open
1 of 4 tasks
Labels
feature request New feature or request.

Comments

@jrhemstad
Copy link
Collaborator

jrhemstad commented Dec 18, 2024

Is this a duplicate?

Area

Infrastructure

Is your feature request related to a problem? Please describe.

As a user and consumer of CCCL, I would like CCCL's release notes to be structured to help me find updates that are relevant to me.

I would like to make it part of CCCL's release automation to auto-generate structured release notes based on labels required to be applied to PRs before they can be merged.

For example, in RAPIDS repos their release notes are auto-generated in the following structure:

# Breaking Changes
// all PRs with the "breaking" label

# Bug Fixes
// all PRs with the "bug-fix" label

# Documentation
// all PRs with the "doc" label

# New Features
// All PRs with "non-breaking" label

Furthermore, part of their CI status check requires one of these labels be set in order to merge. This prevents accidentally merging a PR without one of these required labels and ensuring our release notes are comprehensive.

In RAPIDS they had to implement this logic themselves, but it looks like this functionality is built directly into GitHub now which should make it even easier.

As far as I can tell, the built-in functionality only solves generating the release notes based on labels. It doesn't do anything to require PRs have a label to be merged. So we'd still need to add that as our own workflow for the CI status check.

RAPIDS implementation of the label checker is unique to the fact that they don't use GitHub's native UI for merging PRs and instead uses a bot with triggered by a /merge command. Triggering the merge command will check for the required labels and fail if not present.

I had been thinking of instead implementing this as a workflow and making it required for the status check.

Describe the solution you'd like

  • Determine desired structure of generated release notes and required labels
  • Implement label checker as part of CI status check
  • Implement .github/release.yml file for auto-structured release notes

Describe alternatives you've considered

No response

Additional context

No response

@jrhemstad jrhemstad added the feature request New feature or request. label Dec 18, 2024
@github-project-automation github-project-automation bot moved this to Todo in CCCL Dec 18, 2024
@gevtushenko
Copy link
Collaborator

gevtushenko commented Dec 18, 2024

It might be helpful to split release notes into functionality domains.
We should compare different options, here's one of them:

C++

Parallel Algorithms

New Features

Breaking Changes

Documentation

Bug Fixes

Cooperative Algorithms

...

Vocabulary Types

...

Python

Parallel Algorithms

...

Cooperative Algorithms

...

Vocabulary Types

...

The exact partitioning will likely depend on @gonidelis work on #2841.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature request New feature or request.
Projects
Status: Todo
Development

No branches or pull requests

2 participants