Elegant follows “release early, release often” software development philosophy. In this regard, our release process is fully automated.
We use semantic-release for version management and publishing.
Our semantic release configuration can be viewed here.
It generates the change log automatically, therefore you do not have to update the CHANGELOG.
New Releases and Version Number¶
semantic-release uses the commit messages to determine the type of changes in the codebase. Following formalized conventions for commit messages, semantic-release automatically determines the next semantic version number, generates a changelog and publishes the release.
Here is an example of the release type that will be done based on a commit messages:
|Commit Message||Release Type|
|fix(pencil): stop graphite breaking when too much pressure applied||Patch Release|
|feat(pencil): add ‘graphiteWidth’ option||Minor Feature Release|
|perf(pencil): remove graphiteWidth option
BREAKING CHANGE: The graphiteWidth option has been removed.
The default graphite width of 10mm is always used for performance reasons.
|Major Breaking Release|
Test Release Process Locally¶
To test semantic-release locally,
- Install yarn
It will run the all the checks and steps in dry run mode.