diff --git a/.github/workflows/integration-examples.yml b/.github/workflows/integration-examples.yml index a61fb38c..a5e284e0 100644 --- a/.github/workflows/integration-examples.yml +++ b/.github/workflows/integration-examples.yml @@ -149,19 +149,20 @@ jobs: - name: Setup integration test working-directory: examples run: | - # Override MODULE.bazel to use local rules checkout - cat >> MODULE.bazel << 'EOF' - - # Integration test override - use PR branch - local_path_override( - module_name = "rules_wasm_component", - path = "../rules_wasm_component", - ) - EOF + # Replace git_override with local_path_override between markers + sed -i '/RULES_WASM_COMPONENT_OVERRIDE_START/,/RULES_WASM_COMPONENT_OVERRIDE_END/c\ + # RULES_WASM_COMPONENT_OVERRIDE_START\ + local_path_override(\ + module_name = "rules_wasm_component",\ + path = "../rules_wasm_component",\ + )\ + # RULES_WASM_COMPONENT_OVERRIDE_END' MODULE.bazel + + echo "=== MODULE.bazel override block ===" + sed -n '/OVERRIDE_START/,/OVERRIDE_END/p' MODULE.bazel echo "=== Testing against PR branch ===" cd ../rules_wasm_component && git log -1 --oneline - echo "" - name: Install Bazelisk run: | diff --git a/cpp/defs.bzl b/cpp/defs.bzl index 81b5b982..5e5f0f20 100644 --- a/cpp/defs.bzl +++ b/cpp/defs.bzl @@ -216,6 +216,7 @@ def _cpp_component_impl(ctx): # Basic compiler flags for Preview2 compile_args.add("--target=wasm32-wasip2") + compile_args.add("-mexec-model=reactor") # Library component, not CLI # Build sysroot path from toolchain repository for external compatibility if sysroot_files and sysroot_files.files: @@ -522,6 +523,7 @@ def _cpp_component_impl(ctx): "name": ctx.label.name, "language": ctx.attr.language, "target": "wasm32-wasip2", + "exec_model": "reactor", "wasi_sdk": True, "toolchain": "wasi-sdk", "cxx_std": ctx.attr.cxx_std if ctx.attr.cxx_std else None, diff --git a/cpp/private/cpp_wasm_binary.bzl b/cpp/private/cpp_wasm_binary.bzl index 8a82c607..3c4309a3 100644 --- a/cpp/private/cpp_wasm_binary.bzl +++ b/cpp/private/cpp_wasm_binary.bzl @@ -110,6 +110,7 @@ def _cpp_wasm_binary_impl(ctx): # Basic compiler flags for WASI Preview 2 compile_args.add("--target=wasm32-wasip2") + compile_args.add("-mexec-model=command") # CLI executable with main() # Resolve sysroot path if sysroot_files and sysroot_files.files: @@ -237,6 +238,7 @@ def _cpp_wasm_binary_impl(ctx): "name": ctx.label.name, "language": ctx.attr.language, "target": "wasm32-wasip2", + "exec_model": "command", "wasi_sdk": True, "toolchain": "wasi-sdk", "cxx_std": ctx.attr.cxx_std if ctx.attr.cxx_std else None,