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]

Reply via email to