feat: replace custom versioning with python-semantic-release
Configure python-semantic-release for automated changelog and versioning: rc releases on dev branch, stable releases on main. Remove the custom bash version-bump and changelog scripts from both CI pipelines.
This commit is contained in:
parent
260837d3aa
commit
0edfc75821
4 changed files with 430 additions and 176 deletions
|
|
@ -43,6 +43,7 @@ dev = [
|
|||
"pytest>=8.0",
|
||||
"pytest-asyncio>=0.24",
|
||||
"pytest-cov>=7.1.0",
|
||||
"python-semantic-release>=9.0",
|
||||
"respx>=0.22.0",
|
||||
]
|
||||
|
||||
|
|
@ -55,3 +56,37 @@ testpaths = ["tests"]
|
|||
# NiceGUI's testing plugin conflicts with unit tests when loaded together
|
||||
addopts = "--ignore=tests/e2e"
|
||||
main_file = "wiregui/main.py"
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Semantic Release
|
||||
# ---------------------------------------------------------------------------
|
||||
[tool.semantic_release]
|
||||
version_toml = ["pyproject.toml:project.version"]
|
||||
tag_format = "v{version}"
|
||||
commit_message = "chore(release): {version}"
|
||||
build_command = ""
|
||||
major_on_zero = false
|
||||
|
||||
[tool.semantic_release.branches.main]
|
||||
match = "(main|master)"
|
||||
prerelease = false
|
||||
|
||||
[tool.semantic_release.branches.dev]
|
||||
match = "dev"
|
||||
prerelease = true
|
||||
prerelease_token = "rc"
|
||||
|
||||
[tool.semantic_release.changelog]
|
||||
exclude_commit_patterns = [
|
||||
"^chore\\(release\\):",
|
||||
]
|
||||
|
||||
[tool.semantic_release.changelog.default_templates]
|
||||
changelog_file = "CHANGELOG.md"
|
||||
|
||||
[tool.semantic_release.remote]
|
||||
type = "gitea"
|
||||
token = { env = "GITHUB_TOKEN" }
|
||||
|
||||
[tool.semantic_release.publish]
|
||||
upload_to_vcs_release = false
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue