Skip to content

[FEAT] Add semantic-release for automated versioning and changelog #14

@axelhamil

Description

@axelhamil

The project already uses conventional commits via @commitlint/cli and @commitlint/config-conventional. This provides the foundation for semantic-release.

Integrate https://semantic-release.gitbook.io/ to automate:

  • Version bumping based on commit messages
  • CHANGELOG.md generation
  • GitHub releases creation
  • Git tag creation

TASK

  • Install semantic-release and plugins (@semantic-release/changelog, @semantic-release/git, @semantic-release/github)
  • Create .releaserc.json configuration
  • Add GitHub Actions workflow for release on main branch
  • Configure GITHUB_TOKEN / NPM_TOKEN secrets if needed
  • Update README with release process documentation

Configuration Example

{
"branches": ["main"],
"plugins": [
"@semantic-release/commit-analyzer",
"@semantic-release/release-notes-generator",
"@semantic-release/changelog",
"@semantic-release/github",
["@semantic-release/git", {
"assets": ["CHANGELOG.md", "package.json"],
"message": "chore(release): ${nextRelease.version} [skip ci]"
}]
]
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions