1
0
Fork 0
No description
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.
Find a file
2021-12-09 10:03:37 +01:00
tests feat: add dummy app 2021-12-09 09:46:29 +01:00
.editorconfig style: add .editorconfig 2021-12-09 09:44:05 +01:00
.gitlab-ci.yml ci: make release run only on main branch and dry run on other branches 2021-12-09 09:47:33 +01:00
.releaserc.yml ci: add basic GitLab CI and .releaserc.yml 2021-12-09 09:45:45 +01:00
app.py feat: add dummy app 2021-12-09 09:46:29 +01:00
README.md docs(README): add agenda 2021-12-09 10:03:37 +01:00

DEMO Conventional Commits and Semantic Release

Agenda

  • Conventional Commits
  • Semantic Versioning
  • Semantic Release

Conventional Commits

Defined commit message schema, which allows for automation of releases based on Semantic Versioning (SemVer).

<type>[optional scope]: <description>

[optional body]

[optional footer(s)]

Conventional Commits are considered stable with version 1.0.0

I personally prefer Angular conventions. Which IMHO give more flexibility for various changes with more commit types.

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

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

As the name suggests, this app is responsible for creating new releases following Semantic Versioning.

It uses the commit types to determine, what kind of a release should be released next.

  • BREAKING CHANGE or ! => MAJOR
  • feat => MINOR
  • fix => PATCH