Skip to content

Commit 1f4c3de

Browse files
committed
Merge remote-tracking branch 'upstream/main' into stack-switching-cranelift
Resolved a few conflicts manually, blessed disas tests, and made a few non-conflicting updates to func_environ.rs and code_translator.rs (but pretty trivial).
2 parents 2bdfb25 + 48ac29a commit 1f4c3de

1,017 files changed

Lines changed: 51315 additions & 31590 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/actions/install-rust/action.yml

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,10 @@ runs:
1717
- name: Install Rust
1818
shell: bash
1919
id: select
20+
env:
21+
# This is an attempt to reduce flakiness and see what happens. If this
22+
# lands it worked. Feel free to modify if this becomes flaky again.
23+
RUSTUP_USE_CURL: 1
2024
run: |
2125
# Determine MSRV as N in `1.N.0` by looking at the `rust-version`
2226
# located in the root `Cargo.toml`.
@@ -28,7 +32,7 @@ runs:
2832
elif [ "${{ inputs.toolchain }}" = "msrv" ]; then
2933
echo "version=1.$msrv.0" >> "$GITHUB_OUTPUT"
3034
elif [ "${{ inputs.toolchain }}" = "wasmtime-ci-pinned-nightly" ]; then
31-
echo "version=nightly-2025-07-08" >> "$GITHUB_OUTPUT"
35+
echo "version=nightly-2025-08-06" >> "$GITHUB_OUTPUT"
3236
else
3337
echo "version=${{ inputs.toolchain }}" >> "$GITHUB_OUTPUT"
3438
fi
@@ -37,7 +41,12 @@ runs:
3741
shell: bash
3842
run: |
3943
rustup set profile minimal
40-
rustup update "${{ steps.select.outputs.version }}" --no-self-update
44+
for attempt in 1 2 3 4 5; do
45+
[ "$attempt" = "5" ] && exit 1
46+
rustup update "${{ steps.select.outputs.version }}" --no-self-update \
47+
&& break
48+
sleep 5
49+
done
4150
rustup default "${{ steps.select.outputs.version }}"
4251
4352
# Save disk space by avoiding incremental compilation. Also turn down

.github/workflows/main.yml

Lines changed: 35 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,9 @@ jobs:
9191
- uses: ./.github/actions/install-rust
9292
- run: |
9393
set -e
94-
curl -L https://github.com/EmbarkStudios/cargo-deny/releases/download/0.18.2/cargo-deny-0.18.2-x86_64-unknown-linux-musl.tar.gz | tar xzf -
94+
curl --retry 5 --retry-all-errors -L -o cargo-deny.tar.gz https://github.com/EmbarkStudios/cargo-deny/releases/download/0.18.2/cargo-deny-0.18.2-x86_64-unknown-linux-musl.tar.gz
95+
tar xzf cargo-deny.tar.gz
96+
rm cargo-deny.tar.gz
9597
mv cargo-deny-*-x86_64-unknown-linux-musl/cargo-deny cargo-deny
9698
echo `pwd` >> $GITHUB_PATH
9799
- run: cargo deny check bans licenses
@@ -263,7 +265,10 @@ jobs:
263265
toolchain: wasmtime-ci-pinned-nightly
264266

265267
# Build C API documentation
266-
- run: curl -L https://github.com/doxygen/doxygen/releases/download/Release_1_9_3/doxygen-1.9.3.linux.bin.tar.gz | tar xzf -
268+
- run: |
269+
curl --retry 5 --retry-all-errors -o doxygen.tar.gz -L https://github.com/doxygen/doxygen/releases/download/Release_1_9_3/doxygen-1.9.3.linux.bin.tar.gz
270+
tar xzf doxygen.tar.gz
271+
rm doxygen.tar.gz
267272
- run: echo "`pwd`/doxygen-1.9.3/bin" >> $GITHUB_PATH
268273
- run: cmake -S crates/c-api -B target/c-api
269274
- run: cmake --build target/c-api --target doc
@@ -394,6 +399,18 @@ jobs:
394399
-p wasmtime-c-api --no-default-features
395400
-p wasmtime-c-api --no-default-features --features wat
396401
-p wasmtime-c-api --no-default-features --features wasi
402+
403+
- name: wasmtime-wasi-http
404+
checks: |
405+
-p wasmtime-wasi-http --no-default-features
406+
407+
- name: wasmtime-wasi
408+
checks: |
409+
-p wasmtime-wasi --no-default-features
410+
-p wasmtime-wasi --no-default-features --features p0
411+
-p wasmtime-wasi --no-default-features --features p1
412+
-p wasmtime-wasi --no-default-features --features p2
413+
-p wasmtime-wasi --no-default-features --features p3
397414
runs-on: ubuntu-latest
398415
steps:
399416
- uses: actions/checkout@v4
@@ -435,7 +452,7 @@ jobs:
435452
- uses: ./.github/actions/install-rust
436453

437454
- run: rustup component add clippy
438-
- run: cargo clippy --workspace --all-targets
455+
- run: cargo clippy --workspace --all-targets --features p3,component-model-async
439456

