bytecodealliance / componentize-py

Apache License 2.0
158 stars 19 forks source link

Update wasm related dependencies #102

Closed benbrandt closed 2 months ago

benbrandt commented 2 months ago

This updates all of the WASM related dependencies I could.

I think there is one failing test still, which I don't understand, so it is possible I messed something up in addressing the changes. Would appreciate a lookover.

Also, I couldn't go to the latest for everything because some of the sub git deps are pinned at wasm-tools 0.209.1, so I had to keep them there as well as a wasmtime version that also used those versions.

Hopefully this is a helpful start though, and if not, no worries :)

benbrandt commented 2 months ago

@dicej I added some comments where I was unsure on things to help focus the review. I don't claim to be an expert, and the changelogs are hard to follow/nonexistent for these crates

dicej commented 2 months ago

Thanks, @benbrandt ! BTW, you probably noticed I was using forks of wasmtime etc. with patches to support isyswasfa. We can drop all that and remove the isyswasfa code -- it was a proof-of-concept that has served its purpose; we don't need it anymore.

BTW, I'd be fine with ripping off the band-aid and upgrading to wasmtime 24 and whatever wasm-tools it's using. Might as well jump to the latest of everything while we're doing this.

benbrandt commented 2 months ago

Ok I can take a look at it tomorrow. I created a few more PRs for downstream deps so that wasmtime and wasm-tools can be updated.

https://github.com/dicej/wasm-convert/pull/1/files https://github.com/dicej/component-init/pull/2 https://github.com/dicej/isyswasfa-transform/pull/1

Though the last one isn't necessary if we rip it out.

benbrandt commented 2 months ago

@dicej I removed the isyswasfa, but I am really struggling with some of the wasmtime changes, especially in the test generators. I'll see if I can manage to get this in an ok state

benbrandt commented 2 months ago

@dicej ok I pushed up what I did. It compiles, but tests fail horribly. Maybe you might have some ideas of what I did wrong here 🙈

dicej commented 2 months ago

@benbrandt Thanks for putting so much effort into this. I'm having a busy week, so apologies for not helping much so far. Hopefully I'll have some time tomorrow to take a look.

benbrandt commented 2 months ago

No worries. If you want you can also just go commit by commit and if I went wrong somewhere I can maybe cherry pick or revert if the others are ok

dicej commented 2 months ago

@benbrandt I just pushed an update to fix the tests. I'll merge your PRs on the other repos, then update the Cargo.toml here to match, and then we should be ready to merge this.

dicej commented 2 months ago

@benbrandt Thanks again for doing this; it saved me a lot of time!

benbrandt commented 2 months ago

@dicej glad I could help!

dicej commented 2 months ago

FYI, I'm planning to publish a new release to pypi.org, but having CI issues I may need an administrator to help with, and that may need to wait until Monday.

dicej commented 2 months ago

Update: the release is live: https://pypi.org/project/componentize-py/

benbrandt commented 2 months ago

Amazing thank you!