Skip to content

Conversation

@nhussein11
Copy link
Contributor

Solves #5

This pull request introduces automated release management using semantic-release, ensuring that versioning and changelog updates follow Semantic Versioning and Conventional Commits. The changes add a release workflow, update documentation to explain the new process, and configure the necessary dependencies and scripts.

Automated Release Workflow

  • Added a GitHub Actions workflow (.github/workflows/release.yml) to run semantic-release on every push to master, automating versioning, changelog updates, and GitHub Releases.
  • Added semantic-release configuration in .releaserc.json, specifying branch, plugins, tag format, and changelog settings.

Documentation Updates

  • Updated README.md and CONTRIBUTING.md to document the new release and versioning process, including explanations of Semantic Versioning, Conventional Commits, and how releases are automated. [1] [2] [3]

Changelog Management

  • Added CHANGELOG.md as an automatically maintained changelog for all notable changes, to be updated by semantic-release only.

Dependency and Script Additions

  • Added semantic-release and related plugins as devDependencies in package.json and introduced a release script for manual invocation if needed. [1] [2]

Copy link
Collaborator

@brunopgalvao brunopgalvao left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I really like this.

What happens if the contributor forgets to use conventional commits?
Is there a way to enforce conventional commits similar to a cargo fmt GitHub Action check.
Would it make more sense to use conventional commits syntax in the PR title vs in commits because I am not sure if it can be enforced on the commit level... the contributor would have to use git commands to edit their commit message if they forget to use conventional commits, that can be cumbersome. As for on the PR title, a simple edit suffices.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants