Skip to content

Commit 48690eb

Browse files
committed
fix: preserve version in generate_pyproject when updated by semantic-release
- Detect when version in pyproject.toml differs from .project.yml - Preserve the existing version (set by semantic-release) instead of overwriting - Fixes issue where generate_pyproject would reset version from 1.0.0 back to 0.2.3 - Now correctly builds packages with semantic-release determined version - Maintains clean separation between semantic-release and build process
1 parent 59e39f0 commit 48690eb

1 file changed

Lines changed: 12 additions & 1 deletion

File tree

dev-tools/scripts/generate_pyproject.py

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,17 @@ def update_pyproject_selective(pyproject_path: Path) -> None:
104104
lines = content.split("\n")
105105
new_lines = []
106106

107+
# Check if version was already updated by semantic-release
108+
current_version = None
109+
for line in lines:
110+
if line.strip().startswith('version = "'):
111+
current_version = line.strip().split('"')[1]
112+
break
113+
114+
# If current version is different from .project.yml, don't overwrite it
115+
# (semantic-release has already updated it)
116+
use_current_version = current_version and current_version != version
117+
107118
i = 0
108119
while i < len(lines):
109120
line = lines[i].strip()
@@ -115,7 +126,7 @@ def update_pyproject_selective(pyproject_path: Path) -> None:
115126
[
116127
"[project]",
117128
f'name = "{package_name}"',
118-
f'version = "{version}"',
129+
f'version = "{current_version if use_current_version else version}"',
119130
f'description = "{description}"',
120131
'readme = "README.md"',
121132
'license = "Apache-2.0"',

0 commit comments

Comments
 (0)