[
https://issues.apache.org/jira/browse/SPARK-59077?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Hyukjin Kwon updated SPARK-59077:
---------------------------------
Affects Version/s: connect-rust-0.1.0
(was: 5.0.0)
> Make the spark-connect-rust release workflow safe for a direct release
> ----------------------------------------------------------------------
>
> Key: SPARK-59077
> URL: https://issues.apache.org/jira/browse/SPARK-59077
> Project: Spark
> Issue Type: Improvement
> Components: Project Infra
> Affects Versions: connect-rust-0.1.0
> Reporter: Hyukjin Kwon
> Priority: Major
> Labels: pull-request-available
> Fix For: connect-rust-4.2.0
>
>
> The release workflow (.github/workflows/release.yml) can publish the Rust
> crates to crates.io and the Python wheel to PyPI, but a dry_run=true dispatch
> only builds wheels -- it never rehearses the crate publish, so the first
> proof that "cargo publish" works is the irreversible real release. Other gaps
> make a direct release risky:
> - No idempotent recovery: a re-run after a partial publish aborts on "already
> exists" (crates) and on duplicate upload (PyPI).
> - The single ubuntu-latest wheel's glibc floor tracks the runner, with no
> aarch64 build and no sdist fallback.
> - No concurrency guard, so a tag push and a manual dispatch can publish at
> the same time.
> - The published crates lack repository/homepage metadata (crates.io "manifest
> has no repository" warning).
> Harden the workflow so a committer can cut a release directly:
> - Rehearse the crate publish in dry-run via workspace-ordered "cargo publish
> --dry-run" (cargo >= 1.90 orders and verify-builds the crates against the
> local workspace, so it works even before anything is on crates.io).
> - Make crate and wheel publishing idempotent (skip crates already on
> crates.io; twine upload --skip-existing).
> - Build portable manylinux2014 (x86_64 + aarch64 via --zig) and macOS
> universal2 wheels, plus a source distribution.
> - Add a concurrency guard that never cancels a publish in flight.
> - Extend the version gate to also check the internal path-dependency version
> pins.
> - Inherit repository/homepage/authors on the published crates from the
> workspace.
> PR: https://github.com/apache/spark-connect-rust/pull/79
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]