feat!: zip 3.0: Adjust flate2-related features for 3.0#352
feat!: zip 3.0: Adjust flate2-related features for 3.0#352Pr0methean merged 8 commits intozip-rs:masterfrom
Conversation
|
Thanks! This looks good. Unfortunately, our meagre allotment of 20 GitHub Actions runners has to cope with an expanding matrix of architectures and feature-flag configurations that now includes 69 jobs for each pull request, and several PRs are already in the queue. So it may take a day or two to merge this. |
|
I'll check through and close any PRs that this one clearly renders obsolete. |
|
@Pr0methean I'll fix the CI failures on this PR. |
|
@joshtriplett Looks like the Miri tests need their feature configurations updated in https://github.com/zip-rs/zip2/blob/master/.github/workflows/ci.yaml#L50. |
413d706 to
a13a5fb
Compare
Potential improvement for the future: I think it might be reasonable to reduce the matrix somewhat, to test features independently of targets. All targets should test Also, caching would speed things up substantially, for the non-nightly jobs. https://github.com/Swatinem/rust-cache works quite well. |
|
Rebasing atop 5542e5b to avoid stopping other CI jobs if semver-checks fails (which it will for this change). |
Move `deflate-zlib` to `deflate-flate2-zlib` to make it clear it's a flate2 backend, and add `deflate-flate2-zlib-rs` to use the zlib-rs backend. Make the latter the default. Bump the required flate2 version to one that works with zlib-rs 0.5.0, which removes all compatibility considerations by no longer exporting any C symbols that would conflict with another zlib. Remove `deflate-zlib-ng`, largely superseded by `deflate-flate2-zlib-rs`. Remove no-op backend-specific code from an example. Add documentation for the flate2-related feature flags.
|
(Also, I think 5542e5b didn't go far enough, because it only removed the dep for one of the four fuzz jobs.) |
|
Fixed in 7cd9f0f. I look forward to the day when our CI workflow is stable (in the sense of not needing any changes) for long enough that we can factor out a job template or a matrix for the 4 fuzz jobs. |
Signed-off-by: Chris Hennick <4961925+Pr0methean@users.noreply.github.com>
|
@joshtriplett The doctests for |
Move `deflate-zlib` to `deflate-flate2-zlib` to make it clear it's a flate2 backend, and add `deflate-flate2-zlib-rs` to use the zlib-rs backend. Make the latter the default. Bump the required flate2 version to one that works with zlib-rs 0.5.0, which removes all compatibility considerations by no longer exporting any C symbols that would conflict with another zlib. Remove `deflate-zlib-ng`, largely superseded by `deflate-flate2-zlib-rs`. Remove no-op backend-specific code from an example. Add documentation for the flate2-related feature flags. Signed-off-by: Chris Hennick <4961925+Pr0methean@users.noreply.github.com> Co-authored-by: Chris Hennick <4961925+Pr0methean@users.noreply.github.com>
Move
deflate-zlibtodeflate-flate2-zlibto make it clear it's aflate2 backend, and add
deflate-flate2-zlib-rsto use the zlib-rsbackend. Make the latter the default.
Bump the required flate2 version to one that works with zlib-rs 0.5.0,
which removes all compatibility considerations by no longer exporting
any C symbols that would conflict with another zlib.
Remove
deflate-zlib-ng, largely superseded bydeflate-flate2-zlib-rs.Remove no-op backend-specific code from an example.
Add documentation for the flate2-related feature flags.