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

Merge upstream changes that have occurred since the fork #59

Merged
merged 201 commits into from
Oct 27, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
201 commits
Select commit Hold shift + click to select a range
e69a7f7
Do proper type checking for type handles. (#7065)
rylev Sep 21, 2023
30ee0dc
Use wasi-streams in the wasi-http implementation (#7056)
elliottt Sep 21, 2023
6aca67c
Support resource maps in `component::bindgen!` (#7069)
alexcrichton Sep 21, 2023
428ab60
Include Wasm-defined globals and memories in core dumps (#6935)
itsrainy Sep 22, 2023
4ba8b6c
Remove manual impl of Error/Display (#7076)
alexcrichton Sep 22, 2023
38bc7e9
riscv64: Better AMode Matching (#7079)
afonso360 Sep 24, 2023
6c438d4
riscv64: Add the remainder of Zca and Zcd instructions (#7080)
afonso360 Sep 25, 2023
6a7ef27
Make `wasmtime::WasmCoreDump` serializable (#7078)
fitzgen Sep 25, 2023
2850d72
Optimize wasm calls ever-so-slightly (#7084)
alexcrichton Sep 25, 2023
d127a14
Add `Func::hash_key` and `Table::hash_key` methods (#7086)
fitzgen Sep 26, 2023
b1ed9b3
cranelift(x64): Make xmm{8..15} registers non-preferred (#7089)
fitzgen Sep 26, 2023
5c1557d
Add docs and example for debugging with core dumps (#7087)
fitzgen Sep 26, 2023
4a8eaa7
cranelift(x64): Swap operands to save AVX instruction encoding size (…
fitzgen Sep 26, 2023
5272e3a
Update `ittapi` crate (#7092)
abrown Sep 26, 2023
3cdc63b
Bump wasm-tools crates (#7094)
alexcrichton Sep 27, 2023
96f0083
Minor preview2 impl cleanups (#7097)
Sep 27, 2023
b7c0eae
Add MPK-protected stripes to the pooling allocator (#7072)
abrown Sep 28, 2023
9982992
x64: Fix false dependencies in int-to-float conversions (#7098)
alexcrichton Sep 28, 2023
7f79a09
Update wit-{parser,component} deps (#7101)
alexcrichton Sep 28, 2023
e9cd131
wasmtime: Misc optimizations (#7102)
elliottt Sep 28, 2023
cf28c22
Remove stray `component_impl.rs` file (#7103)
alexcrichton Sep 28, 2023
40c1f9b
ci: Upgrade QEMU to `8.1.1` (#7096)
afonso360 Sep 28, 2023
8a88ff6
Wasi-http: support inbound requests (proxy world) (#7091)
Sep 28, 2023
3ffb682
c-api: Correct wasmtime_module_image_range type (#7110)
rockwotj Sep 29, 2023
90e4daf
Make C API usable from Rust (#6765)
RubixDev Sep 29, 2023
11a6608
Remove usage of `is-terminal` and `atty` crates (#7104)
alexcrichton Sep 29, 2023
4b288ba
winch(x64): Call indirect (#7100)
saulecabrera Sep 29, 2023
3e5b30b
Start to port Wasmtime to the new wasi-io API with resources. (#7029)
sunfishcode Sep 29, 2023
17eeba0
Cranelift: return programmatic error rather than panic when temporari…
cfallin Sep 29, 2023
a7e4762
Remove some usage of UnsafeCell in the adapter (#7117)
alexcrichton Sep 29, 2023
270e922
Remove `Table*Ext` traits for preview2 (#7118)
alexcrichton Sep 29, 2023
d8ca357
Temporarily disable wasi-nn on CI (#7126)
alexcrichton Oct 2, 2023
80c4542
c-api: Expose host memory creation (#7115)
rockwotj Oct 2, 2023
f15869b
riscv64: Refactor and enable optimizing sign extensions (#7121)
alexcrichton Oct 2, 2023
c642a56
Fix compatibility with Rust 1.70.0 (#7128)
alexcrichton Oct 2, 2023
233786c
riscv64: Add `Zcb` extension instructions (#7123)
afonso360 Oct 2, 2023
56e8481
riscv64: Optimize `uadd_overflow_trap` lowering (#7132)
alexcrichton Oct 2, 2023
1246a24
riscv64: Add another pattern for loading constants (#7131)
alexcrichton Oct 2, 2023
83001e9
Refactor how `subscribe` works in WASI (#7130)
alexcrichton Oct 3, 2023
9d34197
Fix a regression with `wasmtime serve`, and enable the serve feature …
elliottt Oct 3, 2023
c927662
riscv64: Refactor implementation of `{u,s}{div,rem}` (#7136)
alexcrichton Oct 3, 2023
37cf8e1
Async support in the C API (#7106)
rockwotj Oct 3, 2023
16e24fe
feat(preview1): implement `poll_oneoff` (#7099)
rvolosatovs Oct 3, 2023
4a037fc
Handle `lower_branch` consistently amongst backends (#7133)
alexcrichton Oct 3, 2023
1e86063
wasi-sockets: Implement initial listen backlog (#7034)
badeend Oct 3, 2023
86cd2a0
Fix a flaky preview2 test (#7138)
alexcrichton Oct 3, 2023
ec07c89
c-api: Support InstancePre (#7140)
rockwotj Oct 3, 2023
aededf8
riscv64: Refactor and simplify some branches/fcmp (#7142)
alexcrichton Oct 3, 2023
bf513da
Resourcify the wasi-http interface (#7135)
elliottt Oct 3, 2023
71f650b
Fix race condition in `AsyncWriteStream` (#7144)
alexcrichton Oct 3, 2023
57a7caf
riscv64: Update `replicated_{u,}imm5` to match `vconst` (#7141)
alexcrichton Oct 3, 2023
a6d0542
Wasi input-stream: use same errors as output-stream (#7090)
Oct 3, 2023
e2f1bdd
Implement the `wasi:sockets/ip-name-lookup` interface (#7109)
alexcrichton Oct 3, 2023
ef868a7
riscv64: Further optimize constants loading (#7139)
a1phyr Oct 4, 2023
cc0d8bc
Refactor HTTP tests to be less flaky and more robust (#7143)
alexcrichton Oct 4, 2023
611b3de
[wasmtime-wasi] make StdinStream and StdoutStream public (#7150)
dicej Oct 4, 2023
993e26e
wasmtime: Handle common cli args in `wasmtime serve` (#7134)
elliottt Oct 4, 2023
d4e4f61
riscv64: Consolidate conditional moves into one instruction (#7145)
alexcrichton Oct 4, 2023
7ef5094
riscv64: Add support for min/max instructions (#7146)
afonso360 Oct 4, 2023
946c21d
riscv64: Mark `fcmp` as already extended (#7151)
afonso360 Oct 4, 2023
7ef957a
Fix printing error information in sync http tests (#7153)
alexcrichton Oct 5, 2023
157b431
Bump Wasmtime to 15.0.0 (#7154)
wasmtime-publish Oct 5, 2023
41cff15
riscv64: Move `sextend` optimizations into `sext` (#7156)
alexcrichton Oct 5, 2023
88f54c5
Update release notes for 14.0.0 (#7158)
alexcrichton Oct 5, 2023
be4dbb2
Bump regalloc2 to 0.9.3 (#7160)
elliottt Oct 5, 2023
df15006
wasi-http: Use borrow syntax for borrowed resources (#7161)
elliottt Oct 5, 2023
722310a
Add an error resource to WASI streams (#7152)
alexcrichton Oct 5, 2023
542c180
add i128 support for iabs on x86_64 (#7166)
p3achyjr Oct 6, 2023
786ebef
fuzzgen: Enable iabs.i128 on fuzzgen (#7168)
afonso360 Oct 6, 2023
fd3a827
Add a whole lot of semicolons to WIT files (#7159)
alexcrichton Oct 6, 2023
2c53c42
wasi-nn: reenable CI task (#7164)
abrown Oct 6, 2023
6a3d9d0
fix(wasmtime-cli): wrong linker in wasi http (#7167)
eduardomourar Oct 6, 2023
c699fba
docs(component): Fix typo in component translate (#7173)
saulecabrera Oct 6, 2023
55c38b2
Require semicolons in WIT files in CI (#7174)
alexcrichton Oct 6, 2023
a6b62d6
cranelift: Consider functions with TLS values as non leaf (#7177)
afonso360 Oct 6, 2023
b77b407
c-api: Fix type (#7178)
rockwotj Oct 6, 2023
a109d2a
winch(x64): Add support for table instructions (#7155)
saulecabrera Oct 6, 2023
f466aa2
Skeleton and initial support for proof-carrying code. (#7165)
cfallin Oct 6, 2023
099b663
Update syntax for `trappable_error_type` in `bindgen!` (#7170)
alexcrichton Oct 6, 2023
b1f7ff3
Support multiple versions in `bindgen!` (#7172)
alexcrichton Oct 6, 2023
de98ede
riscv64: Improve `f{min,max}` (#7181)
afonso360 Oct 7, 2023
fef8a90
PCC: add semantics for core add/shift/extend/amode ops on AArch64. (#…
cfallin Oct 7, 2023
9fc4a71
cranelift: Group labels by FuncId instead of Name (#7183)
afonso360 Oct 9, 2023
89449b6
wasi-sockets: Simplify & clarify TCP errors (#7120)
badeend Oct 9, 2023
ecc1b79
riscv64: Add GOT relocations for PIC code (#7184)
afonso360 Oct 9, 2023
654a1a1
feat(wasi-sockets): implement UDP (#7148)
rvolosatovs Oct 9, 2023
5cde281
Ensure exports are properly namespaced (#7196)
rylev Oct 9, 2023
97db7c4
add i128 support for iabs on aarch64 (#7185)
p3achyjr Oct 9, 2023
faa8838
Reapply #7150 (#7197)
rylev Oct 9, 2023
23b75f6
riscv64: Optimize `gen_bmask` slightly (#7200)
alexcrichton Oct 9, 2023
f4be360
Refactor the test-programs test suite (#7182)
alexcrichton Oct 9, 2023
ccaf2bf
aarch64: Implement TLSDESC for TLS GD accesses (#7201)
afonso360 Oct 10, 2023
4c34504
fuzzgen: Enable `iabs.i128` for AArch64 (#7202)
afonso360 Oct 10, 2023
1abac1e
Remove some no-longer-necessary Ok-wrapping (#7205)
alexcrichton Oct 10, 2023
07ccbfd
fuzzgen: Enable fcvt functions for normal ints on AArch64 (#7207)
afonso360 Oct 10, 2023
b5fada9
Remove old doc from WasiCtxBuilder::build (#7211)
rylev Oct 10, 2023
2c3a0ee
Refactor preview2's `Table` representation (#7204)
alexcrichton Oct 11, 2023
41e4962
Update MSRV to 1.71.0 (#7206)
alexcrichton Oct 11, 2023
8101bf9
fix:make the python example more clear (#7214)
shenxiangzhuang Oct 11, 2023
2e27ff4
Remove broken links from WASI-intro.md (#7217)
ranile Oct 11, 2023
e6ff841
Introduce API for custom stack memory (#7209)
rockwotj Oct 11, 2023
2d44ecc
riscv64: Fix encoding for `c.addi4spn` (#7208)
afonso360 Oct 11, 2023
d038a43
threads: log every `wait` and `notify` (#7220)
abrown Oct 11, 2023
1ced3e8
PCC: add basic "memory types". (#7219)
cfallin Oct 12, 2023
4b42197
Update examples-profiling-perf.md (#7221)
kellytk Oct 12, 2023
738d41e
Correct grammar (#7224)
kellytk Oct 12, 2023
654d9f5
Add support for float sqrt operators to Winch (#7230)
jeffcharles Oct 12, 2023
f534373
c-api: expose memory_init_cow (#7227)
rockwotj Oct 12, 2023
88bc013
Minor preview2 related test cleanups (#7232)
Oct 12, 2023
9c02fb2
remove logging from wit deps (#7233)
Oct 12, 2023
2e7f941
PCC: check facts on loaded and stored values, infer facts where neede…
cfallin Oct 13, 2023
81b14a5
c-api/cmake: Support custom build options (#7226)
rockwotj Oct 13, 2023
c16540e
Update `arbitrary` to 1.3.1 (#7236)
fitzgen Oct 13, 2023
4f47f3e
winch: Add a subset of known libcalls and improve call emission (#7228)
saulecabrera Oct 13, 2023
f0dacd5
c-api/cmake: support disabling ALWAYS_BUILD (#7238)
rockwotj Oct 13, 2023
f952ff2
wasmtime-cli: add tracing output on `WASMTIME_LOG` (#7239)
Oct 13, 2023
f7f22f0
threads: use hex addresses in log messages (#7241)
abrown Oct 14, 2023
e1d66be
fuzzgen: Add Alias Analysis Memflags to Loads and Stores (#7225)
afonso360 Oct 15, 2023
4f49393
riscv64: Improve codegen for `icmp` (#7203)
alexcrichton Oct 16, 2023
079ddd4
Minor logging tweaks (#7242)
alexcrichton Oct 16, 2023
4869685
Enable the `tracing-log` feature of tracing-subscriber (#7253)
alexcrichton Oct 16, 2023
ad4f923
Fix profiling the first function in a module (#7254)
alexcrichton Oct 16, 2023
1c2e510
Support reset_fuel in store APIs (#7240)
rockwotj Oct 16, 2023
bcce4e3
riscv64: Optimize `select_spectre_guard` (#7250)
alexcrichton Oct 16, 2023
f24abd2
cranelift: Add egraph rules for `bswap` (#7249)
alexcrichton Oct 16, 2023
fe7f060
riscv64: Refactor and improve some rotate-related codegen (#7251)
alexcrichton Oct 16, 2023
99be9b0
Implement stream splice, delete forward (#7234)
Oct 16, 2023
9e4d446
PCC: rework default-facts somewhat. (#7262)
cfallin Oct 16, 2023
5481c1f
riscv: Delete `AdjustSp` instruction (#7265)
afonso360 Oct 17, 2023
cf8869d
riscv64: Implement some `Zbs` extension lowerings (#7252)
alexcrichton Oct 17, 2023
b5b49e0
Update wasm-tools family of crates (#7267)
alexcrichton Oct 17, 2023
51e1b49
riscv64: Fix missing extensions for 8/16-bit div/rem (#7268)
alexcrichton Oct 17, 2023
d0b053e
Refactor x64 asm method names in Winch (#7269)
jeffcharles Oct 17, 2023
39a33d2
PCC: switch "max" facts to "range" facts with two-sided ranges. (#7263)
cfallin Oct 17, 2023
8e00cc2
PCC: initial end-to-end integration with Wasmtime's static memories. …
cfallin Oct 17, 2023
8320372
riscv64: Add support for the xnor instruction (#7279)
alexcrichton Oct 18, 2023
5c7ed43
PCC: merge/propagate facts through egraph opts. (#7280)
cfallin Oct 18, 2023
1633b60
Enable threads, multi-memory, and relaxed-simd by default (#7285)
alexcrichton Oct 18, 2023
f7004c1
c-api: Update reexport of wasmtime crate crate (#7112)
alexcrichton Oct 18, 2023
61e11a6
Remove usage of `BTreeMap` for compiler flags (#7287)
alexcrichton Oct 18, 2023
b95382e
Update wasm-tools deps and `wit-bindgen` (#7286)
alexcrichton Oct 18, 2023
4258dd9
Put versions in all WASI WIT files (#7272)
alexcrichton Oct 18, 2023
cc3bf3c
wasi-http: Allow embedder to manage outgoing connections (#7288)
dicej Oct 18, 2023
405e529
Implement support for `thread` in `*.wast` tests (#7289)
alexcrichton Oct 18, 2023
dd42290
Add support for binary float operators to Winch (#7290)
jeffcharles Oct 19, 2023
70039d8
riscv64: Improve scalar_to_vector for constants (#7284)
BieVic Oct 19, 2023
f111843
Disable relaxed simd when simd is disabled (#7291)
alexcrichton Oct 19, 2023
8dfbc52
Remove some unnecessary world versions (#7293)
alexcrichton Oct 19, 2023
0d4c86d
Replace usage of tabs in `wasi:sockets` with spaces (#7296)
alexcrichton Oct 19, 2023
d86afc0
Gate many CLI/Wasmtime features behind Cargo features (#7282)
alexcrichton Oct 19, 2023
8d19280
PCC: draw the rest of the owl: fully-working PCC on hello-world Wasm …
cfallin Oct 19, 2023
183cb0f
Swap the order of directories in `--dir` (#7301)
alexcrichton Oct 19, 2023
11b6001
Update WASI versions to `0.2.0-rc-2023-11-05` (#7302)
alexcrichton Oct 19, 2023
78e098d
Gate logging in the C API on Cargo features (#7300)
alexcrichton Oct 19, 2023
04fcb6a
A couple of small refactorings to the egraph elaboration pass (#7304)
elliottt Oct 19, 2023
c32a5e2
Update release date of Wasmtime 14.0.0 (#7307)
wasmtime-publish Oct 20, 2023
5565b93
Gate debug builtins behind a Cargo feature (#7305)
alexcrichton Oct 20, 2023
3a5e112
Cranelift: Add script for running Souper on harvested LHSes (#7312)
fitzgen Oct 20, 2023
77d030c
egraphs: don't let rematerialization override LICM. (#7306)
cfallin Oct 20, 2023
ed68661
Pull in the upstream changes to wasi-http (#7314)
elliottt Oct 20, 2023
9bb6b1b
cranelift: Add some libcalls to `test interpret` (#7320)
afonso360 Oct 21, 2023
b995e2f
riscv64: Delete `rev8` instruction (#7319)
afonso360 Oct 21, 2023
ce796a9
Fix typo in examples/threads.rs (#7328)
iawia002 Oct 23, 2023
a5d9bbe
Preserve uext and sext flags for parameters on x86_64 and apple aarch…
bjorn3 Oct 23, 2023
a80da75
Build "min" artifacts on CI (#7315)
alexcrichton Oct 23, 2023
962318e
Gate some `clap` features behind the `default` feature (#7317)
alexcrichton Oct 23, 2023
694f792
Restore the `rlib` crate-type to the C API (#7316)
alexcrichton Oct 23, 2023
3176f03
Name some anonymous structs in the C API (#7324)
alexcrichton Oct 23, 2023
85c0a2d
Switch to simpler fuel APIs (#7298)
rockwotj Oct 23, 2023
5adcbb9
Fix native feature detect in "min" builds (#7338)
alexcrichton Oct 23, 2023
72aaff5
riscv64: Refactor FRM and fcvt-to-int management (#7327)
alexcrichton Oct 23, 2023
9d8ca82
update ittapi to 0.4.0 (#7337)
rahulchaphalkar Oct 23, 2023
bb8b1d5
wasmtime: Fix Bench API Build (#7345)
afonso360 Oct 24, 2023
d9be6e1
Fix the wrong cmake path in wasi example comments (#7343)
iawia002 Oct 24, 2023
282edac
Restructure building the C API (#7341)
alexcrichton Oct 24, 2023
4a660aa
Add release notes for 14.0.1 (#7346)
alexcrichton Oct 24, 2023
d361cf2
mpk: maintain mapping of pkey ID to stripe ID (#7353)
abrown Oct 24, 2023
a6a9bdf
wasi-sockets: Introduce UDP streams (#7243)
badeend Oct 25, 2023
309580b
riscv64: Allow loading 0 with `c.li` (#7359)
afonso360 Oct 25, 2023
205a5d2
Expand further minimization section of documentation (#7350)
alexcrichton Oct 25, 2023
038ddfe
Describe workflow for testing preview2 components (#7292)
cdmurph32 Oct 25, 2023
b10a729
Remove the leftover usage of `posix-signals-on-macos` (#7360)
ulan Oct 25, 2023
1c81b5c
Fix concurrent invocations of `preview2_tcp_bind` test (#7339)
alexcrichton Oct 25, 2023
d58f526
mpk: protect memory with `PROT_NONE` (#7363)
abrown Oct 25, 2023
23031e3
Allow disabling the host-arch feature of cranelift-codegen (#7369)
bjorn3 Oct 25, 2023
bdcfc3f
Add release notes for 14.0.2 and 13.0.1 (#7368)
alexcrichton Oct 25, 2023
9d6bf22
mpk: limit the number of protection keys (#7364)
abrown Oct 25, 2023
952c6a5
`cranelift-wasm`: Add a small optimization for dynamic memories with …
fitzgen Oct 25, 2023
05a6b3b
Add logging and request id tracking to `wasmtime serve` (#7366)
elliottt Oct 25, 2023
9db4737
mpk: enable more tests (#7376)
abrown Oct 26, 2023
4511dea
Update some crates to align on latest `rustix` (#7370)
alexcrichton Oct 26, 2023
0864eb0
Add audit for target-lexicon upgrade (#7380)
alexcrichton Oct 26, 2023
b1b37f4
refactor: using emit_cmp helper to refactor lowering of selection ins…
Solo-steven Oct 26, 2023
d36e2c1
Avoid creating a fields resource when receiving an empty trailers (#7…
elliottt Oct 26, 2023
0d797f7
Add float comparison operators to Winch (#7379)
jeffcharles Oct 26, 2023
f262c31
PCC: support x86-64. (#7352)
cfallin Oct 26, 2023
8a91ae7
remove filesystem locks (#7355)
Oct 26, 2023
d4d8a88
Update rustix to 0.38.21 (#7387)
alexcrichton Oct 26, 2023
fa6fcd9
Fix a possible panic in clock subscription (#7386)
alexcrichton Oct 26, 2023
b526ca7
Merge remote-tracking branch 'upstream/main' into HEAD
nagisa Oct 27, 2023
ec14b75
zkasm: address compilation failures in the backend after merge
nagisa Oct 27, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .github/actions/binary-compatible-builds/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ if (process.env.CENTOS !== undefined) {
return;
}

const name = process.env.INPUT_NAME;
const name = process.env.INPUT_NAME.replace(/-min$/, '');

child_process.execFileSync('docker', [
'build',
Expand Down
8 changes: 8 additions & 0 deletions .github/actions/install-rust/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,14 @@ runs:
CARGO_REGISTRIES_CRATES_IO_PROTOCOL=sparse
EOF

- name: Require semicolons in WIT
shell: bash
run: echo WIT_REQUIRE_SEMICOLONS=1 >> "$GITHUB_ENV"

- name: Install the WASI target
shell: bash
run: rustup target add wasm32-wasi wasm32-unknown-unknown

- name: Choose registry cache key
shell: bash
# Update the registry index cache at most once per day. actions/cache
Expand Down
78 changes: 33 additions & 45 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -125,6 +125,7 @@ jobs:
outputs:
run-full: ${{ steps.calculate.outputs.run-full }}
test-matrix: ${{ steps.calculate.outputs.test-matrix }}
build-matrix: ${{ steps.calculate.outputs.build-matrix }}
test-capi: ${{ steps.calculate.outputs.test-capi }}
build-fuzz: ${{ steps.calculate.outputs.build-fuzz }}
audit: ${{ steps.calculate.outputs.audit }}
Expand Down Expand Up @@ -170,6 +171,9 @@ jobs:
echo "test-matrix={\"include\":$(echo $matrix)}" >> $GITHUB_OUTPUT
echo "$matrix"

matrix="$(node ./ci/build-build-matrix.js)"
echo "build-matrix={\"include\":$(echo $matrix)}" >> $GITHUB_OUTPUT

if [ "$run_full" = "true" ]; then
echo run-full=true >> $GITHUB_OUTPUT
echo test-capi=true >> $GITHUB_OUTPUT
Expand All @@ -196,7 +200,7 @@ jobs:
submodules: true
- uses: ./.github/actions/install-rust
with:
toolchain: nightly-2023-07-02
toolchain: nightly-2023-10-10

# Build C API documentation
- run: curl -L https://sourceforge.net/projects/doxygen/files/rel-1.9.3/doxygen-1.9.3.linux.bin.tar.gz/download | tar xzf -
Expand Down Expand Up @@ -266,8 +270,7 @@ jobs:
# Check some feature combinations of the `wasmtime` crate
- run: cargo check -p wasmtime --no-default-features
- run: cargo check -p wasmtime --no-default-features --features wat
- run: cargo check -p wasmtime --no-default-features --features jitdump
- run: cargo check -p wasmtime --no-default-features --features vtune
- run: cargo check -p wasmtime --no-default-features --features profiling
- run: cargo check -p wasmtime --no-default-features --features cache
- run: cargo check -p wasmtime --no-default-features --features async
- run: cargo check -p wasmtime --no-default-features --features pooling-allocator
Expand All @@ -276,12 +279,20 @@ jobs:
- run: cargo check -p wasmtime --no-default-features --features cranelift,wat,async,cache
- run: cargo check -p wasmtime --no-default-features --features winch
- run: cargo check -p wasmtime --no-default-features --features wmemcheck
- run: cargo check -p wasmtime --no-default-features --features demangle
- run: cargo check -p wasmtime --no-default-features --features addr2line
- run: cargo check --features component-model
- run: cargo check -p wasmtime --features incremental-cache

# Feature combinations of the `wasmtime-cli`
- run: cargo check -p wasmtime-cli --no-default-features

# Check that benchmarks of the cranelift project build
- run: cargo check --benches -p cranelift-codegen

# Check that the bench-api compiles
- run: cargo check -p wasmtime-bench-api

# Check some feature combinations of the `wasmtime-c-api` crate
- run: cargo check -p wasmtime-c-api --no-default-features
- run: cargo check -p wasmtime-c-api --no-default-features --features wat
Expand Down Expand Up @@ -356,7 +367,7 @@ jobs:
# flags to rustc.
- uses: ./.github/actions/install-rust
with:
toolchain: nightly-2023-07-02
toolchain: nightly-2023-10-10
- run: cargo install cargo-fuzz --vers "^0.11"
# Install the OCaml packages necessary for fuzz targets that use the
# `wasm-spec-interpreter`.
Expand All @@ -383,9 +394,9 @@ jobs:
name: ${{ matrix.name }}
runs-on: ${{ matrix.os }}
env:
QEMU_BUILD_VERSION: 8.0.4
QEMU_BUILD_VERSION: 8.1.1
strategy:
fail-fast: true
fail-fast: false
matrix: ${{ fromJson(needs.determine.outputs.test-matrix) }}
steps:
- uses: actions/checkout@v3
Expand All @@ -405,8 +416,6 @@ jobs:
if: matrix.target == 'x86_64-pc-windows-gnu'

- run: cargo fetch --locked
- run: cargo fetch --locked --manifest-path crates/test-programs/wasi-tests/Cargo.toml
- run: cargo fetch --locked --manifest-path crates/test-programs/wasi-http-tests/Cargo.toml

- uses: actions/cache@v3
with:
Expand Down Expand Up @@ -444,7 +453,6 @@ jobs:
# quickly.
curl https://download.qemu.org/qemu-$QEMU_BUILD_VERSION.tar.xz | tar xJf -
cd qemu-$QEMU_BUILD_VERSION
patch -p1 < $GITHUB_WORKSPACE/ci/qemu-cpuinfo.patch
./configure --target-list=${{ matrix.qemu_target }} --prefix=${{ runner.tool_cache}}/qemu --disable-tools --disable-slirp --disable-fdt --disable-capstone --disable-docs
ninja -C build install
touch ${{ runner.tool_cache }}/qemu/built
Expand Down Expand Up @@ -502,7 +510,7 @@ jobs:
submodules: true
- uses: ./.github/actions/install-rust
- run: rustup target add wasm32-wasi
- uses: abrown/install-openvino-action@v6
- uses: abrown/install-openvino-action@v7
with:
version: 2022.3.0
apt: true
Expand Down Expand Up @@ -640,7 +648,7 @@ jobs:
submodules: true
- uses: ./.github/actions/install-rust
with:
toolchain: nightly-2023-07-02
toolchain: nightly-2023-10-10
- run: rustup component add rust-src miri
- uses: actions/cache@v3
with:
Expand All @@ -666,62 +674,42 @@ jobs:
# Perform release builds of `wasmtime` and `libwasmtime.so`. Builds a variety
# of platforms and architectures and then uploads the release artifacts to
# this workflow run's list of artifacts.
#
# Note that the full matrix is computed by `ci/build-build-matrix.js`.
build:
needs: determine
if: needs.determine.outputs.run-full
name: Release build for ${{ matrix.build }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
include:
- build: x86_64-linux
os: ubuntu-latest
- build: x86_64-macos
os: macos-latest
- build: aarch64-macos
os: macos-latest
target: aarch64-apple-darwin
- build: x86_64-windows
os: windows-latest
- build: x86_64-mingw
os: windows-latest
target: x86_64-pc-windows-gnu
- build: aarch64-linux
os: ubuntu-latest
target: aarch64-unknown-linux-gnu
- build: s390x-linux
os: ubuntu-latest
target: s390x-unknown-linux-gnu
- build: riscv64gc-linux
os: ubuntu-latest
target: riscv64gc-unknown-linux-gnu
fail-fast: false
matrix: ${{ fromJson(needs.determine.outputs.build-matrix) }}
steps:
- uses: actions/checkout@v3
with:
submodules: true

- uses: ./.github/actions/install-rust
with:
toolchain: ${{ matrix.rust }}
- run: |
rustup component add rust-src
rustup target add ${{ matrix.target }}

# On one builder produce the source tarball since there's no need to produce
# it everywhere
- run: ./ci/build-src-tarball.sh
if: matrix.build == 'x86_64-linux'
- uses: ./.github/actions/binary-compatible-builds
with:
name: ${{ matrix.build }}
- run: |
echo CARGO_BUILD_TARGET=${{ matrix.target }} >> $GITHUB_ENV
rustup target add ${{ matrix.target }}
if: matrix.target != ''

# Build `wasmtime` and executables. Note that we include some non-default
# features so the # release artifacts can be maximally feature-ful.
- run: $CENTOS cargo build --release --bin wasmtime --features all-arch,component-model

# Build `libwasmtime.so`
- run: $CENTOS cargo build --release --manifest-path crates/c-api/Cargo.toml
- run: $CENTOS ./ci/build-release-artifacts.sh "${{ matrix.build }}" "${{ matrix.target }}"

# Assemble release artifats appropriate for this platform, then upload them
# Assemble release artifacts appropriate for this platform, then upload them
# unconditionally to this workflow's files so we have a copy of them.
- run: ./ci/build-tarballs.sh "${{ matrix.build }}" "${{ matrix.target }}"

- uses: actions/upload-artifact@v3
with:
name: bins-${{ matrix.build }}
Expand Down
6 changes: 2 additions & 4 deletions .github/workflows/publish-artifacts.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,8 @@ jobs:
env:
GH_TOKEN: ${{ github.token }}

- run: ./ci/merge-artifacts.sh

# Deploy the `gh-pages.tar.gz` artifact to the `gh-pages` branch.
- run: tar xf gh-pages.tar.gz
working-directory: gh-pages
Expand All @@ -41,10 +43,6 @@ jobs:

- run: npm install --production
working-directory: .github/actions/github-release
- run: |
mkdir dist
mv -t dist bins-*/*.tar.*
mv -t dist bins-*/*.{zip,msi,wasm}
- name: Publish Release
uses: ./.github/actions/github-release
with:
Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -21,3 +21,5 @@ foo
publish
vendor
examples/build
examples/.cache
*.coredump
Loading
Loading