You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@paimon.apache.org by "XiaoHongbo-Hope (via GitHub)" <gi...@apache.org> on 2026/07/20 11:48:25 UTC
[PR] build(python): give RC artifacts unique versions [paimon-rust]
XiaoHongbo-Hope opened a new pull request, #557:
URL: https://github.com/apache/paimon-rust/pull/557
## Summary
- Derive a PEP 440 Python version from the release tag.
- Build `v0.3.0-rcN` as `0.3.0rcN` without changing the Cargo workspace version.
- Validate that the tag base matches `workspace.package.version`.
- Require an explicit tag for manual workflow runs.
## Why
RC1 and RC2 currently both build `pypaimon-rust 0.3.0`. Because TestPyPI publishing uses `skip-existing`, RC2 can silently reuse RC1 artifacts. Unique RC versions keep retries idempotent while ensuring different RCs publish different files.
## Verification
- `v0.3.0` keeps dynamic version `0.3.0`.
- `v0.3.0-rc1` and `v0.3.0-rc2` become `0.3.0rc1` and `0.3.0rc2`.
- Mistagged and malformed versions fail.
- Maturin 1.14.1 produced `pypaimon_rust-0.3.0rc2.tar.gz` with matching PKG-INFO and pyproject metadata.
- Ruff, Python byte compilation, YAML parsing, and actionlint passed.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@paimon.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] build(python): give RC artifacts unique versions [paimon-rust]
Posted by "JingsongLi (via GitHub)" <gi...@apache.org>.
JingsongLi commented on PR #557:
URL: https://github.com/apache/paimon-rust/pull/557#issuecomment-5030100893
- The tag provided as input to `workflow_dispatch` is used only for this release; the checkout does not use this tag, and the build actually runs on the manually selected branch.
- The `release` job is still restricted by `startsWith(github.ref, ‘refs/tags/’)`, so manual triggers will never result in a release; TestPyPI/PyPI checks also continue to use `github.ref` rather than the input tag.
- It is recommended to uniformly generate `RELEASE_TAG`, check out `ref: RELEASE_TAG`, allow dispatch to proceed to release, and use `RELEASE_TAG` to determine RC status.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@paimon.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] build(python): give RC artifacts unique versions [paimon-rust]
Posted by "XiaoHongbo-Hope (via GitHub)" <gi...@apache.org>.
XiaoHongbo-Hope commented on PR #557:
URL: https://github.com/apache/paimon-rust/pull/557#issuecomment-5030223472
Fixed in 16c2d1a: manual dispatch now uses RELEASE_TAG for checkout, release gating, and TestPyPI/PyPI selection.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@paimon.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] build(python): give RC artifacts unique versions [paimon-rust]
Posted by "XiaoHongbo-Hope (via GitHub)" <gi...@apache.org>.
XiaoHongbo-Hope commented on PR #557:
URL: https://github.com/apache/paimon-rust/pull/557#issuecomment-5030721947
> Fixed in [16c2d1a](https://github.com/apache/paimon-rust/commit/16c2d1a3694b87532114a338b3ddd8ae66b6e6c4): manual dispatch now uses RELEASE_TAG for checkout, release gating, and TestPyPI/PyPI selection.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@paimon.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] build(python): give RC artifacts unique versions [paimon-rust]
Posted by "XiaoHongbo-Hope (via GitHub)" <gi...@apache.org>.
XiaoHongbo-Hope commented on code in PR #557:
URL: https://github.com/apache/paimon-rust/pull/557#discussion_r3619251817
##########
scripts/python_release_version.py:
##########
@@ -0,0 +1,82 @@
+#!/usr/bin/env python3
+
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+"""Set a unique Python version for release-candidate artifacts."""
+
+from __future__ import annotations
+
+import argparse
+import re
+import sys
+import tomllib
+from pathlib import Path
+
+
+TAG_PATTERN = re.compile(r"^v(?P<base>\d+\.\d+\.\d+)(?:-rc(?P<rc>[1-9]\d*))?$")
Review Comment:
The trigger is intentionally broad. Semantic validation rejects RC0; the release guide starts candidates at RC1.
##########
.github/workflows/release_python_binding.yml:
##########
@@ -70,6 +83,14 @@ jobs:
steps:
- uses: actions/checkout@v7
+ - name: Set Python release version
+ env:
+ RELEASE_TAG: ${{ inputs.tag || github.ref_name }}
+ run: >
+ python3 scripts/python_release_version.py
+ --tag "${RELEASE_TAG}"
Review Comment:
Fixed by running the version step with Bash on every matrix OS.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@paimon.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] build(python): give RC artifacts unique versions [paimon-rust]
Posted by "XiaoHongbo-Hope (via GitHub)" <gi...@apache.org>.
XiaoHongbo-Hope merged PR #557:
URL: https://github.com/apache/paimon-rust/pull/557
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@paimon.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] build(python): give RC artifacts unique versions [paimon-rust]
Posted by "QuakeWang (via GitHub)" <gi...@apache.org>.
QuakeWang commented on code in PR #557:
URL: https://github.com/apache/paimon-rust/pull/557#discussion_r3618924485
##########
.github/workflows/release_python_binding.yml:
##########
@@ -70,6 +83,14 @@ jobs:
steps:
- uses: actions/checkout@v7
+ - name: Set Python release version
+ env:
+ RELEASE_TAG: ${{ inputs.tag || github.ref_name }}
+ run: >
+ python3 scripts/python_release_version.py
+ --tag "${RELEASE_TAG}"
Review Comment:
The `wheels` matrix includes `windows-latest`, where `run` uses PowerShell by default. `${RELEASE_TAG}` does not read the environment variable in PowerShell, so the Windows wheel job receives an empty tag and fails.
##########
scripts/python_release_version.py:
##########
@@ -0,0 +1,82 @@
+#!/usr/bin/env python3
+
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+"""Set a unique Python version for release-candidate artifacts."""
+
+from __future__ import annotations
+
+import argparse
+import re
+import sys
+import tomllib
+from pathlib import Path
+
+
+TAG_PATTERN = re.compile(r"^v(?P<base>\d+\.\d+\.\d+)(?:-rc(?P<rc>[1-9]\d*))?$")
Review Comment:
The workflow tag filter accepts `vX.Y.Z-rc0`, but this pattern rejects it. Such a tag will trigger the release workflow and then fail during version validation.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@paimon.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org