1
0
Fork 0
This repository has been archived on 2025-08-23. You can view files and clone it, but you cannot make any changes to it's state, such as pushing and creating new issues, pull requests or comments.
glami-demo-conventional-com.../README.md

39 lines
1.5 KiB
Markdown

# DEMO Conventional Commits and Semantic Release
## Agenda
- Conventional Commits
- Semantic Versioning
- Semantic Release
## [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/)
Defined commit message schema, which allows for automation of releases based on [Semantic Versioning (SemVer)](https://semver.org/).
```
<type>[optional scope]: <description>
[optional body]
[optional footer(s)]
```
Conventional Commits are considered stable with version `1.0.0`
I personally prefer [Angular conventions](https://github.com/angular/angular/blob/22b96b9/CONTRIBUTING.md#-commit-message-guidelines). Which IMHO give more flexibility for various changes with more commit `type`s.
The default conventions offer only a few types (`feat`, `fix`, `BREAKING CHANGE` or use `!` as a suffix after type/scope), others are allowed, but not defined. Which Angular Conventions fixes. Such as `build`, `chore`, `ci`, `docs`, `style`, `refactor`, `perf`, `test`.
## [Semantic Versioning](https://semver.org/)
SemVer version format `MAJOR.MINOR.PATCH`, e.g. `1.16.3`. The version (git tag) can be prefixed with `v`, e.g. `v2.3.4`.
## [Semantic Release](https://semantic-release.gitbook.io/semantic-release/)
As the name suggests, this app is responsible for creating new releases following [Semantic Versioning](https://semver.org/).
It uses the commit types to determine, what kind of a release should be released next.
- `BREAKING CHANGE` or `!` => `MAJOR`
- `feat` => `MINOR`
- `fix` => `PATCH`