-
Notifications
You must be signed in to change notification settings - Fork 20
Conversation
003e00d
to
037a998
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, this looks like a good start.
One thing I am confused about is why depit::lock_sync! is a macro. I wasn't able to figure that out from reading the sources.
Instead of using build.rs, could we instead use a CI step and/or a #[test] to enforce that the deps are locked?
Fwiw, I have a PR syncing the upstream wasi-clocks with the change in preview2-prototyping: WebAssembly/wasi-clocks#42. I'll land it in a few days if there are no comments. |
The reason for it to be a macro is to integrate with In any case, this can be changed to a binary invocation in CI or a Rust test case, for example a test case could call https://docs.rs/wit-deps/latest/wit_deps/fn.lock.html and fail if |
037a998
to
f8500e1
Compare
I've added a CI check, since Personally, I am not a fan of this approach, since developers are likely to forget to
on changes to |
wit/deps
via depit
wit/deps
via wit-deps
f8500e1
to
8b45015
Compare
Note, that installing |
Yes, I think installing from the binary release is appropriate. Is it not possible for wit-deps to perform a diff of what it would have generated vs what is on the filesystem, without shelling out to git? Like how Also, just as a heads up, #140 re-organizes some wit in this repo. |
As requested by maintainers, test whether the dependencies are in sync in CI rather than doing it automatically via `build.rs` by using https://docs.rs/wit-deps/latest/wit_deps/macro.lock_sync.html Signed-off-by: Roman Volosatovs <[email protected]>
Signed-off-by: Roman Volosatovs <[email protected]>
8b45015
to
fdafab8
Compare
Done, PTAL
This is not supported at this moment, but would be a nice feature to add once bytecodealliance/wit-deps#25 and bytecodealliance/wit-deps#24 are done, since then it would be possible to just diff the Wasm FTR, here's an example failure https://github.com/rvolosatovs/preview2-prototyping/actions/runs/4788291197/jobs/8514694951 |
Thanks. I need a little bit more help understanding how this tool is integrated. It looks like this is just adding a copy of all the wit deps to inside the When the tool is run, it generates a How will this tool support moving the canonical definitions out of Also, we use the same wits inside |
Yes, and this is what closes the #133 issue I filed earlier. Relative path references in
See #136 (comment) Since all dependencies of
Not exactly sure what you mean about force-pushing the history away. It is indeed the goal, however, for this tool to evolve into a general-purpose All of this is way further down the line, for now bytecodealliance/wit-deps#24 is the next target, but it can only be done once To get a bit deeper into the details here, currently
I will update those as well |
Sorry, it took me a while to make time to come back to this. Understood, thanks for explaining better. Lets land this, and then do a follow up where we convert the whole repository to use this tool for managing all wit definitions, and pull definitions from the standards repo tarballs whenever possible. |
Use https://github.com/bytecodealliance/wit-deps to manage WIT dependencies.
Integrating
wit-deps
in the root of the repository will be done as afollow-up, it's not straight-forward as many dependencies are
out-of-date and the implementation is not compatible with any upstream
wasi-clocks
version:upstream takes the clock ID as the first (out of 3) parameter, whereas the current implementation assumes 2 parameters.
Closes #134
Closes #133