Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New icu_* crate releases break (unlocked) main build and latest crates release #3299

Closed
mattsse opened this issue Sep 24, 2023 · 13 comments
Closed

Comments

@mattsse
Copy link
Contributor

mattsse commented Sep 24, 2023

Describe the bug
0.17.0 on crates is currently broken due to new icu releases (icu_provider 0.13.0) which bumped zerovec through tinystr bump

To Reproduce
cargo new repro

add deps:

[dependencies]
boa_engine = "0.17"

cargo c

This is also an issue on main after removing lock file which then picks up new icu_* crates rm Cargo.lock && cargo c

@mattsse mattsse changed the title New icu_* crate releases break main build and latest release New icu_* crate releases break (unlocked) main build and latest crates release Sep 24, 2023
@jedel1043
Copy link
Member

Can you check if the build is now fixed? I think this broke because ICU4X published its crates by parts, instead of all at once.

@mattsse
Copy link
Contributor Author

mattsse commented Sep 25, 2023

for new crates via boa_engine = "0.17.0" this is still the case because it pulls in all icu_ 1.3.0 crates

on main as well after rm Cargo.lock

@mattsse
Copy link
Contributor Author

mattsse commented Sep 25, 2023

I guess #3306 addresses this?

@jedel1043
Copy link
Member

I guess #3306 addresses this?

No, that's for the next version of Boa. We'll have to backport a fix and yank 0.17.

@jedel1043
Copy link
Member

jedel1043 commented Sep 25, 2023

The problem is that we're pinning zerovec to "0.9.4" on boa_icu_provider without pinning the rest of the libraries to 1.2.0. I'll see if we can fix this on boa_icu_provider only. Otherwise, we can yank both boa_engine@0.17 and boa_icu_provider@0.17, and push new versions for both.

@Borber
Copy link

Borber commented Sep 26, 2023

I still can't seem to find a solution. Is there any solution that can be solved now?

@jedel1043
Copy link
Member

I still can't seem to find a solution. Is there any solution that can be solved now?

We're preparing a new release that should publish at most tomorrow :)

@sffc
Copy link

sffc commented Sep 26, 2023

tl;dr, icu 1.2 needs zerovec 0.9 and icu 1.3 needs zerovec 0.10, and mixing versions will cause errors.

@sffc
Copy link

sffc commented Sep 26, 2023

Worth noting that icu 1.3 supports a range dependency such that it can work with zerovec 0.9.

@sffc
Copy link

sffc commented Sep 26, 2023

Can you check if the build is now fixed? I think this broke because ICU4X published its crates by parts, instead of all at once.

We hit a crates.io rate limit when publishing crates. We have asked for a rate limit increase so that next time we can shorten the amount of time it takes to ship a release on crates.io

@jedel1043
Copy link
Member

jedel1043 commented Sep 26, 2023

Worth noting that icu 1.3 supports a range dependency such that it can work with zerovec 0.9.

Like using a range version in Cargo.toml ("icu_plurals = ">=1.2.0, <1.3")? Or what do you mean?

@jedel1043
Copy link
Member

Ah, I see. ICU4X's repo pins zerovec to ">0.9.4, <0.11.0"
https://github.com/unicode-org/icu4x/blob/63a0b286b88d4e721530177316a5d8b518183c99/Cargo.toml#L217

@jedel1043
Copy link
Member

Boa@0.17.1 is up! https://crates.io/crates/boa_engine/0.17.1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants