-
Notifications
You must be signed in to change notification settings - Fork 38
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
Sync with 10.0.1 #134
Sync with 10.0.1 #134
Conversation
Yeah the CGJ change is annoying and unfortunate. I didn't have any other bit to use. MAYBE I can change the CGJ category to Cf, then we have enough bits to store it's a CGJ in the high-byte. I'll give it a try. |
Not CGJ; the variation-selectors I mean. I confused two similar changes. |
No worries, I'm sure I can figure something out! I'll try again tomrrow or so. |
I went ahead and copy-pasted it, it's not as bad as I thought. Just gotta wait for the three Unicode crates to be updated now. |
Instead of abusing an unused Gen_Cat value, use existing facilities to remember variation selectors. Addresses harfbuzz/rustybuzz#134 (comment)
I made the change to HB to not need a new Gen_Cat, which is very slippery slope. So, please remove |
Updated |
Just gotta wait for |
@RazrFalcon All ready now. |
Thanks! |
@LaurenzV You have added Cargo.lock? Why? |
I added it because from what I know, it's best practice to check the Cargo.lock into git, right? Every crate I've seen so far does this, so I was surprised it isn't the case here. In any case, the "trigger" for me was that running the test cases didn't work automatically, because the But if it was on purpose (although I'm curious why), feel free to revert that change. :) |
No idea, honestly. I personally never do this, except for I don't mind having |
It was best practice NOT to check Cargo.lock in for library crates. They changed their mind about it, in that now it's up to each repository on whether they want to check it in. The advantage is that the CI is more stable as slight breakage in dependencies can't affect unrelated PRs and it more accurately reflects the state of the repository when you check out old commits. However, you need to regularly run cargo update. If you don't do that the CI won't be able to test if the crate still even works against the latest (minor) versions of all the crates that you depend on, as would be the case if someone freshly adds your crate (or some crate that depends on it) to their project. Ideally your CI catches this as soon as possible, but it can't with an outdated checked in Cargo.lock. So this is an additional maintenance burden now (maybe some bot can regularly do it. Afaik dependabot can't). One way to go about it would be to regularly run the CI (daily or once per week) and specifically update the Cargo.lock in those automatically scheduled CI runs. |
Thanks for the details! |
Though one important point I noticed just now: While the crates that depend on rustybuzz will notice broken dependencies of rustybuzz when they freshly add rustybuzz to their project or run |
I suggest keeping the lock file tracked in Git. There are increasingly more advantages and less disadvantages to having it. It should of course be updated and tested at least prior to any releases, and of course periodically testing to make sure things work is good. On the other hand CI can be setup to ignore the lock file and test with (or with and without) freshened dependencies. This does not require perpetually bumping them if there isn't going to be a release immanent anyway and still gives a chance to have an early warning if something down or upstream is starting to surface breakage. Additionally it makes testing PRs for regressions much easier and even gives downstream consumers a known working set of dependencies if they do want to pin to them. |
@CryZe I agree, but |
@RazrFalcon That's a really good point. |
Not sure what to do about harfbuzz/harfbuzz@b94a39d, since we useunicode_properties
we can't just add a new adhoc category, unless we inline that crate into rustybuzz, which would be a bit unfortunate...And also need to wait for unicode-rs/unicode-properties#10, and it would be great if you could update
unicode-ccc
andunicode-bidi-mirroring
so I can include them, too.