440457
# Similar to `micro_checks` but where we need to install some more state
441458
# (e.g. Android NDK) and we haven't factored support for those things out into
@@ -510,7 +527,7 @@ jobs:
510527
os: ubuntu-latest
511528
test: >
512529
cargo check -p wasmtime --no-default-features --features runtime,component-model &&
513-
cargo check -p wasmtime --no-default-features --features runtime,gc,component-model,async &&
530+
cargo check -p wasmtime --no-default-features --features runtime,gc,component-model,async,debug-builtins &&
514531
cargo check -p cranelift-control --no-default-features &&
515532
cargo check -p pulley-interpreter --features encode,decode,disas,interp &&
516533
cargo check -p wasmtime-wasi-io --no-default-features
@@ -578,10 +595,8 @@ jobs:
578595
with:
579596
toolchain: wasmtime-ci-pinned-nightly
580597

581-
# Check that `pulley-interpreter` compiles with tail calls enabled. Don't
582-
# actually run the tests with tail calls enabled, because they are not yet
583-
# implemented in rustc and cause an ICE.
584-
- run: cargo check -p pulley-interpreter --all-features
598+
# Check that `pulley-interpreter` works with tail calls enabled.
599+
- run: cargo test -p pulley-interpreter --all-features
585600
env:
586601
RUSTFLAGS: "--cfg pulley_tail_calls"
587602
- run: cargo check -p pulley-interpreter --all-features
@@ -718,7 +733,9 @@ jobs:
718733
# way faster at arm emulation than the current version github actions'
719734
# ubuntu image uses. Disable as much as we can to get it to build
720735
# quickly.
721-
curl https://download.qemu.org/qemu-$QEMU_BUILD_VERSION.tar.xz | tar xJf -
736+
curl --retry 5 --retry-all-errors -o qemu.tar.xz https://download.qemu.org/qemu-$QEMU_BUILD_VERSION.tar.xz
737+
tar xJf qemu.tar.xz
738+
rm qemu.tar.xz
722739
cd qemu-$QEMU_BUILD_VERSION
723740
./configure --target-list=${{ matrix.qemu_target }} --prefix=${{ runner.tool_cache}}/qemu --disable-tools --disable-slirp --disable-fdt --disable-capstone --disable-docs
724741
ninja -C build install
@@ -862,7 +879,7 @@ jobs:
862879
- run: |
863880
rustup target add wasm32-wasip1 wasm32-unknown-unknown
864881
cd /tmp
865-
curl -OL https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-25/wasi-sdk-25.0-x86_64-linux.tar.gz
882+
curl --retry 5 --retry-all-errors -OL https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-25/wasi-sdk-25.0-x86_64-linux.tar.gz
866883
tar -xzf wasi-sdk-25.0-x86_64-linux.tar.gz
867884
mv wasi-sdk-25.0-x86_64-linux wasi-sdk
868885
- run: |
@@ -893,7 +910,9 @@ jobs:
893910

894911
- name: Install wasm-tools
895912
run: |
896-
curl -L https://github.com/bytecodealliance/wasm-tools/releases/download/wasm-tools-1.0.27/wasm-tools-1.0.27-x86_64-linux.tar.gz | tar xfz -
913+
curl --retry 5 --retry-all-errors -o wasm-tools.tar.gz -L https://github.com/bytecodealliance/wasm-tools/releases/download/wasm-tools-1.0.27/wasm-tools-1.0.27-x86_64-linux.tar.gz
914+
tar xfz wasm-tools.tar.gz
915+
rm wasm-tools.tar.gz
897916
echo `pwd`/wasm-tools-1.0.27-x86_64-linux >> $GITHUB_PATH
898917
899918
- run: ./ci/build-wasi-preview1-component-adapter.sh
@@ -995,7 +1014,10 @@ jobs:
9951014
- uses: ./.github/actions/install-rust
9961015
- run: |
9971016
cd ${{ runner.tool_cache }}
998-
curl -L https://github.com/mozilla/sccache/releases/download/0.2.13/sccache-0.2.13-x86_64-unknown-linux-musl.tar.gz | tar xzf -
1017+
curl --retry 5 --retry-all-errors -L -o sccache.tar.gz \
1018+
https://github.com/mozilla/sccache/releases/download/0.2.13/sccache-0.2.13-x86_64-unknown-linux-musl.tar.gz
1019+
tar xzf sccache.tar.gz
1020+
rm sccache.tar.gz
9991021
echo "`pwd`/sccache-0.2.13-x86_64-unknown-linux-musl" >> $GITHUB_PATH
10001022
echo RUSTC_WRAPPER=sccache >> $GITHUB_ENV
10011023
- run: rustc scripts/publish.rs
@@ -1022,6 +1044,7 @@ jobs:
10221044
- crate: "wasmtime-environ --all-features"
10231045
- crate: "pulley-interpreter --all-features"
10241046
- script: ./ci/miri-provenance-test.sh
1047+
- script: ./ci/miri-wast.sh ./tests/spec_testsuite/table.wast
10251048
needs: determine
10261049
if: needs.determine.outputs.test-miri && github.repository == 'bytecodealliance/wasmtime'
10271050
name: Miri

.gitignore

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,7 @@ examples/.cache
2626
*.smt2
2727
cranelift/isle/veri/veri_engine/test_output
2828
crates/explorer/node_modules
29-
tests/all/pulley_provenance_test.cwasm
30-
tests/all/pulley_provenance_test_component.cwasm
29+
*.cwasm
3130
/artifacts
3231
testcase*.wat
3332
testcase*.wasm

0 commit comments

Comments
 (0)