Bump wasmtime-wasi-http from 43.0.0 to 43.0.1 #109
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| permissions: | |
| contents: read | |
| env: | |
| CARGO_TERM_COLOR: always | |
| jobs: | |
| rust: | |
| name: Rust (${{ matrix.os }}) | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| matrix: | |
| os: [ubuntu-latest, windows-latest] | |
| steps: | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| - uses: actions-rust-lang/setup-rust-toolchain@150fca883cd4034361b621bd4e6a9d34e5143606 # v1.15.4 | |
| with: | |
| toolchain: nightly, 1.94 | |
| components: rustfmt, clippy | |
| rustflags: "" | |
| - name: Install just | |
| run: cargo install --locked just | |
| - name: Format check | |
| run: just fmt-check-rust | |
| - name: Lint | |
| run: just lint-rust | |
| - name: Tests | |
| run: just test-rust | |
| wasm-sandbox: | |
| name: WASM Sandbox (${{ matrix.os }}) | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| matrix: | |
| os: [ubuntu-latest, windows-latest] | |
| steps: | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| - uses: actions-rust-lang/setup-rust-toolchain@150fca883cd4034361b621bd4e6a9d34e5143606 # v1.15.4 | |
| with: | |
| components: clippy | |
| rustflags: "" | |
| - uses: astral-sh/setup-uv@cec208311dfd045dd5311c1add060b2062131d57 # v8.0.0 | |
| - name: Install Python | |
| run: uv python install 3.12 | |
| - uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0 | |
| with: | |
| node-version: "latest" | |
| cache: npm | |
| cache-dependency-path: src/wasm_sandbox/guests/javascript/package-lock.json | |
| - name: Install just | |
| run: cargo install --locked just | |
| - name: Install clang (Linux) | |
| if: runner.os == 'Linux' | |
| run: sudo apt-get update && sudo apt-get install -y clang | |
| - name: Install LLVM (Windows) | |
| if: runner.os == 'Windows' | |
| run: choco install llvm -y | |
| - name: Enable KVM | |
| if: runner.os == 'Linux' && !env.ACT | |
| run: | | |
| echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules | |
| sudo udevadm control --reload-rules | |
| sudo udevadm trigger --name-match=kvm | |
| sudo chmod 666 /dev/kvm | |
| - name: Build | |
| run: just wasm build | |
| - name: Lint | |
| run: just wasm lint | |
| - name: Integration tests | |
| run: just wasm test | |
| - name: Run examples | |
| run: just wasm examples | |
| python-sdk: | |
| name: Python SDK (${{ matrix.os }}) | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| matrix: | |
| os: [ubuntu-latest, windows-latest] | |
| steps: | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| - uses: actions-rust-lang/setup-rust-toolchain@150fca883cd4034361b621bd4e6a9d34e5143606 # v1.15.4 | |
| with: | |
| components: clippy | |
| rustflags: "" | |
| - uses: astral-sh/setup-uv@cec208311dfd045dd5311c1add060b2062131d57 # v8.0.0 | |
| - name: Install Python | |
| run: uv python install 3.12 | |
| - uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0 | |
| with: | |
| node-version: "latest" | |
| cache: npm | |
| cache-dependency-path: src/wasm_sandbox/guests/javascript/package-lock.json | |
| - name: Install just | |
| run: cargo install --locked just | |
| - name: Install clang (Linux) | |
| if: runner.os == 'Linux' | |
| run: sudo apt-get update && sudo apt-get install -y clang | |
| - name: Install LLVM (Windows) | |
| if: runner.os == 'Windows' | |
| run: choco install llvm -y | |
| - name: Enable KVM | |
| if: runner.os == 'Linux' && !env.ACT | |
| run: | | |
| echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules | |
| sudo udevadm control --reload-rules | |
| sudo udevadm trigger --name-match=kvm | |
| sudo chmod 666 /dev/kvm | |
| - name: Build WASM sandbox | |
| run: just wasm build | |
| - name: Build JS sandbox | |
| run: just js build | |
| - name: Format check | |
| run: just python fmt-check | |
| - name: Lint | |
| run: just python lint | |
| - name: Build | |
| run: just python build | |
| - name: Examples | |
| run: just python examples | |
| - name: Tests | |
| run: just python python-test | |
| - name: Fuzz | |
| run: just fuzz 30 | |
| # this is too flaky in github actions to run on PRs | |
| # copilot fails to repsond in a timely fashion | |
| # - name: Integration examples | |
| # env: | |
| # COPILOT_GITHUB_TOKEN: ${{ secrets.COPILOT_TOKEN }} | |
| # run: just integration-examples | |
| # run last because it runs in build mode and messes with maturin | |
| - name: Benchmark | |
| run: just benchmark | |
| # Build all Python packages on Linux (pure + backend wheels). | |
| python-wheelhouse-build-linux: | |
| name: Python wheelhouse build (Linux) | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| - uses: actions-rust-lang/setup-rust-toolchain@150fca883cd4034361b621bd4e6a9d34e5143606 # v1.15.4 | |
| with: | |
| cache-key: release | |
| rustflags: "" | |
| - uses: astral-sh/setup-uv@cec208311dfd045dd5311c1add060b2062131d57 # v8.0.0 | |
| - name: Install Python | |
| run: uv python install 3.10 3.11 3.12 3.13 | |
| - uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0 | |
| with: | |
| node-version: "latest" | |
| cache: npm | |
| cache-dependency-path: src/wasm_sandbox/guests/javascript/package-lock.json | |
| - name: Install just | |
| run: cargo install --locked just | |
| - name: Install clang | |
| run: sudo apt-get update && sudo apt-get install -y clang | |
| - name: Build all Python packages | |
| run: | | |
| export INTERPRETERS="--interpreter $(uv python find 3.10) $(uv python find 3.11) $(uv python find 3.12) $(uv python find 3.13)" | |
| just python-dist | |
| - uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0 | |
| with: | |
| name: python-wheels-linux | |
| path: dist/pythonsdk/ | |
| # Build Windows-specific maturin backend wheels only. | |
| python-wheelhouse-build-windows: | |
| name: Python wheelhouse build (Windows) | |
| runs-on: windows-latest | |
| steps: | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| - uses: actions-rust-lang/setup-rust-toolchain@150fca883cd4034361b621bd4e6a9d34e5143606 # v1.15.4 | |
| with: | |
| cache-key: release | |
| rustflags: "" | |
| - uses: astral-sh/setup-uv@cec208311dfd045dd5311c1add060b2062131d57 # v8.0.0 | |
| - name: Install Python | |
| run: uv python install 3.10 3.11 3.12 3.13 | |
| - name: Install just | |
| run: cargo install --locked just | |
| - name: Install LLVM | |
| run: choco install llvm -y | |
| - name: Build backend wheels | |
| shell: pwsh | |
| run: | | |
| $interps = "3.10", "3.11", "3.12", "3.13" | ForEach-Object { & uv python find $_ } | |
| $env:INTERPRETERS = "--interpreter $($interps -join ' ')" | |
| just python-dist-backends | |
| - uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0 | |
| with: | |
| name: python-wheels-windows | |
| path: dist/pythonsdk/ | |
| # Download merged Linux + Windows wheels and run wheelhouse smoke tests. | |
| python-wheelhouse-test: | |
| name: Python wheelhouse test (${{ matrix.os }}, py${{ matrix.python }}) | |
| needs: [python-wheelhouse-build-linux, python-wheelhouse-build-windows] | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| matrix: | |
| os: [ubuntu-latest, windows-latest] | |
| python: ["3.10", "3.11", "3.12", "3.13"] | |
| steps: | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| - uses: astral-sh/setup-uv@cec208311dfd045dd5311c1add060b2062131d57 # v8.0.0 | |
| - name: Install Python | |
| run: uv python install ${{ matrix.python }} | |
| - name: Install just | |
| run: cargo install --locked just | |
| - uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 | |
| with: | |
| path: dist/pythonsdk/ | |
| merge-multiple: true | |
| pattern: python-wheels-* | |
| - name: Enable KVM | |
| if: runner.os == 'Linux' && !env.ACT | |
| run: | | |
| echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules | |
| sudo udevadm control --reload-rules | |
| sudo udevadm trigger --name-match=kvm | |
| sudo chmod 666 /dev/kvm | |
| - name: Run wheelhouse tests | |
| run: just python python-wheelhouse-test ${{ matrix.python }} | |
| javascript-sandbox: | |
| name: JS Sandbox (${{ matrix.os }}) | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| matrix: | |
| os: [ubuntu-latest, windows-latest] | |
| steps: | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| - uses: actions-rust-lang/setup-rust-toolchain@150fca883cd4034361b621bd4e6a9d34e5143606 # v1.15.4 | |
| with: | |
| components: clippy | |
| rustflags: "" | |
| - name: Install just | |
| run: cargo install --locked just | |
| - name: Install clang (Linux) | |
| if: runner.os == 'Linux' | |
| run: sudo apt-get update && sudo apt-get install -y clang | |
| - name: Install LLVM (Windows) | |
| if: runner.os == 'Windows' | |
| run: choco install llvm -y | |
| - name: Enable KVM | |
| if: runner.os == 'Linux' && !env.ACT | |
| run: | | |
| echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules | |
| sudo udevadm control --reload-rules | |
| sudo udevadm trigger --name-match=kvm | |
| sudo chmod 666 /dev/kvm | |
| - name: Compile WIT world | |
| run: just wasm guest-compile-wit | |
| - name: Build | |
| run: just js build | |
| - name: Lint | |
| run: just js lint | |
| - name: Tests | |
| run: just js test | |
| - name: Run examples | |
| run: just js examples | |
| nanvix-sandbox: | |
| name: Nanvix Sandbox · build | |
| runs-on: ubuntu-latest #current linux only | |
| steps: | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| - uses: actions-rust-lang/setup-rust-toolchain@150fca883cd4034361b621bd4e6a9d34e5143606 # v1.15.4 | |
| with: | |
| toolchain: nightly | |
| rustflags: "" | |
| - name: Install just | |
| run: cargo install --locked just | |
| - name: Build | |
| run: just nanvix build | |
| # NOTE: nanvix examples are skipped until hyperlight-nanvix updates to | |
| # the new nanvix registry API (qjs/python3 are now separate packages). | |
| # See: https://github.com/hyperlight-dev/hyperlight-nanvix | |
| # - name: Run examples | |
| # run: just nanvix examples |