yihua opened a new pull request, #751:
URL: https://github.com/apache/hudi-rs/pull/751
## Description
closes #750
The manylinux `before-script-linux` installed protoc with `yum install -y
protobuf-compiler`, which on the CentOS 7 base resolves to protoc 2.5.0. That
predates `--experimental_allow_proto3_optional`, the flag prost-build passes
when compiling lance-encoding's protos, so the publish step fails now that
lance is a hard dependency of hudi-core. This installs a pinned official protoc
release instead, on both the x86_64 and aarch64 steps (the latter had the same
latent bug and only escaped because the x86_64 step aborts the job first).
Regular CI runs on ubuntu-latest, whose apt protoc is current, so nothing
exercised the container until a tag was pushed and the crates.io version was
already burnt. The new `manylinux-wheel-build` job runs the same maturin-action
against the same image with the same before-script, differing only in `build`
instead of `publish`, so the break shows up on the pull request. It is
deliberately not path-gated: no lockfile is committed, so dependency versions
resolve fresh on every run and a break can arrive with no file in the repo
changing.
Verified against `quay.io/pypa/manylinux2014`: the yum package gives
`libprotoc 2.5.0` and rejects the flag, while the new script gives `libprotoc
36.1` and `lance-encoding v11.0.0` then compiles cleanly.
## How are the changes test-covered
- [ ] N/A
- [x] Automated tests (unit and/or integration tests)
- [x] Manual tests
- [x] Details are described below
The `manylinux-wheel-build` CI job added here is itself the automated
coverage: it fails on this change's `main` parent and passes with it.
Manually, in the release container (`quay.io/pypa/manylinux2014`):
| step | result |
| --- | --- |
| `yum install protobuf-compiler` then `protoc --version` | `libprotoc
2.5.0` |
| that protoc with `--experimental_allow_proto3_optional` | rejected,
`Missing value for flag` |
| this change's script, then `protoc --version` | `libprotoc 36.1` |
| `cargo build` of `lance-encoding v11.0.0` | finished, exit 0 |
--
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]