Skip to content

How to define initial version correctly? #1283

Open
@asaf

Description

@asaf

Question

I find the first version behavior odd,

  • when allow_zero_version=true first version is 0.0.0
  • when allow_zero_version=false first version is 1.0.0-beta.1

The command I run:

core git:(beta) ✗ semantic-release --noop version --print

I was expecting PSR not to ignore the beta tag when allow_zero_version=true

Also I was wondering if there's a way to release first version as 0.1.0-beta.1 instead of 0.0.0,

NOTE: I suspect it acts odd only if there are no commits prefixed with fix or feat, I have an initial repo with a single commit starting with Initial Commit, versioning with a commit message such feat: Initial commit actually creates 0.1.0-beta.1 version.

Configuration

[tool.semantic_release]
build_command = "pip install uv && uv build"
commit_parser = "../../scripts/psr/custom_parser/monorepo_parser.py:ConventionalCommitMonorepoParser"
commit_message = """
chore(core-release): Release `core@{version}` [skip ci]
Automatically generated by python-semantic-release
"""
allow_zero_version = false
major_on_zero = false
tag_format = "core-{version}"
version_toml = ["pyproject.toml:project.version"]
version_variables = ["src/uvws_core/__init__.py:__version__"]

[tool.semantic_release.branches.main]
match = "main"
prerelease = false

[tool.semantic_release.branches.beta]
match = "beta"
prerelease = true
prerelease_token = "beta"

[tool.semantic_release.publish]
dist_glob_patterns = ["../../dist/uvws_core-*"]

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions