Skip to content

Commit f8bedfc

Browse files
committed
fix(semantic-release): PEP440 compatibility for prereleases
1 parent 7d5ac5e commit f8bedfc

File tree

1 file changed

+14
-1
lines changed

1 file changed

+14
-1
lines changed

.releaserc.yml

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,14 @@
1+
# Allowed number of prerelease rules: 1..3
2+
# While semantic-release allows globs, they must be combined with `prerelease: true` and suffix is derived from name than. It conflicts with PEP440
3+
# PEP440 version rules (not compatible with SemVer): [N!]N(.N)*[{a|b|rc}N][.postN][.devN]
4+
# Consequences:
5+
# - prerelease branches must be explicitly specified, no asterisks
6+
# - prerelease parameter should be one of: a,b,rc,dev,post
7+
# - translation from SemVer prerelease notation to PEP440 is tone in 'replacements' section
18
branches: # only branches listed here will create releases
29
- master
310
- name: ci/trusted_publishing_test
4-
prerelease: ci
11+
prerelease: dev
512
#- name: develop
613
# prerelease: dev
714
#- name: feature/*
@@ -21,6 +28,12 @@ plugins:
2128
hasChanged: true
2229
numMatches: 1
2330
numReplacements: 1
31+
- files: [pyproject.toml] # optional: SemVer prerelease -> PEP440
32+
from: '^version = "(\\d+\\.\\d+\\.\\d+)-(dev|post)\\.(\\d+)"'
33+
to: 'version = "\\1.\\2\\3"'
34+
- files: [pyproject.toml] # optional: SemVer prerelease -> PEP440
35+
from: '^version = "(\\d+\\.\\d+\\.\\d+)-(a|b|rc)\\.(\\d+)"'
36+
to: 'version = "\\1\\2\\3"
2437
- - '@semantic-release/git'
2538
- assets:
2639
- CHANGELOG.md

0 commit comments

Comments
 (0)