HyukjinKwon opened a new pull request, #85:
URL: https://github.com/apache/spark-connect-rust/pull/85

   ### What changes were proposed in this pull request?
   
   Adds a GitHub-Release distribution channel to `release.yml` so we can cut 
**release candidates** that users download and try, and that we can drop 
afterward.
   
   - Push a semver pre-release tag (e.g. `v4.2.0-rc1`) with `Cargo.toml = 
4.2.0-rc1` / `pyproject.toml = 4.2.0rc1`. `validate-version` normalizes the 
Cargo hyphen spelling against PEP 440 and emits an `is_prerelease` output.
   - New `publish-github-release` job downloads the built wheels (Linux 
x86_64/aarch64, macOS universal2, Windows x86_64) + sdist and attaches them 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-`--clobber`-upload).
   - For a **pre-release** tag the `publish-crates` (crates.io) and 
`publish-wheels` (PyPI) jobs are **skipped**, so an RC never lands on an 
immutable index and stays deletable.
   - A **final** tag (no `-rcN`) is unchanged (crates.io + PyPI) and 
additionally gets a regular GitHub Release.
   
   ### Why are the changes needed?
   
   PyPI and crates.io are immutable — a published version can never be replaced 
— which makes them a poor fit for a throwaway RC. GitHub Releases can be marked 
pre-release and freely deleted, so users can `pip install <asset-url>` to try 
an RC and we can withdraw it by deleting the release + tag.
   
   ### Does this PR introduce _any_ user-facing change?
   
   No change to released artifacts. It adds a new pre-release publishing path 
(opt-in via an `-rcN` tag) and makes final releases additionally produce a 
GitHub Release.
   
   ### How was this patch tested?
   
   `release.yml` parses as valid YAML with the six expected jobs; the 
`if:`/`needs` wiring gates crates.io/PyPI off for pre-release tags and the 
GitHub-Release job on for tag pushes. The workflow's existing dry-run path is 
unaffected.
   
   This pull request and its description were written by Isaac.


-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to