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]

Reply via email to