-
Notifications
You must be signed in to change notification settings - Fork 27
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
Changelog for monorepo - use the same version for all packages #656
Conversation
… the mono repository project.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The pacakges are correctly bumped, but I have noticed an unrelated change in yarn run changelog
flow.
Recreate v20.0.0 release environment to reproduce this, with following steps:
# yarn link @ckeditor/ckeditor5-dev-env to make sure that you're using this branch
git br -D release # Remove release branch, we're going to create a new (**local**) release branch to emulate v20.0.0 release.
git checkout 22cacf47d4080244247f8d33cbee4b60b8b1f0fb # last commit before version v20.0.0 was bumped and the changelog has been added.
git co -b release # turn it into a new (**local**) release branch
git cherry-pick 9e616ec77e82ec8f69cd5cfbba7b6901ab14cc84 # port the change required for this
yarn run changelog
Purrent master
What happens is that on master
it asks me whether a the release should be treated as a major release:
yarn run v1.22.4
$ node ./scripts/release/changelog.js
📍 Collecting all commits since the last release...
Found 10 entries to parse.
📍 Looking for "MAJOR BREAKING CHANGES" commits...
No "MAJOR BREAKING CHANGES" commits found but you can decide whether a next release should be treated as a major.
? If at least one of those changes is really a major breaking change, this will be a major release. Should it be the major release? No
📍 Preparing new version for all packages...
(...)
Propsoed branch
On the proposed branch it doesn't do that, it goes straight to asking me to provide version number:
$ node ./scripts/release/changelog.js
📍 Collecting all commits since the last release...
Found 10 entries to parse.
📍 Determining the new version...
🔸 MAJOR BREAKING CHANGES commits have not been found.
🔸 MINOR BREAKING CHANGES commits have not been found.
🔸 Commits since the last release:
* 22cacf4 "Internal: yarn.lock." SKIPPED
* 2fee736 "Fix (table): Table multi-cell selection should not be possible with the keystrokes when the Table..." INCLUDED
Merge pull request #7484 from ckeditor/i/7483
* 9160e63 "Bumped Umberto dependency." INVALID
* 14c7ae9 "Internal: Upgraded dependencies." SKIPPED
* 0263f0b "Docs (table): Fix image toolbar configuration in table guide samples. Closes #7469." SKIPPED
* ac26026 "Internal: Updated `@wiris/mathtype-ckeditor5` version to exactly 7.20.0." SKIPPED
* a0c60e0 "Internal (link): LinkCommand and UnlinkCommand should read the state properly when the LinkImage..." SKIPPED
Merge pull request #7466 from ckeditor/i/7465
* 3189f83 "Internal (table): Table pasting integration should not affect inserting text node. Closes #7464." SKIPPED
Merge pull request #7467 from ckeditor/i/7464
* 59b6d40 "Docs (image): An initial guide for linking images. See #7332." SKIPPED
Merge pull request #7458 from ckeditor/i/7332
* 440d12d "Internal (build-*): Build." SKIPPED
💡 Review commits listed above and propose the new version for all packages in the upcoming release.
? Type the new version (current highest: "19.1.1" found in "ckeditor5"): 19.1.2
All in all it's the same thing, but I just wanted to understand what's the reason for change.
@mlewand, sorry for making the confusion. I changed the flow because we do not need to display all changes per package. If we want to propose the single version for all packages, I assumed that displaying everything once will be enough. I know, when you see ~100 commits on the screen, it could be hard to parse. We can improve the look of the list. But how? The tool didn't suggest a new version based on commits. I've fixed that. |
All right, I guess that the idea might work 👌 as far as improving the list goes, I think that ordering changelog entries by package name would improve it a bit. During the release when reviewing the changelog it makes a lot of sense see these grouped for readability, just like we do in the final changelog. |
The changelog generator will use the same version for all packages in the mono repository project.
Suggested merge commit message (convention)
Other (env): The changelog generator for mono repository will use the same version for all packages. On the screen, a user will see all changes:
MAJOR BREAKING CHANGES
,MINOR BREAKING CHANGES
, and all commits since the last release. The user must review it and provide the version. Closes ckeditor/ckeditor5#7323.MAJOR BREAKING CHANGES (env): Task
generateChangelogForMonoRepository()
will generate the changelog uses the same version for all packages.