Skip to content
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

chore: Upgrade FFI to version 0.3.18 #435

Closed

Conversation

leonasa
Copy link

@leonasa leonasa commented Dec 19, 2022

No description provided.

@mefellows
Copy link
Member

Thanks! I'll leave it to Adam to review when he gets a moment.

@adamrodger
Copy link
Contributor

Is there a particular reason for upgrading, as in does it fix a particular bug or anything?

Unfortunately there are some cases where the tests don't fully cover the FFI integration because it would be very brittle to do so (e.g. checking the logging format returned from FFI, which broke recently when the FFI changed logging libraries).

Because of that, we tend not to upgrade as a matter of routine but more in response to specific issues or new features, where the FFI gets a more thorough manual test at the same time as the new issue/feature is worked on.

@leonasa
Copy link
Author

leonasa commented Dec 23, 2022 via email

@mefellows
Copy link
Member

These are all the relevant fixes/features since 0.3.11:

  • 8bb2534d - feat: add user-agent header to the HALClient (andrisak, Sat Dec 17 12:42:05 2022 +0100)
  • 5fbb0d6a - feat: Upgrade plugin driver to 0.2.2 (supports passing a test context to support generators) (Ronald Holshausen, Fri Dec 16 16:38:03 2022 +1100)
  • 5251fcf5 - fix: error caused an internal mutex to be poisoned (Ronald Holshausen, Fri Dec 16 16:34:19 2022 +1100)
  • ec2ed51d - fix(FFI): use a multi-threaded reactor for FFI setup_contents call to plugins (Ronald Holshausen, Thu Dec 15 12:22:24 2022 +1100)
  • c1ccb62f - feat: allow non deafult json content-type (Leonardo Santana, Mon Dec 12 15:26:22 2022 -0500)
  • e91ad622 - fix: Interaction builder was not copying plugin config data to the Pact metadata (Ronald Holshausen, Mon Dec 12 13:59:36 2022 +1100)
  • 4f366ac5 - fix(FFI): broken build after upgrading pact_models (Ronald Holshausen, Fri Dec 9 17:31:40 2022 +1100)
  • 1744ddc2 - feat: Support plugins generating interaction content (Ronald Holshausen, Fri Dec 9 17:24:04 2022 +1100)
  • 2cf5d8ad - fix: Correct test after upgrading pact_models to 1.0.2 (Ronald Holshausen, Fri Dec 9 12:59:24 2022 +1100)
  • f84adc7a - fix: Metadata was missing from the generator categories (Ronald Holshausen, Fri Dec 9 11:00:34 2022 +1100)
  • 6fe19b9e - feat(FFI): add functions for matching common values (Ronald Holshausen, Thu Dec 1 16:26:39 2022 +1100)
  • f9dd7a4e - Fix: date and time matchers were not being persisted as per the spec (Ronald Holshausen, Thu Dec 1 12:25:12 2022 +1100)
  • 9fc56580 - fix: add tests for PUT and POST requests NuGet Package Links A Lot of Superfluous Content #220 (Ronald Holshausen, Thu Dec 1 11:42:31 2022 +1100)
  • 77a7c8ba - fix: make HAL client fetch and fetch link functions support brokers hosted with context paths NuGet Package Links A Lot of Superfluous Content #220 (Ronald Holshausen, Wed Nov 30 18:20:23 2022 +1100)
  • 7756d305 - fix(FFI): Replaced the matching rule union type with 3 FFI functions which should support Go better (Ronald Holshausen, Wed Nov 30 16:10:15 2022 +1100)
  • c12d9a61 - fix: Verification results across multiple pacts accumulate, publishing invalid results PactNet.Linux.x64 2.5.0 Fails with Ruby Error #231 (Ronald Holshausen, Mon Nov 28 12:00:38 2022 +1100)
  • 33a784a0 - fix: add test for publish verification result issue PactNet.Linux.x64 2.5.0 Fails with Ruby Error #231 (Ronald Holshausen, Mon Nov 28 11:04:38 2022 +1100)
  • 2e5823a0 - feat: add custom-header to the old FFI args for implementations that have not moved to handles (Ronald Holshausen, Fri Nov 25 11:09:46 2022 +1100)
  • 570e33c1 - feat: add FFI function to return generator JSON (Ronald Holshausen, Mon Nov 14 14:53:11 2022 +1100)
  • 7a2686e0 - feat: add function to get matching rule as JSON (Ronald Holshausen, Mon Nov 14 13:35:46 2022 +1100)
  • cfc565e3 - feat: add docs on the matching rule IDs (Ronald Holshausen, Mon Nov 14 12:08:26 2022 +1100)
  • 18e1e113 - feat: add an iterator over the matching rules from a matching definition expression (Ronald Holshausen, Mon Nov 14 12:02:41 2022 +1100)
  • e21d3454 - feat: add FFI function to parse JSON to a Pact model (Ronald Holshausen, Fri Nov 11 17:00:36 2022 +1100)
  • b7c010eb - feat: add generator FFI functions (Ronald Holshausen, Fri Nov 11 14:54:39 2022 +1100)
  • f7b561ee - feat: add FFI function to get the generator from a matching definition (Ronald Holshausen, Fri Nov 11 11:16:58 2022 +1100)
  • 768a132b - feat: add FFI function to parse a matching definition expression (Ronald Holshausen, Thu Nov 10 18:18:39 2022 +1100)
  • a3fa7d63 - feat: Split the builders into synch and async versions (Ronald Holshausen, Mon Nov 7 12:46:00 2022 +1100)
  • 577824e7 - fix: Upgrade pact_models to 1.0 and pact-plugin-driver to 0.1.15 to fix cyclic dependency issue (Ronald Holshausen, Mon Nov 7 11:14:20 2022 +1100)
  • f91dc00d - fix: try loosen dependencies to fix dependency cycle issue (Ronald Holshausen, Mon Nov 7 10:15:19 2022 +1100)
  • 6ad00a5d - fix: Update onig to latest master to fix Regex Matcher Fails On Valid Inputs Question- Passing auth token from provider side #214 (Ronald Holshausen, Fri Nov 4 15:23:50 2022 +1100)
  • 83d14ce1 - fix: when comparing content types, check the base type if the actual content type has a suffix failing with NoMethodError: undefined method `strip’ for #<Pact::SomethingLike:0x0056250360f170> #224 (Ronald Holshausen, Fri Nov 4 14:22:47 2022 +1100)
  • d976db0c - fix: panicked at 'called on a value' when FFI LevelFilter == Off Provider tests fail with "System.ComponentModel.Win32Exception : No such file or directory" under .net core 3.0 in ubuntu #226 (Ronald Holshausen, Fri Nov 4 13:47:20 2022 +1100)
  • 9dad5d2a - fix: ffi.pactffi_logger_attach_sink causes seg fault if log directory doesn't exist Provider tests fail with "System.ComponentModel.Win32Exception : No such file or directory" under .net core 3.0 in ubuntu #226 (Ronald Holshausen, Fri Nov 4 12:26:15 2022 +1100)
  • 86d32ddf - fix(cors): source allowed origin from origin header, add credentials (Matt Fellows, Sun Oct 30 21:59:35 2022 +1100)
  • 965a1c41 - fix: Upgrade plugin driver to 0.1.13 (fixes issue loading plugin when there are multiple versions for the same plugin) (Ronald Holshausen, Wed Oct 5 17:29:37 2022 +1100)
  • dda213e3 - feat(ffi): support adding transports to provider via pactffi_verifier_add_provider_transport (Matt Fellows, Wed Oct 5 10:49:07 2022 +1100)
  • b8be05c1 - fix(FFI): Use a star for the path with values matcher .NET Implementation of requestFilter seen on JS and GO version of Pact. #216 (Ronald Holshausen, Tue Sep 27 17:50:32 2022 +1000)
  • b626002c - fix(pact_verifier_cli): stop using deprecated clap::parser::matches::arg_matches::ArgMatches::values_of_lossy (Jerry Wang, Sat Sep 24 01:36:05 2022 -0700)
  • b8d263f7 - fix(verifier): fix typos in the implementation of Display on the PactSource enum (Jerry Wang, Wed Sep 21 22:32:56 2022 -0700)
  • 57a8ad7d - fix: Consumer DSL needs to increment plugin access to avoid plugin shutting down when mock server starts (Ronald Holshausen, Thu Sep 8 11:54:33 2022 +1000)

There are a couple of useful bug fixes in there I'd assume we want to bring in, much of it is in the plugin space though which isn't relevant for .NET yet.

@adamrodger
Copy link
Contributor

adamrodger commented Dec 26, 2022 via email

@adamrodger
Copy link
Contributor

My hunch turned out to be correct. Logging has degraded quite a bit in later FFI versions, see pact-foundation/pact-reference#243.

I'm closing this one for now until we can get an FFI version with more useful logging.

@adamrodger adamrodger closed this Jan 5, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants