Uh oh!
There was an error while loading. Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork 0
Enable strict clippy with documented allow-list and defensive-coding pass#257
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
Uh oh!
There was an error while loading. Please reload this page.
Changes from all commits
1c3bf1991ee6776677778476d411a5df55b4c8e2aa0cbae0fb86f39fb1af7b21506738f667c62193e0c1c9dea46dcf8a18dcca14a4fbc82dd9b8484d352ac3fa76775e3fa443c2b84c8229326449c70c544b4e8648d73485e9cbf0d8d475bf6bd344cab6413061fb7297b60574bd988da9085219e49e12a3bfb59d0749e8f65b1f514b92fb90e8943e0eb5ff3329c07dc3c5810060b1f42fb68cb873bba51139632c6b95191b9bc60a49b32c55b648b1b0453855dda9b30f3532a6c22c4932aeee7588032e7b68991ffc825577695a26704f0e930ed1f8051989b68f097d02de41871dfd2f79f2459eee5fb2e816308204f4e814ba8a00fe55d5f92d0c2919e3d1ed25684c5f2f2ad3f083ca8339c5d77b49d1d70d5d92f7969dd2a7da3dc104aa617564a0a87eca8cdb83d06ca432c1e3d808ab483a8a71438972e788714c5652d3453a44bc666132dfb00b375a01ecFile filter
Filter by extension
Conversations
Uh oh!
There was an error while loading. Please reload this page.
Jump to
Uh oh!
There was an error while loading. Please reload this page.
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,9 @@ | ||
| # Intentionally empty — runners for `wasm32-wasip1` differ per adapter | ||
| # (Viceroy for fastly, Wasmtime for spin) and a single workspace-wide | ||
| # default would silently pick the wrong host ABI for one of them. | ||
| # | ||
| # Per-package configs at `crates/edgezero-adapter-{fastly,spin}/.cargo/` | ||
| # wire up the right runner when cargo is invoked from inside the package | ||
| # directory. For workspace-root invocations, set | ||
| # `CARGO_TARGET_WASM32_WASIP1_RUNNER` explicitly (CI does this in | ||
| # `.github/workflows/test.yml`). |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -18,12 +18,13 @@ jobs: | ||
| name: cargo test | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - uses: actions/checkout@v4 | ||
| - uses: actions/checkout@v6 | ||
| - name: Cache Cargo dependencies | ||
| uses: actions/cache@v4 | ||
| uses: actions/cache@v5 | ||
| with: | ||
| path: | | ||
| ~/.cargo/bin/ | ||
| ~/.cargo/registry/index/ | ||
| ~/.cargo/registry/cache/ | ||
| ~/.cargo/git/db/ | ||
| @@ -74,18 +75,19 @@ jobs: | ||
| runner_env: CARGO_TARGET_WASM32_WASIP1_RUNNER | ||
| runner_value: wasmtime run | ||
| steps: | ||
| - uses: actions/checkout@v4 | ||
| - uses: actions/checkout@v6 | ||
| - name: Cache Cargo dependencies | ||
| uses: actions/cache@v4 | ||
| uses: actions/cache@v5 | ||
| with: | ||
| path: | | ||
| ~/.cargo/bin/ | ||
| ~/.cargo/registry/index/ | ||
| ~/.cargo/registry/cache/ | ||
| ~/.cargo/git/db/ | ||
| ~/.wasmtime/bin/ | ||
| target/ | ||
| key: ${{ runner.os }}-cargo-${{ matrix.adapter }}-${{ hashFiles('**/Cargo.lock') }} | ||
| key: ${{ runner.os }}-cargo-${{ matrix.adapter }}-${{ hashFiles('**/Cargo.lock', '.tool-versions') }} | ||
| restore-keys: | | ||
| ${{ runner.os }}-cargo-${{ matrix.adapter }}- | ||
| @@ -120,36 +122,66 @@ jobs: | ||
| test -n "$version" | ||
| echo "version=$version" >> "$GITHUB_OUTPUT" | ||
| # `--force` is required because the cargo cache may restore an existing | ||
| # `~/.cargo/bin/<binary>` from a prior run, which `cargo install` rejects | ||
| # by default. Force-overwriting is safe — `--locked` pins the version. | ||
| - name: Install wasm-bindgen test runner | ||
| if: matrix.adapter == 'cloudflare' | ||
| run: | | ||
| required="${{ steps.wasm-bindgen-version.outputs.version }}" | ||
| if ! command -v wasm-bindgen-test-runner &>/dev/null \ | ||
| || ! wasm-bindgen --version 2>/dev/null | grep -q "$required"; then | ||
| cargo install wasm-bindgen-cli --version "$required" --locked --force | ||
| fi | ||
| run: cargo install wasm-bindgen-cli --version "${{ steps.wasm-bindgen-version.outputs.version }}" --locked --force | ||
| - name: Resolve Viceroy version | ||
| if: matrix.adapter == 'fastly' | ||
| id: viceroy-version | ||
| shell: bash | ||
| run: echo "version=$(grep '^viceroy ' .tool-versions | awk '{print $2}')" >> "$GITHUB_OUTPUT" | ||
| - name: Setup Viceroy | ||
| if: matrix.adapter == 'fastly' | ||
| env: | ||
| VICEROY_VERSION: 0.16.5 | ||
| run: | | ||
| if ! command -v viceroy &>/dev/null \ | ||
| || ! viceroy --version 2>/dev/null | grep -qF "$VICEROY_VERSION"; then | ||
| cargo install viceroy --version "$VICEROY_VERSION" --locked | ||
| fi | ||
| # Version comes from .tool-versions (single source of truth shared with | ||
| # local dev). | ||
| run: cargo install viceroy --version "${{ steps.viceroy-version.outputs.version }}" --locked --force | ||
| - name: Resolve Wasmtime version | ||
| if: matrix.adapter == 'spin' | ||
| id: wasmtime-version | ||
| shell: bash | ||
| run: echo "version=$(grep '^wasmtime ' .tool-versions | awk '{print $2}')" >> "$GITHUB_OUTPUT" | ||
| - name: Setup Wasmtime | ||
| if: matrix.adapter == 'spin' | ||
| env: | ||
| WASMTIME_VERSION: v44.0.0 | ||
| # Direct GitHub-release tarball install. The official | ||
| # `https://wasmtime.dev/install.sh` script broke as of | ||
| # 2026-05-19 (interpolation failure: tried to download | ||
| # version literal `{`), so we pin via .tool-versions and | ||
| # land the binary in `~/.wasmtime/bin/` so the cache step | ||
| # above actually short-circuits the download on subsequent | ||
| # runs. | ||
| # | ||
| # The cache key now hashes `.tool-versions` too, so a | ||
| # version bump invalidates the cached binary. We also | ||
| # explicitly compare `wasmtime --version` against the pin | ||
| # — without that a runner-provided wasmtime or a stale | ||
| # cache hit would silently shadow the pinned version. | ||
| run: | | ||
| export PATH="$HOME/.wasmtime/bin:$PATH" | ||
| echo "$HOME/.wasmtime/bin" >> "$GITHUB_PATH" | ||
| if ! command -v wasmtime &>/dev/null \ | ||
| || ! wasmtime --version 2>/dev/null | grep -qF "${WASMTIME_VERSION#v}"; then | ||
| curl https://wasmtime.dev/install.sh -sSf | bash -s -- --version "$WASMTIME_VERSION" | ||
| install_dir="$HOME/.wasmtime/bin" | ||
| echo "$install_dir" >> "$GITHUB_PATH" | ||
| export PATH="$install_dir:$PATH" | ||
| version="${{ steps.wasmtime-version.outputs.version }}" | ||
| # Compare exact versions so a pin like `44.0.1` does not silently | ||
| # accept `wasmtime 44.0.10` from a stale cache or runner-provided | ||
| # binary. | ||
| actual="$(wasmtime --version 2>/dev/null | awk '{print $2}' || true)" | ||
aram356 marked this conversation as resolved.
Uh oh!There was an error while loading. Please reload this page. | ||
| if [ "$actual" != "$version" ]; then | ||
| tag="v${version}" | ||
| archive="wasmtime-${tag}-x86_64-linux" | ||
| mkdir -p "$install_dir" | ||
| curl -fL "https://github.com/bytecodealliance/wasmtime/releases/download/${tag}/${archive}.tar.xz" -o /tmp/wasmtime.tar.xz | ||
| tar -xJf /tmp/wasmtime.tar.xz -C /tmp | ||
| install -m 0755 "/tmp/${archive}/wasmtime" "$install_dir/wasmtime" | ||
| fi | ||
| actual="$(wasmtime --version | awk '{print $2}')" | ||
| test "$actual" = "$version" | ||
| wasmtime --version | ||
| - name: Fetch dependencies (locked) | ||
| run: cargo fetch --locked | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -33,3 +33,4 @@ docs/superpowers/ | ||
| !.vscode/tasks.json | ||
| !.vscode/launch.json | ||
| !.vscode/extensions.json | ||
| *.rlib | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,3 +1,5 @@ | ||
| fasltly v13.0.0 | ||
| fastly 15.1.0 | ||
| nodejs 24.12.0 | ||
| rust 1.91.1 | ||
| rust 1.95.0 | ||
| viceroy 0.17.0 | ||
| wasmtime 44.0.1 |
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.