Skip to content

[RFC] Versioning strategy and release process #4

@machshev

Description

@machshev

We need a versioning strategy and release process so that we can generate Python packages that can be referenced by OpenTitan and any other project that wants to make use of the DVSim tool.

Automated Semantic Versioning

Probably the easiest solution is to use something like: https://python-semantic-release.readthedocs.io/en/latest/
This avoids questions of when and who should be responsible for doing a release. Instead, releases would be automatically be generated in CI for every PR merged.

This tool will automatically determine the package version based on the format of the commit messages since the last release. There are different commit parsers that support different commit conventions.

The basic idea is that PRs that merge a set of commits with fix: ... or perf: ... would be a patch release. While if the commit set contained a feat: ... then this would be a minor version bump. For commits that contain an exclamation mark feat!: ... or an explicit footer line BREAKING CHANGE: ...reason, this would denote a major release.

Metadata

Metadata

Labels

help wantedExtra attention is needed

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions