Semantic Release

Testing 🟡 Mid

Definition

Outil qui automatise entierement le versioning semantique (semver) et la publication npm a partir des messages de commit conventionnels. Zero intervention manuelle.

Analogie

Comme un robot comptable qui analyse vos factures et genere automatiquement le bilan : pas d'erreur humaine possible.

Exemple de code

// .releaserc.json
{
  "branches": ["main"],
  "plugins": [
    "@semantic-release/commit-analyzer",
    "@semantic-release/release-notes-generator",
    "@semantic-release/npm",
    "@semantic-release/github"
  ]
}
// feat: => minor, fix: => patch, BREAKING: => major

Cas d'usage

Pour les librairies publiees sur npm qui veulent un versioning 100% automatise et fiable.

Anti-pattern

Utiliser semantic-release sans conventional commits, rendant l'analyse des changements impossible.
#tooling#automatisation#ci