1
0
Fork 0

docs(README): add agenda

This commit is contained in:
Vojtěch Mareš 2021-12-09 10:03:37 +01:00
parent 25b97e5beb
commit ad94118a70
Signed by: vojtech.mares
GPG key ID: C6827B976F17240D

View file

@ -1,2 +1,39 @@
# 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`