-
Notifications
You must be signed in to change notification settings - Fork 19
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
Add CI built on GitHub Actions #20
Conversation
These simply call the externally linked instruction_memory_grow and instruction_memory_size functions in the runtime. Once connected, these runtime functions can use the existing expand_memory logic that is specific to each runtime-memory implementation.
Note this is only needed when incrementally compiling, which we don't do because of LTO.
- Removed wasmception integration for now - Consistent readv/writev implementation - Changed some magic numbers to enums - Added predeclaration of (get|set)_(i8|16|32|64|f32|f64) stubs - Consistent offset type in get/set stubs - Moved env_(sin|cos) to runtime/libc/env.c
These aren't needed to pass code_benches, but may be used depending on what functions the wasm binary uses (unlink -> wasi_unstable_path_unlink_file for example). Note this the WASI API backing is still not exhaustive.
These were emitted by wasi-sdk-8.0.
And some cleanup around wasm-libc selection
Currently: - code_benches/run.py --polybench - code_benches/run.py --app - code_benches/run.py --custom
The memory instruction implementation is just a thing wrapper around the memory_size/memory_expand API in aWsm.
Should resolve #17 |
Oh hey, it's got a checkmark.
|
Consider this approved by me, as soon as everything under it is merged |
Ready to be merged after #19 |
@geky - I cut a release from the head of the sfbase branch of wasmception of gwsystems, so a tarball is here: https://github.com/gwsystems/wasmception/releases/tag/v0.2.0. Can you please use that and rebase with master? Assuming things rebase cleanly, I suspect that this one should be ready to merge. If you're swamped, I can grab the diff you posted earlier and create a fresh PR. Let me know either way! |
FYI: I cherry picked the diff you linked above into #27 so I can try to bang this out. |
Note: This depends on #19, but it can be disentangled if needed. See 51dc1d1...geky:testing-squished to see what's changed.
This PR adds support for CI built on GitHub Actions. I will tinker with it to make sure its working, but it may just automatically run. It should take any commits/PRs against this repo, build them against both wasmception and wasi-sdk, and push the resulting benchmarks.csv as a "artifact" to the workflow. I will aadd a comment once its working.
There's a small TODO list:
Host a precompiled wasmception binary somewhere. Currently I have the wasmception binary as a release on my repo here. You should just be able to download the
wasmception-0.1.tar.gz
and reupload to the repo you want to host from. Should this be Others/wasmception or gwsystems repo?Once hosting in a correct place I can update this PR to point there instead of my own repo.
Make sure GitHub actions is enabled on gwsystems/awsm. Just need to see what's needed here. This PR may just work without GitHub-side config, or it may not.
Anyways I just wanted to get this PR up for feedback, it should hopefully help build confidence on PRs to here.