yihua opened a new pull request, #755:
URL: https://github.com/apache/hudi-rs/pull/755
## Description
closes #754
Stacked on #751, review that one first. This branch shows its two commits
until it merges.
The four publish jobs each hung off `validate-release-tag` and uploaded as
soon as their own build succeeded, with nothing gating one on another. A single
build failure therefore left the others already published, and crates.io
refuses a second publish of the same version, so the release has to move to a
new RC number rather than being fixed in place. That is how `0.5.0-rc.1` ended
up permanently taken while its PyPI release has no Linux wheel and no sdist.
This splits the workflow in two. `build-mac`, `build-windows` and
`build-manylinux` build every wheel plus the sdist and upload them as workflow
artifacts. `publish-pypi` and `publish-crates` both list all three in `needs`,
so neither starts unless every build succeeded, and `publish-pypi` uploads the
artifacts rather than rebuilding. A build failure now costs a re-run instead of
a version number.
## How are the changes test-covered
- [x] N/A
- [ ] Automated tests (unit and/or integration tests)
- [ ] Manual tests
- [ ] Details are described below
The workflow only runs on a pushed release tag, so the publish half cannot
be exercised on a pull request without consuming a real version. The build half
is the same maturin-action invocation the `manylinux-wheel-build` job from #751
runs on every PR, and the job graph was checked by parsing the workflow:
```
validate-release-tag
build-mac needs=validate-release-tag
build-windows needs=validate-release-tag
build-manylinux needs=validate-release-tag
publish-pypi needs=[build-mac, build-windows, build-manylinux]
publish-crates needs=[build-mac, build-windows, build-manylinux]
```
Given that, it is worth landing this after the next RC ships rather than
before, so the RC is not the first thing to exercise a rewritten publish path.
--
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]