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

Add Continuous Integration #17

Closed
gparmer opened this issue Jul 28, 2020 · 6 comments
Closed

Add Continuous Integration #17

gparmer opened this issue Jul 28, 2020 · 6 comments
Labels
enhancement New feature or request

Comments

@gparmer
Copy link
Collaborator

gparmer commented Jul 28, 2020

Add a CI infrastructure to aWsm. Run a subset of the tests on each PR to validate the soundness of the request.

@gparmer gparmer added the enhancement New feature or request label Jul 28, 2020
@geky
Copy link
Collaborator

geky commented Jul 30, 2020

A note here for anyone else looking at this. I was able to get Travis to a nearly working stage on this branch: https://github.com/geky/aWsm/blob/travis/.travis.yml

But I've taken some detours:

  1. Looking at wasi-sdk integration, currently on my master (geky@69ad542), this would let us use wasi-sdk's releases which have precompiled binaries:
    https://github.com/WebAssembly/wasi-sdk/releases/tag/wasi-sdk-8

    It looks like wasi-sdk can't be a complete replacement for now, so we'll probably need to host a precompiled wasmception binary, which isn't the end of the world. (or a preprepared docker image, but I have less experience there).

  2. I'm also actually exploring Azure Pipelines as an alternative to Travis. On my local machine the tests are close to the 30-minute cut-off and Azure's unlimited time (but limited parallel jobs) may be a better fit. It also looks like it has less of Travis's annoying quirks. I may end up adopting Azure Pipelines in some other repos.

@Others
Copy link
Contributor

Others commented Jul 31, 2020

I think we should restructure the awsm directories based off the wasi-sdk work. Maybe something like this:

aWsm/{rust program, essential runtime files}
aWsm_wasmception/{wasmception, wasmception runtime files, wasmception programs, script to run wasmception programs through aWsm}
aWsm_wasi_skd/{wasi_skd, wasi_skd runtime files, wasi_skd programs, script to run wasi_skd programs through aWsm}

@geky
Copy link
Collaborator

geky commented Aug 9, 2020

Oh, just saw this. Does the proposed layout change with #19? The difference between wasmception and wasi-sdk is one file, so it may not need to be restructured?

On the other hand, we still need to do the full silverfish -> awsm rename (script here gparmer#1). So it would be a good time.

@gparmer
Copy link
Collaborator Author

gparmer commented Aug 9, 2020

I think that if @geky has a PR that works and makes progress, then we can add an issue for this restructuring. @Others do you think that we can proceed with reviews on #19 and proceed with gparmer#1?

@geky
Copy link
Collaborator

geky commented Aug 10, 2020

I've also just gotten most of the CI working. After exploring the area (a lot has changed in a couple years!), it seems like GitHub actions is the best option at the moment.

You can see the CI working here. You may have to click "show checks" to show the status updates, but it leave a status on each commit with the runtime results from code_benches/run.py. It also uploads the benchmarks.csvs to the repo's "Actions" page:

Still tinkering with a few of the CI parts, trying to figure out how best to handle the actual status updates as it needs an OAuth token with the "commit status" permissions. It may end up needing a bot user.

@geky geky linked a pull request Aug 19, 2020 that will close this issue
@bushidocodes
Copy link
Contributor

I believe that this issue should be fully completed by PR #20 and follow-on PRs. Closing to clean up the issue tracker.

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

Successfully merging a pull request may close this issue.

4 participants