Hyukjin Kwon created SPARK-59100:
------------------------------------
Summary: Publish release candidates as GitHub pre-releases in the
release workflow
Key: SPARK-59100
URL: https://issues.apache.org/jira/browse/SPARK-59100
Project: Spark
Issue Type: Improvement
Components: Connect
Affects Versions: connect-rust-4.2.0
Reporter: Hyukjin Kwon
Add a GitHub-Release distribution channel to the release workflow so we can
publish release candidates that users can download and try, and that we can
drop later.
Motivation: PyPI and crates.io are immutable -- once a version is uploaded it
cannot be replaced -- which makes them a poor fit for a throwaway RC. GitHub
Releases can be marked pre-release and deleted freely.
Changes to .github/workflows/release.yml:
- Push a semver pre-release tag (e.g. v4.2.0-rc1). validate-version normalizes
the Cargo semver spelling (4.2.0-rc1) against the PEP 440 spelling (4.2.0rc1)
and emits an is_prerelease output.
- A new publish-github-release job attaches all wheels (Linux x86_64/aarch64,
macOS universal2, Windows x86_64) + the sdist to a GitHub Release, marked
--prerelease for RC tags. Uses the gh CLI (ASF Actions policy allowlists
actions/* only) with job-level contents: write. Idempotent (create-or-upload
--clobber).
- For a pre-release tag the crates.io (publish-crates) and PyPI
(publish-wheels) jobs are skipped, so an RC never lands on an immutable index.
- A final tag (no -rcN) behaves as before (crates.io + PyPI) and additionally
gets a regular GitHub Release.
Users install an RC with: pip install <wheel-or-sdist-asset-url> from the
release page.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]