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

Changelog for monorepo - use the same version for all packages #656

Merged
merged 5 commits into from
Jul 8, 2020

Conversation

pomek
Copy link
Member

@pomek pomek commented Jun 29, 2020

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.

@pomek pomek requested a review from mlewand June 29, 2020 11:10
@coveralls
Copy link

Coverage Status

Coverage decreased (-0.03%) to 87.841% when pulling c9cdde8 on i/7323 into e4eefa6 on master.

Copy link
Contributor

@mlewand mlewand left a 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.

@pomek
Copy link
Member Author

pomek commented Jul 2, 2020

@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.

@mlewand
Copy link
Contributor

mlewand commented Jul 2, 2020

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.

@mlewand mlewand self-requested a review July 8, 2020 10:42
@mlewand mlewand merged commit 4036b6e into master Jul 8, 2020
@mlewand mlewand deleted the i/7323 branch July 8, 2020 10:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Improve versioning for minor releases
3 participants