Commit Graph

102 Commits

Author SHA1 Message Date
Jakub Konka
336d9d1ab6 Subscribe kubkon to wasi label 2020-03-25 13:59:12 +01:00
Darin Morrison
addb31a266 CI: add cargo audit job (#1314)
Co-authored-by: Darin Morrison <darinmorrison@users.noreply.github.com>
2020-03-24 12:57:15 -05:00
Benjamin Bouvier
139536828a Add non-standard builds of Cranelift in automation;
This adds the following build setups in CI:

- only x86,
- only arm64,
- disable debug assertions.
2020-03-23 12:19:28 +01:00
Dan Gohman
a7d84afeb4 Remove the old wast and wasm2obj commands. (#1372)
* Remove the old wast and wasm2obj commands.

These are subsumed by the `wasmtime wast` and `wasmtime wasm2obj` commands.

Fixes #827.

* Remove wasm2obj install commands.
2020-03-20 16:30:37 -07:00
Alex Crichton
532422a5d9 Fix CI fuzz runners 2020-03-17 11:59:42 -07:00
Alex Crichton
b0cf8c021f Turn off binaryen in fuzzing by default
... but turn it back on in CI by default. The `binaryen-sys` crate
builds binaryen from source, which is a drag on CI for a few reasons:

* This is quite large and takes a good deal of time to build
* The debug build directory for binaryen is 4GB large

In an effort to both save time and disk space on the builders this
commit adds a `binaryen` feature to the `wasmtime-fuzz` crate. This
feature is enabled specifically when running the fuzzers on CI, but it
is disabled during the typical `cargo test --all` command. This means
that the test builders should save an extra 4G of space and be a bit
speedier now that they don't build a giant wad of C++.

We'll need to update the OSS-fuzz integration to enable the `binaryen`
feature when executing `cargo fuzz build`, and I'll do that once this
gets closer to landing.
2020-03-17 09:51:59 -07:00
Alex Crichton
ec90509387 Disable incremental compilation on CI (#1341)
This should save us about 3GB of target directory disk space and it may
also be a tiny speed boost. There's no real benefit to using incremental
builds on CI because we're not changing code anyway!
2020-03-17 11:32:34 -05:00
Benjamin Bouvier
ec5442c12a Add myself to the Cranelift watch list 2020-03-17 11:44:59 +01:00
Nick Fitzgerald
e595028f95 Put all labels and globs in quotes for automatic labeling config
It is too easy to run afoul of yaml syntax with all these colons an asterisks,
e.g. we recently broke the bot like this:

``
YAMLException: unidentified alias ".md" at line 58, column 9:
      - *.md
            ^
    at generateError (/home/runner/work/_actions/bytecodealliance/labeler/schedule-fork/dist/index.js:8357:10)
    at throwError (/home/runner/work/_actions/bytecodealliance/labeler/schedule-fork/dist/index.js:8363:9)
    at readAlias (/home/runner/work/_actions/bytecodealliance/labeler/schedule-fork/dist/index.js:9466:5)
    at composeNode (/home/runner/work/_actions/bytecodealliance/labeler/schedule-fork/dist/index.js:9558:20)
    at readBlockMapping (/home/runner/work/_actions/bytecodealliance/labeler/schedule-fork/dist/index.js:9226:16)
    at composeNode (/home/runner/work/_actions/bytecodealliance/labeler/schedule-fork/dist/index.js:9549:12)
    at readBlockSequence (/home/runner/work/_actions/bytecodealliance/labeler/schedule-fork/dist/index.js:9145:5)
    at composeNode (/home/runner/work/_actions/bytecodealliance/labeler/schedule-fork/dist/index.js:9548:12)
    at readBlockMapping (/home/runner/work/_actions/bytecodealliance/labeler/schedule-fork/dist/index.js:9279:11)
    at composeNode (/home/runner/work/_actions/bytecodealliance/labeler/schedule-fork/dist/index.js:9549:12)
```
2020-03-13 12:48:13 -07:00
Nick Fitzgerald
b9dd91f1a4 Fix cranelift:module labeling path globs 2020-03-12 13:08:14 -07:00
Nick Fitzgerald
f88a540725 Add automatic labeling for the cranelift-wasm crate and its tests 2020-03-12 13:07:35 -07:00
Nick Fitzgerald
e2b8d26722 Sort labels alphabetically 2020-03-12 13:06:23 -07:00
Nick Fitzgerald
0b8f7d8883 Add a label for Wasmtime's documentation and guide 2020-03-12 13:04:46 -07:00
Nick Fitzgerald
687042f6ae Also label the fuzz targets with the "fuzzing" label 2020-03-12 13:03:54 -07:00
Nick Fitzgerald
43af21e84d Subscribe myself to the "fuzzing" label 2020-03-12 13:03:27 -07:00
Nick Fitzgerald
2fb98ad590 Revert "Temporarily disable subscribe to label"
This reverts commit 8e21cfef88.
2020-03-12 12:59:29 -07:00
Nick Fitzgerald
8e21cfef88 Temporarily disable subscribe to label 2020-03-12 10:21:29 -07:00
Alex Crichton
af0a4dc0ca Don't define two on: sections in CI 2020-03-12 09:02:09 -07:00
Nick Fitzgerald
23916329bd Run the subscribe-to-label action on a schedule rather than on pull requests (#1296)
Ideally, this would be on "labeled" types of pull request events, but that
doesn't work if the pull request is from another fork. For example, see
https://github.com/actions/labeler/issues/12
2020-03-12 10:49:05 -05:00
Nick Fitzgerald
8747488e9f Use ** to match through multiple directories in labeler action (#1293) 2020-03-11 16:29:05 -05:00
Alex Crichton
3c51d3adb8 Move all examples to a top-level directory (#1286)
* Move all examples to a top-level directory

This commit moves all API examples (Rust and C) to a top-level
`examples` directory. This is intended to make it more discoverable and
conventional as to where examples are located. Additionally all examples
are now available in both Rust and C to see how to execute the example
in the language you're familiar with. The intention is that as more
languages are supported we'd add more languages as examples here too.

Each example is also accompanied by either a `*.wat` file which is
parsed as input, or a Rust project in a `wasm` folder which is compiled
as input.

A simple driver crate was also added to `crates/misc` which executes all
the examples on CI, ensuring the C and Rust examples all execute
successfully.
2020-03-11 15:37:24 -05:00
Nick Fitzgerald
81d9a5e6db Merge pull request #1291 from fitzgen/use-our-labeler-fork
Use our fork of the labeler action that supports cron schedules
2020-03-11 12:43:59 -07:00
Nick Fitzgerald
5100ac26d7 Use our fork of the labeler action that supports cron schedules 2020-03-11 12:41:52 -07:00
Pat Hickey
9d381cdb31 add wiggle to wasi label 2020-03-11 10:32:46 -07:00
Pat Hickey
43f9532ed7 give special label to cranelift-module and its children 2020-03-11 10:31:28 -07:00
Jakub Konka
02c3169151 Autolabel wasi-common PRs as wasi (#1279)
It seems we missed that one in the labeler, so adding now.
2020-03-11 11:47:09 +01:00
Nick Fitzgerald
9c9da1dfda Enable the "Subscribe to Label" github action
This allows users to follow certain labels and automatically get @-mentioned
when they are applied to an issue or a pull request.

See https://github.com/bytecodealliance/subscribe-to-label-action for details.

Fixes #1234
2020-03-10 15:19:34 -07:00
Nick Fitzgerald
e364633c39 Automatically label pull requests based on the file paths modified (#1273)
* Automatically label pull requests based on the file paths modified

* Add `wasmtime:c-api` labels for changes to `crates/c-api/*`
2020-03-10 16:40:02 -05:00
Jakub Konka
bd5e71b038 [wasi-common]: add armv7 support to wasi-common (#1269)
* Add armv7 support to wasi-common

This commit enables `target_pointer_width = 32` compatibility for
`wasi-common` (and by transitivity, any crate found inside, e.g., `yanix`).
I've also added a simplistic (bare minimum) check to our CI to ensure
that `wasi-common` cross-compiles to `armv7-unknown-gnueabihf` fine.
While here, I've done the same for `wasm32-unknown-emscripten`.

* Clean arch-specific impls + reuse libc consts

* Make SeekLoc::from_raw platform independent

* Collapse CI cc jobs into one
2020-03-10 19:18:59 +01:00
Yury Delendik
7ce10191df Add lldb smoke test (#1241)
* add lldb runner

* don't build wasmtime

* use brew's lldb

* disable for macos

* set LLDB on linux

* re-org gh actions and cfg

* address feedback
2020-03-09 08:06:13 -05:00
Till Schneidereit
0afa334f3e Update issue templates
- Include the `cranelift` label for Cranelift bug reports
- Add a Wasmtime bug report template
2020-03-08 00:19:22 +01:00
Alex Pyrgiotis
07212780d3 CI: Use an HTTPS download link for LLVM (#1254) 2020-03-07 12:16:50 +01:00
Nick Fitzgerald
ab317bc0dd CI: Run fuzzer corpora with RUST_BACKTRACE=1
This way if we get regression panics -- like in
https://github.com/bytecodealliance/wasmtime/pull/1192 -- then we actually have
some hope of debugging them properly.
2020-03-05 10:00:48 -08:00
Yury Delendik
6f88fd9af1 Disable/ignore debug_dwarf tests in "cargo test" (#1233) 2020-03-05 11:53:39 -06:00
Alex Crichton
19d8ff2bf5 Remove reader_parse_test/translate_module fuzz targets (#1212)
This commit removes the two fuzz targets that we imported from cranelift
when cranelift merged in. These have both uncovered a few issues in the
fuzz targets themselves, for example:

* `translate_module` - this doesn't verify the wasm is valid a head of
  time and cranelift is known to panic on translating invalid wasm
  modules. We also already do a lot of fuzzing of translation of wasm
  modules, so this isn't necessarily buying us anything over what we're
  already fuzzing.

* `reader_parse_test` - discovered in #1205 we already found some "bugs"
  in this but it may not necessarily rise to the level of "needs to be
  run on oss-fuzz for us to find more bugs" yet. It looks like this is
  still somewhat internal so we can re-enable when we've got folks to
  fix the fuzz bugs coming in.

Closes #1205
2020-03-04 13:54:11 -06:00
Alex Crichton
87757965f4 Merge pull request/issue templates 2020-02-28 12:15:14 -08:00
Alex Crichton
8efca7da0d Merge cranelift doc generation CI 2020-02-28 09:17:53 -08:00
Alex Crichton
7beea5ee88 Move determinism check to wasmtime's CI 2020-02-28 09:17:53 -08:00
Alex Crichton
3e2cdc3ded Merge cranelift/wasmtime fuzzing 2020-02-28 09:16:05 -08:00
Alex Crichton
e47dcc1b37 Handle errors when stringifying errors in uploads (#1008)
Should hopefully fix a failed publication at
https://github.com/bytecodealliance/wasmtime/runs/471153746. I really am
truly bad at JS.
2020-02-27 11:29:52 -06:00
Alex Crichton
febc475d8d Set a more reasonable LC_ID_DYLIB entry on macOS (#1009)
This should make our build slightly more deterministic but also a bit
more usable at runtime if you're dynamically or statically linking
against the artifact since it won't go probing in the CI's build
directory locally (failing to do so inevitably).

Closes #984
2020-02-27 11:29:22 -06:00
Alex Crichton
ead53b3f23 Always delete previous releases, not only for dev (#1001)
This will delete a same-name of a previous release for all tags, not
just the dev tag. That way if we need to retry a tagged release we'll
delete it and recreate it as usual.

Closes #978
2020-02-26 17:09:49 -06:00
Alex Crichton
2d268f49c9 More debug fixes for the upload script (#999)
It really would be great if I could test this :(
2020-02-26 15:33:18 -06:00
Alex Crichton
4b2c56e655 Retry the entire release process, not just uploading one asset (#989)
Another attempt to mitigate #978
2020-02-25 19:46:41 -06:00
Alex Crichton
ab213780cd Fix a syntax error in deployment (#987)
I have no idea how to test this code other than run it live :(
2020-02-25 18:33:11 -06:00
Alex Crichton
5bed47631a Retry uploading release assets if they fail (#982)
This is an attempt to mitigate #978. I'm not really sure if it'll work,
but seems like it's worth trying!
2020-02-25 17:14:36 -06:00
Alex Crichton
345db5b194 Install submodules as well 2020-02-25 09:28:28 -08:00
Alex Crichton
c7fb135452 Test book documentation on CI
Make sure the embedding API follows what's currently implemented!
2020-02-25 08:52:43 -08:00
Alex Crichton
13523e6312 Attempt to fix publication to Pypi (#971)
This commit is an attempt to fix the issue pointed out at
https://github.com/bytecodealliance/wasmtime/issues/312#issuecomment-576429580
where our publication to pypi is failing (and causes our binary release
process to also fail). By updating the dependency here we should pull in
the necessary support to support the `packages_dir` option.
2020-02-24 13:20:38 -06:00
Yury Delendik
b96b53eafb Test basic DWARF generation (#931)
* Add obj generation with debug info
* Add simple transform check
2020-02-20 11:42:36 -06:00