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

[feat]: Configure release notes #29

Open
ivanlori opened this issue Sep 17, 2020 · 10 comments
Open

[feat]: Configure release notes #29

ivanlori opened this issue Sep 17, 2020 · 10 comments
Labels
enhancement New feature or request help wanted Extra attention is needed

Comments

@ivanlori
Copy link
Contributor

The goal
to have a page where the user can configure his release notes. During the configuration the user can add a title, a free field description or a default description with a multiple selection of suggested branches merged into the master one.
Then there will be toggle boxes where the user can decide if that release should be published on slack, github, JIRA and other services with its own specific integration.
For i.e. with slack the user has to specify the release channel used.
In addition, there will be a simple text field where it is possible to put the recipient email in which the notes will be sent to.
Where
Screenshot 2020-09-17 at 11 25 36
How it should be
Mockup -> https://wireframe.cc/J8FIf5

@ivanlori ivanlori added enhancement New feature or request help wanted Extra attention is needed labels Sep 17, 2020
@svedova
Copy link
Contributor

svedova commented Sep 17, 2020

Oh wow, I get it now. So the idea behind this issue is to use Stormkit as a tool to configure release notes and then whenever a deployment is published we send the release notes to the connected services. Am I understanding this correct?

@ivanlori
Copy link
Contributor Author

yes, it is correct :)

@svedova
Copy link
Contributor

svedova commented Sep 18, 2020

This seems like a very interesting feature! Loved it.

@aerophobic
Copy link
Collaborator

aerophobic commented Sep 18, 2020

awesome suggestion! really like the idea to automate the process of generating release notes in a smart way - maybe it could be even possible to pull information from related tickets (jira) or issues (github) to integrate into the release notes before publishing them to the connected services

@svedova
Copy link
Contributor

svedova commented Dec 28, 2020

@ivanlori, @aerophobic any idea how can we grab the notes to release? I have an idea in mind:

For each deployment we collect the commit sha that triggered that deployment. When a new deployment is published, we can calculate the latest deployment id that is published, get all the deployments in between, and write their commit messages as a release note.

So here's an illustration. Imagine we have these deployments:

Deployment ID publish status commit message
#4 new publish Filter deployments
#3 was never published Improve performance
#2 was never published Fix autocomplete
#1 last published some commit message

Here, the latest published deployment was #1. The user goes ahead and publishes #4. In this case the release note will be:

Released new version (this message can be configured from the UI and is a static one)

(the followings are collected dynamically)

- `#613411` Filter deployments
- `#154634` Improve performance
- `#535112` Fix autocomplete

Now here, we need to take into consideration the rollbacks. What happens when a user rollbacks? Shall we notify as:

Released rollbacked. Removed following features:

- `#613411` Filter deployments
- `#154634` Improve performance
- `#535112` Fix autocomplete

WDYT?

Also, another question, this works as long as the user does not use merge commits. Otherwise it will always be, merged xyz branch into master. Even worse case, if the user has a staging environment and uses merge commits, it will always be merged staging into master. Is there a workaround for this other than forcing to use rebase instead of merge commits?

@ivanlori
Copy link
Contributor Author

ivanlori commented Dec 28, 2020

@svedova Maybe we can just put the name of the branch into the release notes without collecting the deployment ID?
Usually the workflow is for i.e.: I clone a branch from the master to work on a new feature, when the feature is completed it will be merged into master and in that case we put just the name of the feature branch on release notes. WDYT?

@svedova
Copy link
Contributor

svedova commented Dec 28, 2020

@ivanlori apologies maybe my post was a bit confusing. I didn't mean to include the deployment ID in the release note. It was just a way to understand which branches to include in the release notes.

I guess first we need to clarify the term release. Do we consider a merge to master|main a release, or a deployment being published to production?

@ivanlori
Copy link
Contributor Author

ivanlori commented Dec 28, 2020

Well personally I consider a merge into the master|main as a release in production, but it depends on the workflow of different teams of course.
For i.e. I use a pipeline that automatically releases my code in production on every merge/commit on master but there should be the case in which the merge/commit is manually approved and released.

@svedova
Copy link
Contributor

svedova commented Dec 28, 2020

@ivanlori awesome, then perhaps we can leave this to the user. The Configure Release Notes screen may have an input where they can decide:

  • Whether to trigger the release notes on merge to master or when a deployment is published.
  • Whether to include the branch name in the release note or the commit message

WDYT?

@ivanlori
Copy link
Contributor Author

@svedova yes it could be great with the possibility to choose. Consider also that the initial idea was with a free description field as well, so maybe this is the third case besides the automatic options.

@svedova svedova changed the title Possibility to configure release notes [feat]: Configure release notes Dec 8, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

3 participants