From 2b9b285408dd45edec5b81d0e1637e2e11987fb4 Mon Sep 17 00:00:00 2001 From: Prakash Bhatt Date: Wed, 28 Jan 2026 23:00:35 +0530 Subject: [PATCH 01/12] Setup Cloudflare Workers deployment via EdgeZero - Configure wrangler.toml for worker-build - Add lib.rs with #[event(fetch)] handler for WASM - Update Cargo.toml with cdylib lib target - Add Playwright tests for both Axum and Cloudflare adapters - Add GitHub Actions workflow for Cloudflare deployment - Update .gitignore for .wrangler and build folders - Add tests/playwright README with adapter usage Requires EdgeZero fix/web-time-wasm branch for WASM time compatibility. Requires CLOUDFLARE_API_TOKEN and CLOUDFLARE_ACCOUNT_ID secrets. Closes #22 --- .github/workflows/deploy-cloudflare.yml | 72 +++++++++++++++++++ .gitignore | 4 ++ Cargo.lock | 23 +++--- Cargo.toml | 14 ++-- .../mocktioneer-adapter-cloudflare/Cargo.toml | 4 ++ .../mocktioneer-adapter-cloudflare/src/lib.rs | 10 +++ .../src/main.rs | 18 ++--- .../wrangler.toml | 1 + edgezero.toml | 2 +- tests/playwright/README.md | 52 ++++++++++++++ tests/playwright/playwright.config.ts | 15 +++- 11 files changed, 181 insertions(+), 34 deletions(-) create mode 100644 .github/workflows/deploy-cloudflare.yml create mode 100644 crates/mocktioneer-adapter-cloudflare/src/lib.rs create mode 100644 tests/playwright/README.md diff --git a/.github/workflows/deploy-cloudflare.yml b/.github/workflows/deploy-cloudflare.yml new file mode 100644 index 0000000..0a3d35d --- /dev/null +++ b/.github/workflows/deploy-cloudflare.yml @@ -0,0 +1,72 @@ +name: "Deploy Cloudflare Worker" + +on: + pull_request: + branches: [main] + workflow_dispatch: + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + deploy: + name: Deploy to Cloudflare Workers + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Configure SSH for git dependencies + uses: webfactory/ssh-agent@v0.9.0 + with: + ssh-private-key: ${{ secrets.EDGEZERO_SSH_PRIVATE_KEY }} + + - name: Trust github.com host key + run: | + mkdir -p ~/.ssh + ssh-keyscan github.com >> ~/.ssh/known_hosts + shell: bash + + - name: Cache Cargo dependencies + uses: actions/cache@v4 + with: + path: | + ~/.cargo/bin/ + ~/.cargo/registry/index/ + ~/.cargo/registry/cache/ + ~/.cargo/git/db/ + target/ + key: ${{ runner.os }}-cargo-cloudflare-${{ hashFiles('**/Cargo.lock') }} + restore-keys: | + ${{ runner.os }}-cargo-cloudflare- + + - name: Retrieve Rust version + id: rust-version + run: echo "rust-version=$(grep '^rust ' .tool-versions | awk '{print $2}')" >> $GITHUB_OUTPUT + shell: bash + + - name: Set up Rust toolchain + uses: actions-rust-lang/setup-rust-toolchain@v1 + with: + toolchain: ${{ steps.rust-version.outputs.rust-version }} + + - name: Add wasm32-unknown-unknown target + run: rustup target add wasm32-unknown-unknown + + - name: Install worker-build + run: cargo install worker-build --locked + + - name: Install edgezero-cli + run: cargo install --git ssh://git@github.com/stackpop/edgezero.git --branch fix/web-time-wasm edgezero-cli + + - name: Fetch dependencies (locked) + run: cargo fetch --locked + + - name: Build for Cloudflare Workers + run: edgezero-cli build --adapter cloudflare + + - name: Deploy to Cloudflare Workers + env: + CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }} + CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} + run: edgezero-cli deploy --adapter cloudflare diff --git a/.gitignore b/.gitignore index b02f2a0..211e6ec 100644 --- a/.gitignore +++ b/.gitignore @@ -27,3 +27,7 @@ node_modules/ playwright-report/ test-results/ + +# Cloudflare Workers +.wrangler/ +**/build/ diff --git a/Cargo.lock b/Cargo.lock index 0cbef6b..a7f932a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -580,7 +580,7 @@ dependencies = [ [[package]] name = "edgezero-adapter-axum" version = "0.1.0" -source = "git+ssh://git@github.com/stackpop/edgezero.git?branch=main#41d650c0859aaeb9d6c267426963204dd30494b1" +source = "git+ssh://git@github.com/stackpop/edgezero.git?branch=fix%2Fweb-time-wasm#06431d5efcdb9929304f82772979a2e1a841bebb" dependencies = [ "anyhow", "async-trait", @@ -602,7 +602,7 @@ dependencies = [ [[package]] name = "edgezero-adapter-cloudflare" version = "0.1.0" -source = "git+ssh://git@github.com/stackpop/edgezero.git?branch=main#41d650c0859aaeb9d6c267426963204dd30494b1" +source = "git+ssh://git@github.com/stackpop/edgezero.git?branch=fix%2Fweb-time-wasm#06431d5efcdb9929304f82772979a2e1a841bebb" dependencies = [ "async-trait", "brotli", @@ -619,7 +619,7 @@ dependencies = [ [[package]] name = "edgezero-adapter-fastly" version = "0.1.0" -source = "git+ssh://git@github.com/stackpop/edgezero.git?branch=main#41d650c0859aaeb9d6c267426963204dd30494b1" +source = "git+ssh://git@github.com/stackpop/edgezero.git?branch=fix%2Fweb-time-wasm#06431d5efcdb9929304f82772979a2e1a841bebb" dependencies = [ "async-stream", "async-trait", @@ -639,7 +639,7 @@ dependencies = [ [[package]] name = "edgezero-core" version = "0.1.0" -source = "git+ssh://git@github.com/stackpop/edgezero.git?branch=main#41d650c0859aaeb9d6c267426963204dd30494b1" +source = "git+ssh://git@github.com/stackpop/edgezero.git?branch=fix%2Fweb-time-wasm#06431d5efcdb9929304f82772979a2e1a841bebb" dependencies = [ "anyhow", "async-compression", @@ -661,12 +661,13 @@ dependencies = [ "tower-service", "tracing", "validator", + "web-time", ] [[package]] name = "edgezero-macros" version = "0.1.0" -source = "git+ssh://git@github.com/stackpop/edgezero.git?branch=main#41d650c0859aaeb9d6c267426963204dd30494b1" +source = "git+ssh://git@github.com/stackpop/edgezero.git?branch=fix%2Fweb-time-wasm#06431d5efcdb9929304f82772979a2e1a841bebb" dependencies = [ "log", "proc-macro2", @@ -3167,9 +3168,9 @@ dependencies = [ [[package]] name = "worker" -version = "0.6.7" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9320293035d2074f1fb84baf7d79d7932c183dd04a7e0c143dc75db0d0037ac" +checksum = "244647fd7673893058f91f22a0eabd0f45bb50298e995688cb0c4b9837081b19" dependencies = [ "async-trait", "bytes", @@ -3197,9 +3198,9 @@ dependencies = [ [[package]] name = "worker-macros" -version = "0.6.7" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb37d4f9d99921836a1e4dc21e6041df9b0c2c5fe3c230edddd172a8ef9e251e" +checksum = "ac7e73ffb164183b57bb67d3efb881681fcd93ef5515ba32a4d022c4a6acc2ce" dependencies = [ "async-trait", "proc-macro2", @@ -3213,9 +3214,9 @@ dependencies = [ [[package]] name = "worker-sys" -version = "0.6.7" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07b4e2ca5d405247a986d533bba78c396c941835747977631168b8b05304f1b6" +checksum = "2a2b96254fcaa9229fd82d886f04be99c4ee8e59c8d80438724aa70039dca838" dependencies = [ "cfg-if", "js-sys", diff --git a/Cargo.toml b/Cargo.toml index 638ab3b..686f75b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -18,11 +18,11 @@ async-trait = "0.1" axum = "0.8" base64 = "0.22" ed25519-dalek = "2.1" -edgezero-adapter-axum = { git = "ssh://git@github.com/stackpop/edgezero.git", branch = "main", package = "edgezero-adapter-axum", default-features = false } -edgezero-adapter-cloudflare = { git = "ssh://git@github.com/stackpop/edgezero.git", branch = "main", package = "edgezero-adapter-cloudflare", default-features = false } -edgezero-adapter-fastly = { git = "ssh://git@github.com/stackpop/edgezero.git", branch = "main", package = "edgezero-adapter-fastly", default-features = false } -edgezero-cli = { git = "ssh://git@github.com/stackpop/edgezero.git", branch = "main", package = "edgezero-cli" } -edgezero-core = { git = "ssh://git@github.com/stackpop/edgezero.git", branch = "main", package = "edgezero-core" } +edgezero-adapter-axum = { git = "ssh://git@github.com/stackpop/edgezero.git", branch = "fix/web-time-wasm", package = "edgezero-adapter-axum", default-features = false } +edgezero-adapter-cloudflare = { git = "ssh://git@github.com/stackpop/edgezero.git", branch = "fix/web-time-wasm", package = "edgezero-adapter-cloudflare", default-features = false } +edgezero-adapter-fastly = { git = "ssh://git@github.com/stackpop/edgezero.git", branch = "fix/web-time-wasm", package = "edgezero-adapter-fastly", default-features = false } +edgezero-cli = { git = "ssh://git@github.com/stackpop/edgezero.git", branch = "fix/web-time-wasm", package = "edgezero-cli" } +edgezero-core = { git = "ssh://git@github.com/stackpop/edgezero.git", branch = "fix/web-time-wasm", package = "edgezero-core" } fastly = "0.11.9" futures = { version = "0.3", features = ["std", "executor"] } futures-util = "0.3.31" @@ -39,6 +39,6 @@ tokio = { version = "1", features = ["macros", "rt-multi-thread"] } toml = "0.9" tracing = "0.1" url = "2" -uuid = { version = "1", features = ["v7"] } +uuid = { version = "1", features = ["v7", "js"] } validator = { version = "0.20", features = ["derive"] } -worker = { version = "0.6", features = ["http"] } +worker = { version = "0.7", features = ["http"] } diff --git a/crates/mocktioneer-adapter-cloudflare/Cargo.toml b/crates/mocktioneer-adapter-cloudflare/Cargo.toml index 8f7570b..f082a77 100644 --- a/crates/mocktioneer-adapter-cloudflare/Cargo.toml +++ b/crates/mocktioneer-adapter-cloudflare/Cargo.toml @@ -8,6 +8,10 @@ publish = false name = "mocktioneer-adapter-cloudflare" path = "src/main.rs" +[lib] +crate-type = ["cdylib", "rlib"] +path = "src/lib.rs" + [features] default = ["cloudflare"] cloudflare = ["dep:edgezero-adapter-cloudflare"] diff --git a/crates/mocktioneer-adapter-cloudflare/src/lib.rs b/crates/mocktioneer-adapter-cloudflare/src/lib.rs new file mode 100644 index 0000000..1ff994a --- /dev/null +++ b/crates/mocktioneer-adapter-cloudflare/src/lib.rs @@ -0,0 +1,10 @@ +#[cfg(target_arch = "wasm32")] +use mocktioneer_core::MocktioneerApp; +#[cfg(target_arch = "wasm32")] +use worker::*; + +#[cfg(target_arch = "wasm32")] +#[event(fetch)] +pub async fn main(req: Request, env: Env, ctx: Context) -> Result { + edgezero_adapter_cloudflare::run_app::(req, env, ctx).await +} diff --git a/crates/mocktioneer-adapter-cloudflare/src/main.rs b/crates/mocktioneer-adapter-cloudflare/src/main.rs index c7bd783..027ecf0 100644 --- a/crates/mocktioneer-adapter-cloudflare/src/main.rs +++ b/crates/mocktioneer-adapter-cloudflare/src/main.rs @@ -1,17 +1,9 @@ -#![cfg_attr(target_arch = "wasm32", no_main)] +//! Cloudflare Workers adapter for Mocktioneer. +//! +//! This binary provides a fallback message for native builds. +//! The actual WASM entry point is in lib.rs. -#[cfg(target_arch = "wasm32")] -use mocktioneer_core::MocktioneerApp; -#[cfg(target_arch = "wasm32")] -use worker::*; - -#[cfg(target_arch = "wasm32")] -#[event(fetch)] -pub async fn main(req: Request, env: Env, ctx: Context) -> Result { - edgezero_adapter_cloudflare::run_app::(req, env, ctx).await -} - -#[cfg(not(target_arch = "wasm32"))] fn main() { eprintln!("mocktioneer-adapter-cloudflare: build with --target wasm32-unknown-unknown to run."); + eprintln!("Use `edgezero-cli serve --adapter cloudflare` for local development."); } diff --git a/crates/mocktioneer-adapter-cloudflare/wrangler.toml b/crates/mocktioneer-adapter-cloudflare/wrangler.toml index 2027d2a..40a3206 100644 --- a/crates/mocktioneer-adapter-cloudflare/wrangler.toml +++ b/crates/mocktioneer-adapter-cloudflare/wrangler.toml @@ -6,3 +6,4 @@ compatibility_date = "2023-05-01" # Requires `worker-build` during local dev/deploy: # cargo install worker-build command = "worker-build --release" +cwd = "crates/mocktioneer-adapter-cloudflare" diff --git a/edgezero.toml b/edgezero.toml index 56604a5..645ec40 100644 --- a/edgezero.toml +++ b/edgezero.toml @@ -175,7 +175,7 @@ features = ["cloudflare"] [adapters.cloudflare.commands] build = "cargo build --release --target wasm32-unknown-unknown -p mocktioneer-adapter-cloudflare" serve = "wrangler dev --config crates/mocktioneer-adapter-cloudflare/wrangler.toml" -deploy = "wrangler publish --config crates/mocktioneer-adapter-cloudflare/wrangler.toml" +deploy = "wrangler deploy --config crates/mocktioneer-adapter-cloudflare/wrangler.toml" [adapters.cloudflare.logging] level = "info" diff --git a/tests/playwright/README.md b/tests/playwright/README.md new file mode 100644 index 0000000..4c3e460 --- /dev/null +++ b/tests/playwright/README.md @@ -0,0 +1,52 @@ +# Playwright E2E Tests + +End-to-end tests for Mocktioneer using Playwright. + +## Prerequisites + +```bash +npm install +npx playwright install +``` + +**Note:** The Cloudflare adapter requires `edgezero-cli` (not `edgezero`): +```bash +cargo install --git ssh://git@github.com/stackpop/edgezero.git edgezero-cli +``` + +## Running Tests + +### Test Axum Adapter (default) + +```bash +npx playwright test +``` + +### Test Cloudflare Adapter + +```bash +ADAPTER=cloudflare npx playwright test +``` + +### Run Both Adapters + +```bash +npx playwright test && ADAPTER=cloudflare npx playwright test +``` + +## View Test Report + +```bash +npx playwright show-report +``` + +## Configuration + +The `ADAPTER` environment variable controls which adapter is tested: + +| Value | Command | Description | +|-------|---------|-------------| +| `axum` (default) | `cargo run -p mocktioneer-adapter-axum` | Native Axum server | +| `cloudflare` | `edgezero-cli serve --adapter cloudflare` | Cloudflare Workers (WASM) | + +Both adapters run on `http://127.0.0.1:8787`. diff --git a/tests/playwright/playwright.config.ts b/tests/playwright/playwright.config.ts index 6d67e89..aecfb1f 100644 --- a/tests/playwright/playwright.config.ts +++ b/tests/playwright/playwright.config.ts @@ -1,5 +1,16 @@ import { defineConfig, devices } from '@playwright/test'; +// Set ADAPTER env var to control which adapter to test: +// ADAPTER=axum npx playwright test +// ADAPTER=cloudflare npx playwright test +// Default: axum +const adapter = process.env.ADAPTER || 'axum'; + +const webServerCommands: Record = { + axum: 'cargo run -p mocktioneer-adapter-axum', + cloudflare: 'edgezero-cli serve --adapter cloudflare', +}; + export default defineConfig({ testDir: '.', fullyParallel: true, @@ -13,12 +24,12 @@ export default defineConfig({ }, projects: [ { - name: 'chromium', + name: adapter, use: { ...devices['Desktop Chrome'] }, }, ], webServer: { - command: 'cargo run -p mocktioneer-adapter-axum', + command: webServerCommands[adapter], cwd: '../..', url: 'http://127.0.0.1:8787/', reuseExistingServer: !process.env.CI, From 67d49489e81e55930035e62c73370af36df88c94 Mon Sep 17 00:00:00 2001 From: Prakash Bhatt Date: Wed, 28 Jan 2026 23:36:57 +0530 Subject: [PATCH 02/12] Update workflow to install wragler for cf deployment --- .github/workflows/deploy-cloudflare.yml | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/.github/workflows/deploy-cloudflare.yml b/.github/workflows/deploy-cloudflare.yml index 0a3d35d..a60568c 100644 --- a/.github/workflows/deploy-cloudflare.yml +++ b/.github/workflows/deploy-cloudflare.yml @@ -40,15 +40,25 @@ jobs: restore-keys: | ${{ runner.os }}-cargo-cloudflare- - - name: Retrieve Rust version - id: rust-version - run: echo "rust-version=$(grep '^rust ' .tool-versions | awk '{print $2}')" >> $GITHUB_OUTPUT + - name: Retrieve tool versions + id: tool-versions + run: | + echo "rust=$(grep '^rust ' .tool-versions | awk '{print $2}')" >> $GITHUB_OUTPUT + echo "node=$(grep '^nodejs ' .tool-versions | awk '{print $2}')" >> $GITHUB_OUTPUT shell: bash + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: ${{ steps.tool-versions.outputs.node }} + + - name: Install wrangler + run: npm install -g wrangler + - name: Set up Rust toolchain uses: actions-rust-lang/setup-rust-toolchain@v1 with: - toolchain: ${{ steps.rust-version.outputs.rust-version }} + toolchain: ${{ steps.tool-versions.outputs.rust }} - name: Add wasm32-unknown-unknown target run: rustup target add wasm32-unknown-unknown From 7fc3a04e084ba5fb537ade76e85d58f9b307c829 Mon Sep 17 00:00:00 2001 From: Prakash Bhatt Date: Thu, 29 Jan 2026 15:37:35 +0530 Subject: [PATCH 03/12] Update Cloudflare deployment instructions to use 'wrangler deploy' and 'edgezero-cli' for local serving, and remove the GitHub Actions workflow. --- .github/workflows/deploy-cloudflare.yml | 82 ------------------------- README.md | 3 +- docs/guide/adapters/cloudflare.md | 6 +- 3 files changed, 5 insertions(+), 86 deletions(-) delete mode 100644 .github/workflows/deploy-cloudflare.yml diff --git a/.github/workflows/deploy-cloudflare.yml b/.github/workflows/deploy-cloudflare.yml deleted file mode 100644 index a60568c..0000000 --- a/.github/workflows/deploy-cloudflare.yml +++ /dev/null @@ -1,82 +0,0 @@ -name: "Deploy Cloudflare Worker" - -on: - pull_request: - branches: [main] - workflow_dispatch: - -concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true - -jobs: - deploy: - name: Deploy to Cloudflare Workers - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - - name: Configure SSH for git dependencies - uses: webfactory/ssh-agent@v0.9.0 - with: - ssh-private-key: ${{ secrets.EDGEZERO_SSH_PRIVATE_KEY }} - - - name: Trust github.com host key - run: | - mkdir -p ~/.ssh - ssh-keyscan github.com >> ~/.ssh/known_hosts - shell: bash - - - name: Cache Cargo dependencies - uses: actions/cache@v4 - with: - path: | - ~/.cargo/bin/ - ~/.cargo/registry/index/ - ~/.cargo/registry/cache/ - ~/.cargo/git/db/ - target/ - key: ${{ runner.os }}-cargo-cloudflare-${{ hashFiles('**/Cargo.lock') }} - restore-keys: | - ${{ runner.os }}-cargo-cloudflare- - - - name: Retrieve tool versions - id: tool-versions - run: | - echo "rust=$(grep '^rust ' .tool-versions | awk '{print $2}')" >> $GITHUB_OUTPUT - echo "node=$(grep '^nodejs ' .tool-versions | awk '{print $2}')" >> $GITHUB_OUTPUT - shell: bash - - - name: Setup Node.js - uses: actions/setup-node@v4 - with: - node-version: ${{ steps.tool-versions.outputs.node }} - - - name: Install wrangler - run: npm install -g wrangler - - - name: Set up Rust toolchain - uses: actions-rust-lang/setup-rust-toolchain@v1 - with: - toolchain: ${{ steps.tool-versions.outputs.rust }} - - - name: Add wasm32-unknown-unknown target - run: rustup target add wasm32-unknown-unknown - - - name: Install worker-build - run: cargo install worker-build --locked - - - name: Install edgezero-cli - run: cargo install --git ssh://git@github.com/stackpop/edgezero.git --branch fix/web-time-wasm edgezero-cli - - - name: Fetch dependencies (locked) - run: cargo fetch --locked - - - name: Build for Cloudflare Workers - run: edgezero-cli build --adapter cloudflare - - - name: Deploy to Cloudflare Workers - env: - CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }} - CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} - run: edgezero-cli deploy --adapter cloudflare diff --git a/README.md b/README.md index ce22f1c..da6c227 100644 --- a/README.md +++ b/README.md @@ -47,7 +47,8 @@ See the [full API reference](https://stackpop.github.io/mocktioneer/api/) for al ```bash cargo test # Run tests -cargo run -p mocktioneer-adapter-axum # Local server on :8787 +cargo run -p mocktioneer-adapter-axum # Local server (Axum) on :8787 +edgezero-cli serve --adapter cloudflare # Local server (Cloudflare) on :8787 ``` ## License diff --git a/docs/guide/adapters/cloudflare.md b/docs/guide/adapters/cloudflare.md index 01933f4..4c7df87 100644 --- a/docs/guide/adapters/cloudflare.md +++ b/docs/guide/adapters/cloudflare.md @@ -86,7 +86,7 @@ target/wasm32-unknown-unknown/release/mocktioneer_adapter_cloudflare.wasm 2. Deploy: ```bash - wrangler publish --config crates/mocktioneer-adapter-cloudflare/wrangler.toml + wrangler deploy --config crates/mocktioneer-adapter-cloudflare/wrangler.toml ``` ### Subsequent Deployments @@ -96,7 +96,7 @@ target/wasm32-unknown-unknown/release/mocktioneer_adapter_cloudflare.wasm edgezero-cli deploy --adapter cloudflare # Or directly -wrangler publish --config crates/mocktioneer-adapter-cloudflare/wrangler.toml +wrangler deploy --config crates/mocktioneer-adapter-cloudflare/wrangler.toml ``` ## Configuration @@ -229,7 +229,7 @@ wrangler dev --config crates/mocktioneer-adapter-cloudflare/wrangler.toml --loca wrangler whoami # Validate configuration -wrangler publish --dry-run --config crates/mocktioneer-adapter-cloudflare/wrangler.toml +wrangler deploy --dry-run --config crates/mocktioneer-adapter-cloudflare/wrangler.toml ``` ## Performance Considerations From c7743d91c4ac3aaa88a9a93a24eb2ac83e56d4df Mon Sep 17 00:00:00 2001 From: Prakash Bhatt Date: Thu, 5 Feb 2026 13:42:03 +0530 Subject: [PATCH 04/12] test: deploy on cloudflare --- .github/workflows/deploy-cloudflare.yml | 82 +++++++++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 .github/workflows/deploy-cloudflare.yml diff --git a/.github/workflows/deploy-cloudflare.yml b/.github/workflows/deploy-cloudflare.yml new file mode 100644 index 0000000..a60568c --- /dev/null +++ b/.github/workflows/deploy-cloudflare.yml @@ -0,0 +1,82 @@ +name: "Deploy Cloudflare Worker" + +on: + pull_request: + branches: [main] + workflow_dispatch: + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + deploy: + name: Deploy to Cloudflare Workers + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Configure SSH for git dependencies + uses: webfactory/ssh-agent@v0.9.0 + with: + ssh-private-key: ${{ secrets.EDGEZERO_SSH_PRIVATE_KEY }} + + - name: Trust github.com host key + run: | + mkdir -p ~/.ssh + ssh-keyscan github.com >> ~/.ssh/known_hosts + shell: bash + + - name: Cache Cargo dependencies + uses: actions/cache@v4 + with: + path: | + ~/.cargo/bin/ + ~/.cargo/registry/index/ + ~/.cargo/registry/cache/ + ~/.cargo/git/db/ + target/ + key: ${{ runner.os }}-cargo-cloudflare-${{ hashFiles('**/Cargo.lock') }} + restore-keys: | + ${{ runner.os }}-cargo-cloudflare- + + - name: Retrieve tool versions + id: tool-versions + run: | + echo "rust=$(grep '^rust ' .tool-versions | awk '{print $2}')" >> $GITHUB_OUTPUT + echo "node=$(grep '^nodejs ' .tool-versions | awk '{print $2}')" >> $GITHUB_OUTPUT + shell: bash + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: ${{ steps.tool-versions.outputs.node }} + + - name: Install wrangler + run: npm install -g wrangler + + - name: Set up Rust toolchain + uses: actions-rust-lang/setup-rust-toolchain@v1 + with: + toolchain: ${{ steps.tool-versions.outputs.rust }} + + - name: Add wasm32-unknown-unknown target + run: rustup target add wasm32-unknown-unknown + + - name: Install worker-build + run: cargo install worker-build --locked + + - name: Install edgezero-cli + run: cargo install --git ssh://git@github.com/stackpop/edgezero.git --branch fix/web-time-wasm edgezero-cli + + - name: Fetch dependencies (locked) + run: cargo fetch --locked + + - name: Build for Cloudflare Workers + run: edgezero-cli build --adapter cloudflare + + - name: Deploy to Cloudflare Workers + env: + CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }} + CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} + run: edgezero-cli deploy --adapter cloudflare From d9a8ab9463463609371952fda3bed5fa0164015a Mon Sep 17 00:00:00 2001 From: Prakash Bhatt Date: Thu, 5 Feb 2026 13:44:55 +0530 Subject: [PATCH 05/12] fix: add --force to cargo install edgezero-cli --- .github/workflows/deploy-cloudflare.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deploy-cloudflare.yml b/.github/workflows/deploy-cloudflare.yml index a60568c..5f30f12 100644 --- a/.github/workflows/deploy-cloudflare.yml +++ b/.github/workflows/deploy-cloudflare.yml @@ -67,7 +67,7 @@ jobs: run: cargo install worker-build --locked - name: Install edgezero-cli - run: cargo install --git ssh://git@github.com/stackpop/edgezero.git --branch fix/web-time-wasm edgezero-cli + run: cargo install --force --git ssh://git@github.com/stackpop/edgezero.git --branch fix/web-time-wasm edgezero-cli - name: Fetch dependencies (locked) run: cargo fetch --locked From d396ad66a0f9290a8f88c18716a506dac6a8749e Mon Sep 17 00:00:00 2001 From: Prakash Bhatt Date: Thu, 5 Feb 2026 13:49:23 +0530 Subject: [PATCH 06/12] [skip ci] remove deployment script --- .github/workflows/deploy-cloudflare.yml | 82 ------------------------- 1 file changed, 82 deletions(-) delete mode 100644 .github/workflows/deploy-cloudflare.yml diff --git a/.github/workflows/deploy-cloudflare.yml b/.github/workflows/deploy-cloudflare.yml deleted file mode 100644 index 5f30f12..0000000 --- a/.github/workflows/deploy-cloudflare.yml +++ /dev/null @@ -1,82 +0,0 @@ -name: "Deploy Cloudflare Worker" - -on: - pull_request: - branches: [main] - workflow_dispatch: - -concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true - -jobs: - deploy: - name: Deploy to Cloudflare Workers - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - - name: Configure SSH for git dependencies - uses: webfactory/ssh-agent@v0.9.0 - with: - ssh-private-key: ${{ secrets.EDGEZERO_SSH_PRIVATE_KEY }} - - - name: Trust github.com host key - run: | - mkdir -p ~/.ssh - ssh-keyscan github.com >> ~/.ssh/known_hosts - shell: bash - - - name: Cache Cargo dependencies - uses: actions/cache@v4 - with: - path: | - ~/.cargo/bin/ - ~/.cargo/registry/index/ - ~/.cargo/registry/cache/ - ~/.cargo/git/db/ - target/ - key: ${{ runner.os }}-cargo-cloudflare-${{ hashFiles('**/Cargo.lock') }} - restore-keys: | - ${{ runner.os }}-cargo-cloudflare- - - - name: Retrieve tool versions - id: tool-versions - run: | - echo "rust=$(grep '^rust ' .tool-versions | awk '{print $2}')" >> $GITHUB_OUTPUT - echo "node=$(grep '^nodejs ' .tool-versions | awk '{print $2}')" >> $GITHUB_OUTPUT - shell: bash - - - name: Setup Node.js - uses: actions/setup-node@v4 - with: - node-version: ${{ steps.tool-versions.outputs.node }} - - - name: Install wrangler - run: npm install -g wrangler - - - name: Set up Rust toolchain - uses: actions-rust-lang/setup-rust-toolchain@v1 - with: - toolchain: ${{ steps.tool-versions.outputs.rust }} - - - name: Add wasm32-unknown-unknown target - run: rustup target add wasm32-unknown-unknown - - - name: Install worker-build - run: cargo install worker-build --locked - - - name: Install edgezero-cli - run: cargo install --force --git ssh://git@github.com/stackpop/edgezero.git --branch fix/web-time-wasm edgezero-cli - - - name: Fetch dependencies (locked) - run: cargo fetch --locked - - - name: Build for Cloudflare Workers - run: edgezero-cli build --adapter cloudflare - - - name: Deploy to Cloudflare Workers - env: - CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }} - CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} - run: edgezero-cli deploy --adapter cloudflare From d329bef1ed773a640e835e10be2d6a26a7e68a25 Mon Sep 17 00:00:00 2001 From: Prakash Bhatt Date: Wed, 11 Feb 2026 15:31:40 +0530 Subject: [PATCH 07/12] Update edgezero dependency to main branch and adjust Cloudflare adapter local serve commands and configuration. --- Cargo.lock | 10 +++++----- Cargo.toml | 10 +++++----- README.md | 2 +- crates/mocktioneer-adapter-cloudflare/wrangler.toml | 1 - tests/playwright/playwright.config.ts | 2 +- 5 files changed, 12 insertions(+), 13 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index a7f932a..73aac94 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -580,7 +580,7 @@ dependencies = [ [[package]] name = "edgezero-adapter-axum" version = "0.1.0" -source = "git+ssh://git@github.com/stackpop/edgezero.git?branch=fix%2Fweb-time-wasm#06431d5efcdb9929304f82772979a2e1a841bebb" +source = "git+ssh://git@github.com/stackpop/edgezero.git?branch=main#5335517f2aa3b72cab3b877427a4c34ddb087dd4" dependencies = [ "anyhow", "async-trait", @@ -602,7 +602,7 @@ dependencies = [ [[package]] name = "edgezero-adapter-cloudflare" version = "0.1.0" -source = "git+ssh://git@github.com/stackpop/edgezero.git?branch=fix%2Fweb-time-wasm#06431d5efcdb9929304f82772979a2e1a841bebb" +source = "git+ssh://git@github.com/stackpop/edgezero.git?branch=main#5335517f2aa3b72cab3b877427a4c34ddb087dd4" dependencies = [ "async-trait", "brotli", @@ -619,7 +619,7 @@ dependencies = [ [[package]] name = "edgezero-adapter-fastly" version = "0.1.0" -source = "git+ssh://git@github.com/stackpop/edgezero.git?branch=fix%2Fweb-time-wasm#06431d5efcdb9929304f82772979a2e1a841bebb" +source = "git+ssh://git@github.com/stackpop/edgezero.git?branch=main#5335517f2aa3b72cab3b877427a4c34ddb087dd4" dependencies = [ "async-stream", "async-trait", @@ -639,7 +639,7 @@ dependencies = [ [[package]] name = "edgezero-core" version = "0.1.0" -source = "git+ssh://git@github.com/stackpop/edgezero.git?branch=fix%2Fweb-time-wasm#06431d5efcdb9929304f82772979a2e1a841bebb" +source = "git+ssh://git@github.com/stackpop/edgezero.git?branch=main#5335517f2aa3b72cab3b877427a4c34ddb087dd4" dependencies = [ "anyhow", "async-compression", @@ -667,7 +667,7 @@ dependencies = [ [[package]] name = "edgezero-macros" version = "0.1.0" -source = "git+ssh://git@github.com/stackpop/edgezero.git?branch=fix%2Fweb-time-wasm#06431d5efcdb9929304f82772979a2e1a841bebb" +source = "git+ssh://git@github.com/stackpop/edgezero.git?branch=main#5335517f2aa3b72cab3b877427a4c34ddb087dd4" dependencies = [ "log", "proc-macro2", diff --git a/Cargo.toml b/Cargo.toml index 686f75b..c43167d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -18,11 +18,11 @@ async-trait = "0.1" axum = "0.8" base64 = "0.22" ed25519-dalek = "2.1" -edgezero-adapter-axum = { git = "ssh://git@github.com/stackpop/edgezero.git", branch = "fix/web-time-wasm", package = "edgezero-adapter-axum", default-features = false } -edgezero-adapter-cloudflare = { git = "ssh://git@github.com/stackpop/edgezero.git", branch = "fix/web-time-wasm", package = "edgezero-adapter-cloudflare", default-features = false } -edgezero-adapter-fastly = { git = "ssh://git@github.com/stackpop/edgezero.git", branch = "fix/web-time-wasm", package = "edgezero-adapter-fastly", default-features = false } -edgezero-cli = { git = "ssh://git@github.com/stackpop/edgezero.git", branch = "fix/web-time-wasm", package = "edgezero-cli" } -edgezero-core = { git = "ssh://git@github.com/stackpop/edgezero.git", branch = "fix/web-time-wasm", package = "edgezero-core" } +edgezero-adapter-axum = { git = "ssh://git@github.com/stackpop/edgezero.git", branch = "main", package = "edgezero-adapter-axum", default-features = false } +edgezero-adapter-cloudflare = { git = "ssh://git@github.com/stackpop/edgezero.git", branch = "main", package = "edgezero-adapter-cloudflare", default-features = false } +edgezero-adapter-fastly = { git = "ssh://git@github.com/stackpop/edgezero.git", branch = "main", package = "edgezero-adapter-fastly", default-features = false } +edgezero-cli = { git = "ssh://git@github.com/stackpop/edgezero.git", branch = "main", package = "edgezero-cli" } +edgezero-core = { git = "ssh://git@github.com/stackpop/edgezero.git", branch = "main", package = "edgezero-core" } fastly = "0.11.9" futures = { version = "0.3", features = ["std", "executor"] } futures-util = "0.3.31" diff --git a/README.md b/README.md index da6c227..77ea56b 100644 --- a/README.md +++ b/README.md @@ -48,7 +48,7 @@ See the [full API reference](https://stackpop.github.io/mocktioneer/api/) for al ```bash cargo test # Run tests cargo run -p mocktioneer-adapter-axum # Local server (Axum) on :8787 -edgezero-cli serve --adapter cloudflare # Local server (Cloudflare) on :8787 +cd crates/mocktioneer-adapter-cloudflare && edgezero-cli serve --adapter cloudflare # Local server (Cloudflare) on :8787 ``` ## License diff --git a/crates/mocktioneer-adapter-cloudflare/wrangler.toml b/crates/mocktioneer-adapter-cloudflare/wrangler.toml index 40a3206..2027d2a 100644 --- a/crates/mocktioneer-adapter-cloudflare/wrangler.toml +++ b/crates/mocktioneer-adapter-cloudflare/wrangler.toml @@ -6,4 +6,3 @@ compatibility_date = "2023-05-01" # Requires `worker-build` during local dev/deploy: # cargo install worker-build command = "worker-build --release" -cwd = "crates/mocktioneer-adapter-cloudflare" diff --git a/tests/playwright/playwright.config.ts b/tests/playwright/playwright.config.ts index aecfb1f..65f09b4 100644 --- a/tests/playwright/playwright.config.ts +++ b/tests/playwright/playwright.config.ts @@ -8,7 +8,7 @@ const adapter = process.env.ADAPTER || 'axum'; const webServerCommands: Record = { axum: 'cargo run -p mocktioneer-adapter-axum', - cloudflare: 'edgezero-cli serve --adapter cloudflare', + cloudflare: 'cd crates/mocktioneer-adapter-cloudflare && edgezero-cli serve --adapter cloudflare', }; export default defineConfig({ From 86702f738a09dba251e1fe3eb23b47770de7c2df Mon Sep 17 00:00:00 2001 From: Aram Grigoryan <132480+aram356@users.noreply.github.com> Date: Wed, 11 Feb 2026 11:23:50 -0800 Subject: [PATCH 08/12] Align with edgezero cli new app --- Cargo.toml | 4 ++-- crates/mocktioneer-adapter-axum/Cargo.toml | 4 ++-- crates/mocktioneer-adapter-cloudflare/Cargo.toml | 7 ++++--- crates/mocktioneer-adapter-cloudflare/src/lib.rs | 6 ++++-- crates/mocktioneer-adapter-cloudflare/src/main.rs | 10 +++------- crates/mocktioneer-adapter-fastly/.cargo/config.toml | 3 ++- crates/mocktioneer-adapter-fastly/Cargo.toml | 4 ++-- crates/mocktioneer-adapter-fastly/fastly.toml | 4 ---- crates/mocktioneer-adapter-fastly/src/main.rs | 5 +---- crates/mocktioneer-core/Cargo.toml | 4 ++-- edgezero.toml | 12 ++++++------ rust-toolchain.toml | 4 ---- 12 files changed, 28 insertions(+), 39 deletions(-) delete mode 100644 rust-toolchain.toml diff --git a/Cargo.toml b/Cargo.toml index cfc03b1..17c75ff 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,9 +1,9 @@ [workspace] members = [ "crates/mocktioneer-core", - "crates/mocktioneer-adapter-fastly", - "crates/mocktioneer-adapter-cloudflare", "crates/mocktioneer-adapter-axum", + "crates/mocktioneer-adapter-cloudflare", + "crates/mocktioneer-adapter-fastly", ] resolver = "2" diff --git a/crates/mocktioneer-adapter-axum/Cargo.toml b/crates/mocktioneer-adapter-axum/Cargo.toml index f920503..ddbba19 100644 --- a/crates/mocktioneer-adapter-axum/Cargo.toml +++ b/crates/mocktioneer-adapter-axum/Cargo.toml @@ -10,10 +10,10 @@ name = "mocktioneer-adapter-axum" path = "src/main.rs" [dependencies] -edgezero-adapter-axum = { workspace = true, features = ["axum"] } -edgezero-core = { workspace = true } anyhow = { workspace = true } axum = { workspace = true } +edgezero-adapter-axum = { workspace = true, features = ["axum"] } +edgezero-core = { workspace = true } log = { workspace = true } mocktioneer-core = { workspace = true } simple_logger = { workspace = true } diff --git a/crates/mocktioneer-adapter-cloudflare/Cargo.toml b/crates/mocktioneer-adapter-cloudflare/Cargo.toml index d643229..007ec77 100644 --- a/crates/mocktioneer-adapter-cloudflare/Cargo.toml +++ b/crates/mocktioneer-adapter-cloudflare/Cargo.toml @@ -15,13 +15,14 @@ path = "src/lib.rs" [features] default = ["cloudflare"] -cloudflare = ["dep:edgezero-adapter-cloudflare"] +cloudflare = ["edgezero-adapter-cloudflare/cloudflare"] [dependencies] -edgezero-adapter-cloudflare = { workspace = true, optional = true } +edgezero-adapter-cloudflare = { workspace = true } +edgezero-core = { workspace = true } mocktioneer-core = { workspace = true } -worker = { workspace = true } [target.'cfg(target_arch = "wasm32")'.dependencies] edgezero-adapter-cloudflare = { workspace = true, features = ["cloudflare"] } edgezero-core = { workspace = true } +worker = { workspace = true } diff --git a/crates/mocktioneer-adapter-cloudflare/src/lib.rs b/crates/mocktioneer-adapter-cloudflare/src/lib.rs index 1ff994a..a5b3f06 100644 --- a/crates/mocktioneer-adapter-cloudflare/src/lib.rs +++ b/crates/mocktioneer-adapter-cloudflare/src/lib.rs @@ -1,7 +1,9 @@ -#[cfg(target_arch = "wasm32")] -use mocktioneer_core::MocktioneerApp; +#![cfg_attr(target_arch = "wasm32", no_main)] + #[cfg(target_arch = "wasm32")] use worker::*; +#[cfg(target_arch = "wasm32")] +use mocktioneer_core::MocktioneerApp; #[cfg(target_arch = "wasm32")] #[event(fetch)] diff --git a/crates/mocktioneer-adapter-cloudflare/src/main.rs b/crates/mocktioneer-adapter-cloudflare/src/main.rs index 027ecf0..4fdd721 100644 --- a/crates/mocktioneer-adapter-cloudflare/src/main.rs +++ b/crates/mocktioneer-adapter-cloudflare/src/main.rs @@ -1,9 +1,5 @@ -//! Cloudflare Workers adapter for Mocktioneer. -//! -//! This binary provides a fallback message for native builds. -//! The actual WASM entry point is in lib.rs. - fn main() { - eprintln!("mocktioneer-adapter-cloudflare: build with --target wasm32-unknown-unknown to run."); - eprintln!("Use `edgezero-cli serve --adapter cloudflare` for local development."); + eprintln!( + "Run `wrangler dev` or target wasm32-unknown-unknown to execute mocktioneer-adapter-cloudflare." + ); } diff --git a/crates/mocktioneer-adapter-fastly/.cargo/config.toml b/crates/mocktioneer-adapter-fastly/.cargo/config.toml index ebaae99..4fc4c74 100644 --- a/crates/mocktioneer-adapter-fastly/.cargo/config.toml +++ b/crates/mocktioneer-adapter-fastly/.cargo/config.toml @@ -1,4 +1,5 @@ -# Default to native target for dev/tests; build wasm explicitly with `--target wasm32-wasip1` +[build] +target = "wasm32-wasip1" [target.wasm32-wasip1] runner = "viceroy run -C fastly.toml -- " diff --git a/crates/mocktioneer-adapter-fastly/Cargo.toml b/crates/mocktioneer-adapter-fastly/Cargo.toml index d4fbe89..4702a10 100644 --- a/crates/mocktioneer-adapter-fastly/Cargo.toml +++ b/crates/mocktioneer-adapter-fastly/Cargo.toml @@ -11,10 +11,10 @@ path = "src/main.rs" [features] default = [] -fastly = ["dep:edgezero-adapter-fastly"] +fastly = ["edgezero-adapter-fastly/fastly"] [dependencies] -edgezero-adapter-fastly = { workspace = true, optional = true } +edgezero-adapter-fastly = { workspace = true } log = { workspace = true } mocktioneer-core = { workspace = true } diff --git a/crates/mocktioneer-adapter-fastly/fastly.toml b/crates/mocktioneer-adapter-fastly/fastly.toml index 321df23..5c1f5c3 100644 --- a/crates/mocktioneer-adapter-fastly/fastly.toml +++ b/crates/mocktioneer-adapter-fastly/fastly.toml @@ -1,8 +1,4 @@ -# This file describes a Fastly Compute package. To learn more visit: -# https://www.fastly.com/documentation/reference/compute/fastly-toml - authors = ["aram@stackpop.com"] -cloned_from = "https://github.com/fastly/compute-starter-kit-rust-default" description = "" language = "rust" manifest_version = 3 diff --git a/crates/mocktioneer-adapter-fastly/src/main.rs b/crates/mocktioneer-adapter-fastly/src/main.rs index 164bb8f..35c94f7 100644 --- a/crates/mocktioneer-adapter-fastly/src/main.rs +++ b/crates/mocktioneer-adapter-fastly/src/main.rs @@ -1,16 +1,13 @@ #![cfg_attr(not(target_arch = "wasm32"), allow(dead_code))] -#[cfg(target_arch = "wasm32")] -use edgezero_adapter_fastly::run_app; #[cfg(target_arch = "wasm32")] use fastly::{Error, Request, Response}; #[cfg(target_arch = "wasm32")] use mocktioneer_core::MocktioneerApp; - #[cfg(target_arch = "wasm32")] #[fastly::main] pub fn main(req: Request) -> Result { - run_app::(include_str!("../../../edgezero.toml"), req) + edgezero_adapter_fastly::run_app::(include_str!("../../../edgezero.toml"), req) } #[cfg(not(target_arch = "wasm32"))] diff --git a/crates/mocktioneer-core/Cargo.toml b/crates/mocktioneer-core/Cargo.toml index 66a7fef..16ff986 100644 --- a/crates/mocktioneer-core/Cargo.toml +++ b/crates/mocktioneer-core/Cargo.toml @@ -6,14 +6,14 @@ publish = false license.workspace = true [dependencies] -edgezero-core = { workspace = true } async-trait = { workspace = true } base64 = { workspace = true } -phf = { workspace = true } ed25519-dalek = { workspace = true } +edgezero-core = { workspace = true } futures-util = { workspace = true } handlebars = { workspace = true } log = { workspace = true } +phf = { workspace = true } serde = { workspace = true } serde_json = { workspace = true } serde_repr = { workspace = true } diff --git a/edgezero.toml b/edgezero.toml index 645ec40..bfd1bfd 100644 --- a/edgezero.toml +++ b/edgezero.toml @@ -156,8 +156,8 @@ profile = "dev" [adapters.axum.commands] build = "cargo build -p mocktioneer-adapter-axum" -serve = "cargo run -p mocktioneer-adapter-axum" deploy = "# configure deployment for Axum" +serve = "cargo run -p mocktioneer-adapter-axum" [adapters.axum.logging] level = "info" @@ -173,9 +173,9 @@ profile = "release" features = ["cloudflare"] [adapters.cloudflare.commands] -build = "cargo build --release --target wasm32-unknown-unknown -p mocktioneer-adapter-cloudflare" -serve = "wrangler dev --config crates/mocktioneer-adapter-cloudflare/wrangler.toml" -deploy = "wrangler deploy --config crates/mocktioneer-adapter-cloudflare/wrangler.toml" +build = "wrangler build --cwd crates/mocktioneer-adapter-cloudflare" +deploy = "wrangler publish --cwd crates/mocktioneer-adapter-cloudflare" +serve = "wrangler dev --cwd crates/mocktioneer-adapter-cloudflare" [adapters.cloudflare.logging] level = "info" @@ -191,9 +191,9 @@ profile = "release" features = ["fastly"] [adapters.fastly.commands] -build = "cargo build --release --target wasm32-wasip1 -p mocktioneer-adapter-fastly" -serve = "fastly compute serve -C crates/mocktioneer-adapter-fastly" +build = "fastly compute build -C crates/mocktioneer-adapter-fastly" deploy = "fastly compute deploy -C crates/mocktioneer-adapter-fastly" +serve = "fastly compute serve -C crates/mocktioneer-adapter-fastly" [adapters.fastly.logging] endpoint = "mocktioneerlog" diff --git a/rust-toolchain.toml b/rust-toolchain.toml deleted file mode 100644 index d56ec4b..0000000 --- a/rust-toolchain.toml +++ /dev/null @@ -1,4 +0,0 @@ -[toolchain] -channel = "stable" -targets = [ "wasm32-wasip1" ] -profile = "default" From 6ba22f0ad45207f238afa015b3b2cce3fe169529 Mon Sep 17 00:00:00 2001 From: Aram Grigoryan <132480+aram356@users.noreply.github.com> Date: Wed, 11 Feb 2026 11:28:52 -0800 Subject: [PATCH 09/12] Fixed format --- crates/mocktioneer-adapter-cloudflare/src/lib.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/crates/mocktioneer-adapter-cloudflare/src/lib.rs b/crates/mocktioneer-adapter-cloudflare/src/lib.rs index a5b3f06..9dc67fa 100644 --- a/crates/mocktioneer-adapter-cloudflare/src/lib.rs +++ b/crates/mocktioneer-adapter-cloudflare/src/lib.rs @@ -1,9 +1,9 @@ #![cfg_attr(target_arch = "wasm32", no_main)] -#[cfg(target_arch = "wasm32")] -use worker::*; #[cfg(target_arch = "wasm32")] use mocktioneer_core::MocktioneerApp; +#[cfg(target_arch = "wasm32")] +use worker::*; #[cfg(target_arch = "wasm32")] #[event(fetch)] From 15b3a36a05d3125e4f37d230b268541deb3718f2 Mon Sep 17 00:00:00 2001 From: Aram Grigoryan <132480+aram356@users.noreply.github.com> Date: Wed, 11 Feb 2026 12:01:46 -0800 Subject: [PATCH 10/12] Fixed reference to wrangler --- edgezero.toml | 2 +- tests/playwright/README.md | 2 +- tests/playwright/package-lock.json | 42 +++++++++++++++++++-------- tests/playwright/package.json | 3 +- tests/playwright/playwright.config.ts | 2 +- 5 files changed, 35 insertions(+), 16 deletions(-) diff --git a/edgezero.toml b/edgezero.toml index bfd1bfd..720d62d 100644 --- a/edgezero.toml +++ b/edgezero.toml @@ -174,7 +174,7 @@ features = ["cloudflare"] [adapters.cloudflare.commands] build = "wrangler build --cwd crates/mocktioneer-adapter-cloudflare" -deploy = "wrangler publish --cwd crates/mocktioneer-adapter-cloudflare" +deploy = "wrangler deploy --cwd crates/mocktioneer-adapter-cloudflare" serve = "wrangler dev --cwd crates/mocktioneer-adapter-cloudflare" [adapters.cloudflare.logging] diff --git a/tests/playwright/README.md b/tests/playwright/README.md index 4c3e460..a8a3edb 100644 --- a/tests/playwright/README.md +++ b/tests/playwright/README.md @@ -11,7 +11,7 @@ npx playwright install **Note:** The Cloudflare adapter requires `edgezero-cli` (not `edgezero`): ```bash -cargo install --git ssh://git@github.com/stackpop/edgezero.git edgezero-cli +cargo install --git https://git@github.com/stackpop/edgezero.git edgezero-cli ``` ## Running Tests diff --git a/tests/playwright/package-lock.json b/tests/playwright/package-lock.json index 886e246..5c95fc5 100644 --- a/tests/playwright/package-lock.json +++ b/tests/playwright/package-lock.json @@ -8,17 +8,18 @@ "name": "mocktioneer-playwright-tests", "version": "1.0.0", "devDependencies": { - "@playwright/test": "^1.50.0" + "@playwright/test": "^1.50.0", + "@types/node": "^24.10.13" } }, "node_modules/@playwright/test": { - "version": "1.57.0", - "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.57.0.tgz", - "integrity": "sha512-6TyEnHgd6SArQO8UO2OMTxshln3QMWBtPGrOCgs3wVEmQmwyuNtB10IZMfmYDE0riwNR1cu4q+pPcxMVtaG3TA==", + "version": "1.58.2", + "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.58.2.tgz", + "integrity": "sha512-akea+6bHYBBfA9uQqSYmlJXn61cTa+jbO87xVLCWbTqbWadRVmhxlXATaOjOgcBaWU4ePo0wB41KMFv3o35IXA==", "dev": true, "license": "Apache-2.0", "dependencies": { - "playwright": "1.57.0" + "playwright": "1.58.2" }, "bin": { "playwright": "cli.js" @@ -27,6 +28,16 @@ "node": ">=18" } }, + "node_modules/@types/node": { + "version": "24.10.13", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.10.13.tgz", + "integrity": "sha512-oH72nZRfDv9lADUBSo104Aq7gPHpQZc4BTx38r9xf9pg5LfP6EzSyH2n7qFmmxRQXh7YlUXODcYsg6PuTDSxGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~7.16.0" + } + }, "node_modules/fsevents": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", @@ -43,13 +54,13 @@ } }, "node_modules/playwright": { - "version": "1.57.0", - "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.57.0.tgz", - "integrity": "sha512-ilYQj1s8sr2ppEJ2YVadYBN0Mb3mdo9J0wQ+UuDhzYqURwSoW4n1Xs5vs7ORwgDGmyEh33tRMeS8KhdkMoLXQw==", + "version": "1.58.2", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.58.2.tgz", + "integrity": "sha512-vA30H8Nvkq/cPBnNw4Q8TWz1EJyqgpuinBcHET0YVJVFldr8JDNiU9LaWAE1KqSkRYazuaBhTpB5ZzShOezQ6A==", "dev": true, "license": "Apache-2.0", "dependencies": { - "playwright-core": "1.57.0" + "playwright-core": "1.58.2" }, "bin": { "playwright": "cli.js" @@ -62,9 +73,9 @@ } }, "node_modules/playwright-core": { - "version": "1.57.0", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.57.0.tgz", - "integrity": "sha512-agTcKlMw/mjBWOnD6kFZttAAGHgi/Nw0CZ2o6JqWSbMlI219lAFLZZCyqByTsvVAJq5XA5H8cA6PrvBRpBWEuQ==", + "version": "1.58.2", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.58.2.tgz", + "integrity": "sha512-yZkEtftgwS8CsfYo7nm0KE8jsvm6i/PTgVtB8DL726wNf6H2IMsDuxCpJj59KDaxCtSnrWan2AeDqM7JBaultg==", "dev": true, "license": "Apache-2.0", "bin": { @@ -73,6 +84,13 @@ "engines": { "node": ">=18" } + }, + "node_modules/undici-types": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz", + "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==", + "dev": true, + "license": "MIT" } } } diff --git a/tests/playwright/package.json b/tests/playwright/package.json index cc1c852..dca9fd3 100644 --- a/tests/playwright/package.json +++ b/tests/playwright/package.json @@ -8,6 +8,7 @@ "test:debug": "playwright test --debug" }, "devDependencies": { - "@playwright/test": "^1.50.0" + "@playwright/test": "^1.50.0", + "@types/node": "^24.10.13" } } diff --git a/tests/playwright/playwright.config.ts b/tests/playwright/playwright.config.ts index 65f09b4..aecfb1f 100644 --- a/tests/playwright/playwright.config.ts +++ b/tests/playwright/playwright.config.ts @@ -8,7 +8,7 @@ const adapter = process.env.ADAPTER || 'axum'; const webServerCommands: Record = { axum: 'cargo run -p mocktioneer-adapter-axum', - cloudflare: 'cd crates/mocktioneer-adapter-cloudflare && edgezero-cli serve --adapter cloudflare', + cloudflare: 'edgezero-cli serve --adapter cloudflare', }; export default defineConfig({ From 3f6e9e1066546c8126d0116eda49e8a915a63ff1 Mon Sep 17 00:00:00 2001 From: Aram Grigoryan <132480+aram356@users.noreply.github.com> Date: Wed, 11 Feb 2026 13:56:37 -0800 Subject: [PATCH 11/12] Updated edgezero deps --- Cargo.lock | 153 +++++++++++++++++----------------- README.md | 3 +- docs/guide/adapters/fastly.md | 3 +- 3 files changed, 79 insertions(+), 80 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 6ee05c0..af3040e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -49,9 +49,9 @@ checksum = "5f0e0fee31ef5ed1ba1316088939cea399010ed7731dba877ed44aeb407a75ea" [[package]] name = "async-compression" -version = "0.4.37" +version = "0.4.39" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d10e4f991a553474232bc0a31799f6d24b034a84c0971d80d2e2f78b2e576e40" +checksum = "68650b7df54f0293fd061972a0fb05aaf4fc0879d3b3d21a638a182c5c543b9f" dependencies = [ "compression-codecs", "compression-core", @@ -106,9 +106,9 @@ checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" [[package]] name = "aws-lc-rs" -version = "1.15.3" +version = "1.15.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e84ce723ab67259cfeb9877c6a639ee9eb7a27b28123abd71db7f0d5d0cc9d86" +checksum = "7b7b6141e96a8c160799cc2d5adecd5cbbe5054cb8c7c4af53da0f83bb7ad256" dependencies = [ "aws-lc-sys", "zeroize", @@ -116,9 +116,9 @@ dependencies = [ [[package]] name = "aws-lc-sys" -version = "0.36.0" +version = "0.37.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43a442ece363113bd4bd4c8b18977a7798dd4d3c3383f34fb61936960e8f4ad8" +checksum = "b092fe214090261288111db7a2b2c2118e5a7f30dc2569f1732c4069a6840549" dependencies = [ "cc", "cmake", @@ -261,9 +261,9 @@ checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" [[package]] name = "cc" -version = "1.2.53" +version = "1.2.55" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "755d2fce177175ffca841e9a06afdb2c4ab0f593d53b4dee48147dfaade85932" +checksum = "47b26a0954ae34af09b50f0de26458fa95369a0d478d8236d3f93082b219bd29" dependencies = [ "find-msvc-tools", "jobserver", @@ -317,7 +317,7 @@ version = "3.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "faf9468729b8cbcea668e36183cb69d317348c2e08e994829fb56ebfdfbaac34" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] @@ -472,9 +472,9 @@ dependencies = [ [[package]] name = "deranged" -version = "0.5.5" +version = "0.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ececcb659e7ba858fb4f10388c250a7252eb0a27373f1a72b8748afdd248e587" +checksum = "cc3dc5ad92c2e2d1c193bbbbdf2ea477cb81331de4f3103f267ca18368b988c4" dependencies = [ "powerfmt", "serde_core", @@ -580,7 +580,7 @@ dependencies = [ [[package]] name = "edgezero-adapter-axum" version = "0.1.0" -source = "git+https://github.com/stackpop/edgezero.git?branch=main#a088a7136f01271b86476a0a9a29d68842977e40" +source = "git+https://github.com/stackpop/edgezero.git?branch=main#045b43db568b23aa22b464177cf7658f186061ff" dependencies = [ "anyhow", "async-trait", @@ -602,7 +602,7 @@ dependencies = [ [[package]] name = "edgezero-adapter-cloudflare" version = "0.1.0" -source = "git+https://github.com/stackpop/edgezero.git?branch=main#a088a7136f01271b86476a0a9a29d68842977e40" +source = "git+https://github.com/stackpop/edgezero.git?branch=main#045b43db568b23aa22b464177cf7658f186061ff" dependencies = [ "async-trait", "brotli", @@ -619,7 +619,7 @@ dependencies = [ [[package]] name = "edgezero-adapter-fastly" version = "0.1.0" -source = "git+https://github.com/stackpop/edgezero.git?branch=main#a088a7136f01271b86476a0a9a29d68842977e40" +source = "git+https://github.com/stackpop/edgezero.git?branch=main#045b43db568b23aa22b464177cf7658f186061ff" dependencies = [ "async-stream", "async-trait", @@ -639,7 +639,7 @@ dependencies = [ [[package]] name = "edgezero-core" version = "0.1.0" -source = "git+https://github.com/stackpop/edgezero.git?branch=main#a088a7136f01271b86476a0a9a29d68842977e40" +source = "git+https://github.com/stackpop/edgezero.git?branch=main#045b43db568b23aa22b464177cf7658f186061ff" dependencies = [ "anyhow", "async-compression", @@ -667,7 +667,7 @@ dependencies = [ [[package]] name = "edgezero-macros" version = "0.1.0" -source = "git+https://github.com/stackpop/edgezero.git?branch=main#a088a7136f01271b86476a0a9a29d68842977e40" +source = "git+https://github.com/stackpop/edgezero.git?branch=main#045b43db568b23aa22b464177cf7658f186061ff" dependencies = [ "log", "proc-macro2", @@ -707,7 +707,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" dependencies = [ "libc", - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] @@ -788,15 +788,15 @@ checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d" [[package]] name = "find-msvc-tools" -version = "0.1.8" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8591b0bcc8a98a64310a2fae1bb3e9b8564dd10e381e6e28010fde8e8e8568db" +checksum = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582" [[package]] name = "flate2" -version = "1.1.8" +version = "1.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b375d6465b98090a5f25b1c7703f3859783755aa9a80433b36e0379a3ec2f369" +checksum = "843fba2746e448b37e26a819579957415c8cef339bf08564fe8b7ddbd959573c" dependencies = [ "crc32fast", "miniz_oxide", @@ -1056,14 +1056,13 @@ dependencies = [ [[package]] name = "hyper-util" -version = "0.1.19" +version = "0.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "727805d60e7938b76b826a6ef209eb70eaa1812794f9424d4a4e2d740662df5f" +checksum = "96547c2556ec9d12fb1578c4eaf448b04993e7fb79cbaad930a656880a6bdfa0" dependencies = [ "base64", "bytes", "futures-channel", - "futures-core", "futures-util", "http", "http-body", @@ -1080,9 +1079,9 @@ dependencies = [ [[package]] name = "iana-time-zone" -version = "0.1.64" +version = "0.1.65" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33e57f83510bb73707521ebaffa789ec8caf86f9657cad665b092b581d40e9fb" +checksum = "e31bc9ad994ba00e440a8aa5c9ef0ec67d5cb5e5cb0cc7f8b744a35b389cc470" dependencies = [ "android_system_properties", "core-foundation-sys", @@ -1301,15 +1300,15 @@ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" [[package]] name = "libc" -version = "0.2.180" +version = "0.2.181" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcc35a38544a891a5f7c865aca548a982ccb3b8650a5b06d0fd33a10283c56fc" +checksum = "459427e2af2b9c839b132acb702a1c654d95e10f8c326bfc2ad11310e458b1c5" [[package]] name = "libm" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9fbbcab51052fe104eb5e5d351cf728d30a5be1fe14d9be8a3b097481fb97de" +checksum = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981" [[package]] name = "litemap" @@ -1363,9 +1362,9 @@ checksum = "b3eede3bdf92f3b4f9dc04072a9ce5ab557d5ec9038773bf9ffcd5588b3cc05b" [[package]] name = "memchr" -version = "2.7.6" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273" +checksum = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79" [[package]] name = "mime" @@ -1544,9 +1543,9 @@ checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" [[package]] name = "pest" -version = "2.8.5" +version = "2.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c9eb05c21a464ea704b53158d358a31e6425db2f63a1a7312268b05fe2b75f7" +checksum = "e0848c601009d37dfa3430c4666e147e49cdcf1b92ecd3e63657d8a5f19da662" dependencies = [ "memchr", "ucd-trie", @@ -1554,9 +1553,9 @@ dependencies = [ [[package]] name = "pest_derive" -version = "2.8.5" +version = "2.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68f9dbced329c441fa79d80472764b1a2c7e57123553b8519b36663a2fb234ed" +checksum = "11f486f1ea21e6c10ed15d5a7c77165d0ee443402f0780849d1768e7d9d6fe77" dependencies = [ "pest", "pest_generator", @@ -1564,9 +1563,9 @@ dependencies = [ [[package]] name = "pest_generator" -version = "2.8.5" +version = "2.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3bb96d5051a78f44f43c8f712d8e810adb0ebf923fc9ed2655a7f66f63ba8ee5" +checksum = "8040c4647b13b210a963c1ed407c1ff4fdfa01c31d6d2a098218702e6664f94f" dependencies = [ "pest", "pest_meta", @@ -1577,9 +1576,9 @@ dependencies = [ [[package]] name = "pest_meta" -version = "2.8.5" +version = "2.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "602113b5b5e8621770cfd490cfd90b9f84ab29bd2b0e49ad83eb6d186cef2365" +checksum = "89815c69d36021a140146f26659a81d6c2afa33d216d736dd4be5381a7362220" dependencies = [ "pest", "sha2 0.10.9", @@ -1717,9 +1716,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.105" +version = "1.0.106" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "535d180e0ecab6268a3e718bb9fd44db66bbbc256257165fc699dadf70d16fe7" +checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934" dependencies = [ "unicode-ident", ] @@ -1777,14 +1776,14 @@ dependencies = [ "once_cell", "socket2", "tracing", - "windows-sys 0.52.0", + "windows-sys 0.60.2", ] [[package]] name = "quote" -version = "1.0.43" +version = "1.0.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc74d9a594b72ae6656596548f56f667211f8a97b3d4c3d467150794690dc40a" +checksum = "21b2ebcf727b7760c461f091f9f0f539b77b8e87f2fd88131e7f1b433b3cece4" dependencies = [ "proc-macro2", ] @@ -1844,9 +1843,9 @@ dependencies = [ [[package]] name = "regex" -version = "1.12.2" +version = "1.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "843bc0191f75f3e22651ae5f1e72939ab2f72a4bc30fa80a066bd66edefc24d4" +checksum = "e10754a14b9137dd7b1e3e5b0493cc9171fdd105e0ab477f51b72e7f3ac0e276" dependencies = [ "aho-corasick", "memchr", @@ -1856,9 +1855,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.13" +version = "0.4.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5276caf25ac86c8d810222b3dbb938e512c55c6831a10f3e6ed1c93b84041f1c" +checksum = "6e1dd4122fc1595e8162618945476892eefca7b88c52820e74af6262213cae8f" dependencies = [ "aho-corasick", "memchr", @@ -1867,15 +1866,15 @@ dependencies = [ [[package]] name = "regex-syntax" -version = "0.8.8" +version = "0.8.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a2d987857b319362043e95f5353c0535c1f58eec5336fdfcf626430af7def58" +checksum = "a96887878f22d7bad8a3b6dc5b7440e0ada9a245242924394987b21cf2210a4c" [[package]] name = "reqwest" -version = "0.13.1" +version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04e9018c9d814e5f30cc16a0f03271aeab3571e609612d9fe78c1aa8d11c2f62" +checksum = "ab3f43e3283ab1488b624b44b0e988d0acea0b3214e694730a055cb6b2efa801" dependencies = [ "base64", "bytes", @@ -1989,7 +1988,7 @@ dependencies = [ "security-framework", "security-framework-sys", "webpki-root-certs", - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] @@ -2018,9 +2017,9 @@ checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" [[package]] name = "ryu" -version = "1.0.22" +version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a50f4cf475b65d88e057964e0e9bb1f0aa9bbb2036dc65c64596b42932536984" +checksum = "9774ba4a74de5f7b1c1451ed6cd5285a32eddb5cccb8cc655a4e50009e06477f" [[package]] name = "same-file" @@ -2235,15 +2234,15 @@ dependencies = [ [[package]] name = "siphasher" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d" +checksum = "b2aa850e253778c88a04c3d7323b043aeda9d3e30d5971937c1855769763678e" [[package]] name = "slab" -version = "0.4.11" +version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a2ae44ef20feb57a68b23d846850f861394c2e02dc425a50098ae8c90267589" +checksum = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5" [[package]] name = "smallvec" @@ -2253,9 +2252,9 @@ checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" [[package]] name = "socket2" -version = "0.6.1" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17129e116933cf371d018bb80ae557e889637989d8638274fb25622827b03881" +checksum = "86f4aa3ad99f2088c990dfa82d367e19cb29268ed67c574d10d0a4bfe71f07e0" dependencies = [ "libc", "windows-sys 0.60.2", @@ -2468,9 +2467,9 @@ dependencies = [ [[package]] name = "toml" -version = "0.9.11+spec-1.1.0" +version = "0.9.12+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3afc9a848309fe1aaffaed6e1546a7a14de1f935dc9d89d32afd9a44bab7c46" +checksum = "cf92845e79fc2e2def6a5d828f0801e29a2f8acc037becc5ab08595c7d5e9863" dependencies = [ "indexmap", "serde_core", @@ -2492,9 +2491,9 @@ dependencies = [ [[package]] name = "toml_parser" -version = "1.0.6+spec-1.1.0" +version = "1.0.7+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3198b4b0a8e11f09dd03e133c0280504d0801269e9afa46362ffde1cbeebf44" +checksum = "247eaa3197818b831697600aadf81514e577e0cba5eab10f7e064e78ae154df1" dependencies = [ "winnow", ] @@ -2603,9 +2602,9 @@ checksum = "2896d95c02a80c6d6a5d6e953d479f5ddf2dfdb6a244441010e373ac0fb88971" [[package]] name = "unicode-ident" -version = "1.0.22" +version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5" +checksum = "537dd038a89878be9b64dd4bd1b260315c1bb94f4d784956b81e27a088d9a09e" [[package]] name = "untrusted" @@ -2845,9 +2844,9 @@ dependencies = [ [[package]] name = "webpki-root-certs" -version = "1.0.5" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36a29fc0408b113f68cf32637857ab740edfafdf460c326cd2afaa2d84cc05dc" +checksum = "804f18a4ac2676ffb4e8b5b5fa9ae38af06df08162314f96a68d2a363e21a8ca" dependencies = [ "rustls-pki-types", ] @@ -2858,7 +2857,7 @@ version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] @@ -3255,18 +3254,18 @@ dependencies = [ [[package]] name = "zerocopy" -version = "0.8.33" +version = "0.8.39" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "668f5168d10b9ee831de31933dc111a459c97ec93225beb307aed970d1372dfd" +checksum = "db6d35d663eadb6c932438e763b262fe1a70987f9ae936e60158176d710cae4a" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.8.33" +version = "0.8.39" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c7962b26b0a8685668b671ee4b54d007a67d4eaf05fda79ac0ecf41e32270f1" +checksum = "4122cd3169e94605190e77839c9a40d40ed048d305bfdc146e7df40ab0f3e517" dependencies = [ "proc-macro2", "quote", @@ -3335,6 +3334,6 @@ dependencies = [ [[package]] name = "zmij" -version = "1.0.16" +version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfcd145825aace48cff44a8844de64bf75feec3080e0aa5cdbde72961ae51a65" +checksum = "4de98dfa5d5b7fef4ee834d0073d560c9ca7b6c46a71d058c48db7960f8cfaf7" diff --git a/README.md b/README.md index 6ed0f69..4fcf555 100644 --- a/README.md +++ b/README.md @@ -48,7 +48,8 @@ See the [full API reference](https://stackpop.github.io/mocktioneer/api/) for al ```bash cargo test # Run tests cargo run -p mocktioneer-adapter-axum # Local server (Axum) on :8787 -cd crates/mocktioneer-adapter-cloudflare && edgezero-cli serve --adapter cloudflare # Local server (Cloudflare) on :8787 +edgezero-cli serve --adapter cloudflare # Local server (Cloudflare) on :8787 +edgezero-cli serve --adapter fastly # Local server (Cloudflare) on :7676 ``` ## License diff --git a/docs/guide/adapters/fastly.md b/docs/guide/adapters/fastly.md index 1fc33e0..35830e0 100644 --- a/docs/guide/adapters/fastly.md +++ b/docs/guide/adapters/fastly.md @@ -63,8 +63,7 @@ target/wasm32-wasip1/release/mocktioneer-adapter-fastly.wasm ### First-Time Setup ```bash -cd crates/mocktioneer-adapter-fastly -fastly compute publish +edgezero-cli deploy --adapter fastly ``` The CLI will prompt you to: From 086e7faf5cbb00cc23bc49894cf4bd91aa3af415 Mon Sep 17 00:00:00 2001 From: Aram Grigoryan <132480+aram356@users.noreply.github.com> Date: Wed, 11 Feb 2026 14:01:19 -0800 Subject: [PATCH 12/12] Fixed README.md --- README.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 4fcf555..242c6a8 100644 --- a/README.md +++ b/README.md @@ -34,12 +34,12 @@ Full documentation is available at **[stackpop.github.io/mocktioneer](https://st ## Endpoints -| Path | Description | -|------|-------------| -| `POST /openrtb2/auction` | OpenRTB 2.x bid request | -| `POST /e/dtb/bid` | APS TAM bid request | -| `GET /static/creatives/{size}.html` | Creative wrapper | -| `GET /_/sizes` | Supported sizes with pricing | +| Path | Description | +| ----------------------------------- | ---------------------------- | +| `POST /openrtb2/auction` | OpenRTB 2.x bid request | +| `POST /e/dtb/bid` | APS TAM bid request | +| `GET /static/creatives/{size}.html` | Creative wrapper | +| `GET /_/sizes` | Supported sizes with pricing | See the [full API reference](https://stackpop.github.io/mocktioneer/api/) for all endpoints. @@ -49,7 +49,7 @@ See the [full API reference](https://stackpop.github.io/mocktioneer/api/) for al cargo test # Run tests cargo run -p mocktioneer-adapter-axum # Local server (Axum) on :8787 edgezero-cli serve --adapter cloudflare # Local server (Cloudflare) on :8787 -edgezero-cli serve --adapter fastly # Local server (Cloudflare) on :7676 +edgezero-cli serve --adapter fastly # Local server (Fastly) on :7676 ``` ## License