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

3.0.0 release notes && release notes automation #1047

Merged
merged 17 commits into from
May 27, 2017

Conversation

shilman
Copy link
Member

@shilman shilman commented May 17, 2017

Issue: #1046

What I did

  • Release note proposed structure
  • Rough draft of release notes

Inspired by:

What I need

  • Other notable changes
  • Discussion on release structure
  • Suggestion for how to get a formatted list of PRs since last tagged release? => this will get added to the CHANGELOG as well as the release tag

How to test

Browse the formatted release notes HERE

@aaronmcadam
Copy link
Contributor

Suggestion for how to get a formatted list of PRs since last tagged release?

I use Lerna's conventional commits feature, it works very nicely.

@usulpro
Copy link
Member

usulpro commented May 17, 2017

Suggestion for how to get a formatted list of PRs since last tagged release?

or maybe like this?

https://github.com/storybooks/storybook/pulls?page=1&q=is%3Apr+is%3Aclosed+merged%3A2017-01-15..2017-05-18&utf8=%E2%9C%93

CHANGELOG.md Outdated

Storybook 3.0 is our first fully community-driven release! Notable changes:
- Move from `@kadira` to `@storybooks` org across [github](https://github.com/storybooks/storybook/), [npm](FIXME), [docs](https://storybooks.js.org/)
- Upgrade to Webpack2 [PR637](https://github.com/storybooks/storybook/pull/637)
Copy link
Contributor

Choose a reason for hiding this comment

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

This is a bit nitpicky, and really doesn't matter, but you can just include the URL and github will shorten it to a nicer looking link.

Example:
#637
storybook-eol/storybook-addon-graphql#19

https://github.com/storybooks/storybook/pull/637
https://github.com/storybooks/storybook-addon-graphql/pull/19

I think it's a slightly nicer format when viewing issues on github, and it falls back to the correct link when viewing code outside of github.

I'm totally fine using the [PRXXX](link) format if that's the desired format, but since it looks kind of inconsistent in the changelog's history, I thought I'd bring it up.

Copy link
Member Author

Choose a reason for hiding this comment

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

@apexskier I just used the PR format since it was already setup that way. I have converted to using normal links, although they don't seem to be collapsing properly (perhaps because I'm viewing them on a fork of the main repo???) Further suggestions much appreciated!

Copy link
Contributor

Choose a reason for hiding this comment

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

I think the collapsing will be fixed once merged 😬

@shilman shilman mentioned this pull request May 17, 2017
11 tasks
@shilman
Copy link
Member Author

shilman commented May 17, 2017

@aaronmcadam Lerna's conventional commits feature looks great. but it also requires that we get everybody to adopt that style including PRs from community members.

Somebody also suggested https://github.com/zeit/release, where the person making the release can manually classify each commit. But I guess it does not know about monorepos.

At any rate, it seems like best practices seems to be logging at the commit level. Does this mean we should get smarter about squashing commits and other more serious git usage?

cc @ndelangen @tmeasday @usulpro

@ndelangen
Copy link
Member

Can we link PR's merged to issues and list those in the CHANGELOG?

@tmeasday
Copy link
Member

I think systems that are based on "hygenic" commits are going to be hard to enforce on a community project unless we want to do a lot of PR rebasing, which sounds like a pain.

I would suggest we follow the process we do for Meteor and Apollo, which is to have a vNEXT section of the changelog, ask people to make PRs against a dev branch and include changes to the changelog in their PR (alongside doc changes too if possible).

So a contributor would add a line to the vNEXT section of the changelog. Then the release process is to merge dev to master, re-label vNEXT as vX.Y.Z, and publish.

If we don't want to use dev we could do a different strategy with the same idea.

@shilman
Copy link
Member Author

shilman commented May 18, 2017

@ndelangen @tmeasday I did a quick experiment of trying to pull out merged PR's that specifically referenced issues in the first line of their body. The rationale being that enforcing hygienic commits is probably too much work, but maybe we can do a better job with PRs. Also Github makes it easy for us to edit PR titles to make them more descriptive.

Here is the output of that experiment:

#1043 Update README after repo-restructure (#1042)
#1038 Deprecate builtin addons (#1017)
#1025 Deprecate built-in addons (#1017)
#1024 Updated issue triage guidelines (#733)
#1021 Add addonlinks repo (#1016)
#996 refactor: change NPM organisation from kadira to storybook (#773)
#989 Add typescript definition to addon-notes (#953)
#961 #959 add a max-height and center element with alignItems: center (#959)

Let me know if you think this idea has merit. If so, I can pursue it further. If not, I'm tempted to go with @tmeasday 's suggestion of a manually-curated changelog, but enforced in PRs.

@tmeasday
Copy link
Member

referenced commits

Do you mean "referenced issues"?

I can get behind the idea of updating the PR title instead of changing a changelog file. If it's reliable it's a great middle ground.

@shilman
Copy link
Member Author

shilman commented May 18, 2017

@tmeasday Sorry, yes "referenced issues." I updated my comment.

OK, that's encouraging. I'll take a more complete pass at this today and we can at least give it a shot. If it turns out to be a pain, we can revert to a manual method later. Thanks!

@shilman
Copy link
Member Author

shilman commented May 18, 2017

This is the format generated by https://github.com/ahmdigital/github-publish-release:

- Updated issue triage guidelines #1024 (by @shilman)
- Updated dead getstorybook.io links to storybooks.js.org #988 (by @zjeraar)
- Update README after repo-restructure #1043 (by @shilman)
- Update links in PRs section of CONTRIBUTING.md #992 (by @UsulPro)
- Update jest to the latest version 🚀 #998 (by @greenkeeper[bot])
- Switch back to non-fork of react-inspector #1026 (by @ndelangen)
- Remove text transform uppercase for knob labels #991 (by @cnandreu)
- refactor: change NPM organisation from kadira to storybook #996 (by @aaronmcadam)
- MOVE & RENAME and storyshots && CHANGE “React Storybook” > “Storybook” #1044 (by @ndelangen)
- Fixing link #974 (by @she-dev)
- Fixes for types for knobs `number` #1001 (by @marcfallows)
- Fix typo in README #977 (by @rixth)
- Fix linting in addon-info #980 (by @UsulPro)
- First pass at update the contribution instructions #982 (by @tmeasday)
- Do not ignore story.js in prepublish #973 (by @subpopular)
- Deprecate builtin addons #1038 (by @shilman)
- Deprecate built-in addons #1025 (by @shilman)
- Dependency updates #1008 (by @ndelangen)
- CHANGE folder structure && CHANGE package-names #1031 (by @ndelangen)
- addon-info: make the info overlay be fixed  #914 (by @Kiwka)
- Add typescript definition to addon-notes #989 (by @fabien0102)
- Add propTablesExclude option #924 (by @elisherer)
- Add addonlinks repo #1021 (by @ndelangen)

@shilman
Copy link
Member Author

shilman commented May 18, 2017

Here's the latest, joining PRs and issues per @ndelangen 's suggestion.

CLOSED issues with PRs
OPEN issues with PRs
PRs without issues

ROADMAP.md Outdated

### Long Term

* Automatic story generation (and edge case detection) based on propTypes.
* Angular Support
* Vue Support
* UI addons (Add different panels like Action Logger)
Copy link
Member

Choose a reason for hiding this comment

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

-* A clear guide to hack React Storybook

I think we need the new one since we've changed everything in the repo.

-* Addon API and addons
-* React Native Support
-* UI addons (Add different panels like Action Logger)

Do we have any place to move it instead of just delete? Could it be cool to show wich roadmap points already done? What do you think about it, maybe right here one more section with the title 'realized steps' or checkboxes?

Copy link
Member Author

@shilman shilman May 18, 2017

Choose a reason for hiding this comment

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

I moved it to the root directory, not deleted.

Copy link
Member

Choose a reason for hiding this comment

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

I mean don't delete this points

- use plain links to PRs
- group closed PRs by issue type
@ndelangen
Copy link
Member

I think we're on the right track.

If we could do things like extract labels from issues and do something with that in the CHANGELOG, that could be very useful? For example to categorise per addon / app?

@orta
Copy link
Member

orta commented May 19, 2017

I've always asked (or automated asking) contributors to add CHANGELOG entries from a user's perspective. Trying to automate it from PRs and commits has never worked for me as their audience is different (targeted at devs)

@tmeasday
Copy link
Member

tmeasday commented May 20, 2017 via email

@shilman
Copy link
Member Author

shilman commented May 20, 2017

Nice @orta , love the concept of Danger CI. That's really cool.

I'm going to propose that we run with manual release summaries and edited PR titles:

  • For major releases like 3.0.0, the manual summary might take some work and link to blog posts etc., and there is a large backlog of noisy PRs that are all grouped and collapsed.
  • For minor releases, the release may only consist of a list of the merged PRs. It's up to the person doing the release how they want to edit the CHANGELOG.

The rationale is that policing things at the commit level is too much overhead, but moving forward we should be able to enforce sensibly-named PRs that are user-centric.

It's an experiment, and we can fall back to the tried-and-true method of manually editing the CHANGELOG after a few releases if it doesn't prove out.

@shilman
Copy link
Member Author

shilman commented May 20, 2017

Best practices for CHANGELOGS for anybody who's interested: http://keepachangelog.com/en/0.3.0/

@shilman
Copy link
Member Author

shilman commented May 20, 2017

@ndelangen latest version with the more granular grouping:

Bug Fixes
Other
Maintenance
Open Issues
Addons
PRs without issues

Copy link
Member

@ndelangen ndelangen left a comment

Choose a reason for hiding this comment

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

We need to change the CHANGELOG in the root

@shilman
Copy link
Member Author

shilman commented May 20, 2017

@ndelangen i moved the CHANGELOG to the root. let me know if you think i should make a copy instead.

3_0_release_notes_by_shilman_ _pull_request__1047_ _storybooks_storybook

@ndelangen ndelangen added this to the v3.0.0 milestone May 20, 2017
@ndelangen ndelangen changed the title 3.0 release notes 3.0.0 release notes May 26, 2017
@ndelangen ndelangen added documentation maintenance User-facing maintenance tasks and removed discussion ci: do not merge labels May 26, 2017
@codecov
Copy link

codecov bot commented May 27, 2017

Codecov Report

Merging #1047 into master will not change coverage.
The diff coverage is n/a.

Impacted file tree graph

@@           Coverage Diff           @@
##           master    #1047   +/-   ##
=======================================
  Coverage   12.84%   12.84%           
=======================================
  Files         198      198           
  Lines        4540     4540           
  Branches      718      718           
=======================================
  Hits          583      583           
  Misses       3322     3322           
  Partials      635      635

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 4a2bc93...507c1c7. Read the comment docs.

@shilman shilman merged commit 8a9247c into storybookjs:master May 27, 2017
@ndelangen ndelangen changed the title 3.0.0 release notes 3.0.0 release notes && release notes automation May 27, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation maintenance User-facing maintenance tasks
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants