Repository navigation
Conversation
Link features/V4/plugins from PACT_COMPAT_SUITE (skipped when unset or absent) and implement the plugin_http, plugin_message, plugin_sync_message, plugin_transport and plugin_lifecycle steps. PactNet has no public plugin API on this branch, so every scenario goes through direct pact_ffi calls (using_plugin, interaction_contents, create_mock_server_for_transport, verifier). Each scenario's route (DSL / FFI / fail) is written to plugin-routes.txt. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Adds compat-plugins.yml, which checks out the suite branch with features/V4/plugins, installs the four plugins and runs the V4.Plugins tests. It runs on PRs to any base, so stacked PRs are covered. Also reads verification mismatches from "errors" in the verifier JSON, which is where FFI 0.4.27 reports them; 10 scenarios failed without it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Runs the V4 plugin features in the Reqnroll compatibility runner against the current PactNet interface (pass 1 of 5). Stacked on #40.
Files:
Steps/PluginSteps.cs,Support/PluginFfi.cs,Support/PluginProviders.cs,Support/PluginWorld.cs,Hooks/PluginHooks.cs.Depends on the suite branch
feat/plugin-features(YOU54F/pact-compatibility-suite#1). The plugin features are included only whenPACT_COMPAT_SUITEpoints at a checkout that hasfeatures/V4/plugins. Needs plugins matt 0.1.1, csv 0.0.6, avro 0.1.3 and protobuf 0.8.0 installed.PACT_COMPAT_SUITE=/path/to/pact-compatibility-suite dotnet test tests/PactNet.Compatibility.TestsResults
src/changes.Limitations
Plugins. Core PactNet has no plugin API on master, so none of the 48 scenarios exercise the DSL. The follow-up stacked PR (
compat/plugins-integration) merges the plugin PRs and moves 17 scenarios onto the DSL.Core suite (from #40): 166 skipped. V1 consumer only. The provider side and V2+ are blocked by PactNet DSL gaps:
VerifyAsynconly works inside a callbackCI
.github/workflows/compat-plugins.ymlchecks outYOU54F/pact-compatibility-suite@feat/plugin-features(overridable withworkflow_dispatchinputssuite-repository/suite-ref), installs matt 0.1.1, csv 0.0.6, avro 0.1.3 and protobuf 0.8.0, and runs the 48 plugin scenarios withPACT_COMPAT_SUITEset. It has no PR base filter, so it runs on this PR stacked on #40 (ci.ymlonly runs for PRs into master).It also fixes the runner to read mismatches from
errorsin the verifier JSON (FFI 0.4.27); before that, 10 "reports the plugin's mismatch" scenarios failed.🤖 Generated with Claude Code