question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Build & Release - Conventional Commits & Changelog

See original GitHub issue

This suggestion may be potentially breaking for the current system but I believe it is worth the initial effort.

Issues/Automation to address:

  • force conventional commits (git-cz)
  • generate changelog using commits messages
  • easier release

A helper for newcomers to this standard - would be useful for new contributors to reduce the initial effort to get the submission right.

In addition to commitizen package, cz-conventional-changelog, and standard-versions packages, it’s quite easy to make an automated way of generating changelog (based on commit messages) and publishing new versions.

The flow could look like:

  1. All commits to develop come with conventional commit messages, strictly related to given modules.
  2. When release time has come, use standard-version to bump package, build changelog, create the tag and publish to npm

Example of the output here

It may seem to be a little complicated but trust me - it’s great automation made in an easy way. It reduces the need to manually manage What's new.

PS

All commits in PR are squashed on merge. Please use Conventional Commits when naming your PR.

There is no point in using conventional commits everywhere, as long as the PR is squashed (only the first one will be used). Please consider allowing to not squash if a PR touches multiple modules/areas and the changes/commits are correctly separated.

Issue Analytics

  • State:open
  • Created 3 years ago
  • Comments:5

github_iconTop GitHub Comments

1reaction
czerwinskilukasz1commented, Jun 17, 2020

Hi Kamil,

Thanks for suggesting improvements 😃

force conventional commits (git-cz)

I am for it. Conventional Commits + a hook for Github checking commit’s format + commitizen package.

generate changelog using commits messages

I would put it on hold for the next two releases.

easier release

This is related to your proposed change to the branch flow, automatic versioning etc. I would put it on hold for the next two releases.

Rationale: AskQL is a new repo and I expect its number of issues, number of contributors, size of milestones etc. to change significantly for the time being. If we introduce a process, we should first know what issues we want to solve. While the characteristics of the repo and the behavior pattern of the contributors still change, I think it’s too early to introduce processes which have heavy impact on the workflow or tie us up to a specific procedure.

The only change I would introduce soon is a standard for all the commit messages, which makes our log history much cleaner and meaningful. Conventional Commits sounds like a great choice, a hook for checking the message format would help enforce this and the commitizen package would make it easier and more convenient for developers.

0reactions
czerwinskilukasz1commented, Jun 26, 2020

Agree with all this except for the merge strategy - let’s enforce one PR per feature/bug - it makes reviewing easier and faster

@mhagmajer Which message do you call “this”?

Read more comments on GitHub >

github_iconTop Results From Across the Web

Conventional Changelog - GitHub
Generate changelogs and release notes from a project's commit messages and metadata. - GitHub - conventional-changelog/conventional-changelog: Generate ...
Read more >
How to generate Changelog using Conventional Commits
Automatically create your Changelog ... One of the tools that use conventional commits is standard-version. Standard-version is an npm package ...
Read more >
Tooling for Conventional Commits
php-conventional-changelog: a tool built to generate a changelog from a project's committing history messages and metadata and automate versioning with Semver, ...
Read more >
How To Automatically Generate A Helpful Changelog From ...
Auto-Generate Changelog · Follow the Conventional Commits Specification in your repository. We will use @commitlint/config-conventional to enforce this via Git ...
Read more >
Automatically generate and release a changelog using Node.js
The Conventional Commits specification improves commit messages by providing rules for creating a specific commit history. Conventional Commits ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found