Skip to content

Commit 0b6a36d

Browse files
committed
ci: fix version reading — use --print-version flag instead of inline Python
1 parent bda3452 commit 0b6a36d

2 files changed

Lines changed: 25 additions & 16 deletions

File tree

.github/update_versions.py

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import pathlib
22
import re
3+
import sys
34
import click
45
from packaging.version import Version
56

@@ -9,6 +10,12 @@
910
"livekit-protocol": "livekit-protocol/livekit/protocol/version.py",
1011
}
1112

13+
TAG_PREFIXES = {
14+
"livekit": "rtc",
15+
"livekit-api": "api",
16+
"livekit-protocol": "protocol",
17+
}
18+
1219

1320
def _esc(*codes: int) -> str:
1421
return "\033[" + ";".join(str(c) for c in codes) + "m"
@@ -117,7 +124,22 @@ def do_prerelease(package: str, prerelease_type: str) -> None:
117124
default="patch",
118125
help="Type of version bump.",
119126
)
120-
def bump(package: str, pre: str, bump_type: str) -> None:
127+
@click.option(
128+
"--print-version",
129+
is_flag=True,
130+
default=False,
131+
help="Print current version and tag prefix, don't bump.",
132+
)
133+
def bump(package: str, pre: str, bump_type: str, print_version: bool) -> None:
134+
if print_version:
135+
vf = pathlib.Path(PACKAGES[package])
136+
version = read_version(vf)
137+
tag_prefix = TAG_PREFIXES[package]
138+
# Output as key=value for easy parsing
139+
print(f"version={version}")
140+
print(f"tag_prefix={tag_prefix}")
141+
return
142+
121143
if pre == "none":
122144
do_bump(package, bump_type)
123145
else:

.github/workflows/publish.yml

Lines changed: 2 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -40,12 +40,6 @@ permissions:
4040
pull-requests: write
4141
id-token: write
4242

43-
env:
44-
# Map PyPI package names to tag prefixes
45-
# livekit -> rtc, livekit-api -> api, livekit-protocol -> protocol
46-
TAG_PREFIX_MAP: '{"livekit":"rtc","livekit-api":"api","livekit-protocol":"protocol"}'
47-
VERSION_FILE_MAP: '{"livekit":"livekit-rtc/livekit/rtc/version.py","livekit-api":"livekit-api/livekit/api/version.py","livekit-protocol":"livekit-protocol/livekit/protocol/version.py"}'
48-
4943
jobs:
5044
# ── Step 1: Create a version bump PR ──────────────────────────
5145
bump:
@@ -109,17 +103,10 @@ jobs:
109103
env:
110104
INPUT_PACKAGE: ${{ inputs.package }}
111105
run: |
112-
pkg="$INPUT_PACKAGE"
113-
version_file=$(echo '${{ env.VERSION_FILE_MAP }}' | jq -r --arg pkg "$pkg" '.[$pkg]')
114-
version=$(python -c "
115-
import re, pathlib
116-
m = re.search(r'__version__\s*=\s*[\"'\''](.*?)[\"'\'']', pathlib.Path('${version_file}').read_text())
117-
print(m.group(1))
118-
")
119-
tag_prefix=$(echo '${{ env.TAG_PREFIX_MAP }}' | jq -r --arg pkg "$pkg" '.[$pkg]')
106+
eval "$(python .github/update_versions.py --package "$INPUT_PACKAGE" --print-version)"
120107
echo "version=$version" >> "$GITHUB_OUTPUT"
121108
echo "tag_prefix=$tag_prefix" >> "$GITHUB_OUTPUT"
122-
echo "Package: $pkg, New version: $version, Tag: ${tag_prefix}-v${version}"
109+
echo "Package: $INPUT_PACKAGE, New version: $version, Tag: ${tag_prefix}-v${version}"
123110
124111
- name: Close existing release PRs for this package
125112
env:

0 commit comments

Comments
 (0)