mq-bridge-basic 0.4.20__tar.gz → 1.0.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (419) hide show
  1. mq_bridge_basic-1.0.0/.gitattributes +1 -0
  2. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/.github/workflows/app.yml +34 -23
  3. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/.github/workflows/benchmark.yml +2 -1
  4. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/.github/workflows/ci.yml +52 -0
  5. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/.github/workflows/publish-python.yml +11 -4
  6. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/.github/workflows/release.yml +114 -1
  7. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/CHANGELOG.md +846 -2
  8. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/Cargo.lock +34 -8
  9. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/Cargo.toml +42 -21
  10. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/PKG-INFO +1 -1
  11. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/README.md +11 -2
  12. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/THIRD_PARTY_LICENSES.txt +517 -408
  13. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/benches/csv_to_json_bench.rs +2 -2
  14. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/benches/performance_bench.rs +2 -1
  15. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/bindings-common/Cargo.toml +1 -1
  16. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/bindings-common/src/lib.rs +31 -10
  17. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/build.rs +2 -1
  18. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/docs/ARCHITECTURE.md +5 -1
  19. mq_bridge_basic-1.0.0/docs/CAPABILITIES.md +201 -0
  20. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/docs/CONFIGURATION.md +77 -12
  21. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/docs/DELIVERY.md +46 -13
  22. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/docs/EXTENDING.md +1 -1
  23. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/docs/GRPC.md +5 -0
  24. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/docs/PLUGINS.md +17 -4
  25. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/docs/REFERENCE.md +124 -19
  26. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/docs/THIRD_PARTY_LICENSES.md +9 -1
  27. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/examples/postgres-cdc-to-qdrant/README.md +3 -2
  28. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/include/mq_bridge.h +1 -1
  29. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/llms.txt +4 -0
  30. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/mq-bridge.schema.json +4858 -4037
  31. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/mq_bridge/config.py +24 -0
  32. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/mq_bridge/config.pyi +124 -2
  33. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/python/mq-bridge-py/Cargo.toml +1 -1
  34. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/python/mq-bridge-py/THIRD_PARTY_LICENSES.txt +517 -408
  35. mq_bridge_basic-1.0.0/rustfmt.toml +3 -0
  36. mq_bridge_basic-1.0.0/scripts/ci/check_third_party_notices.sh +41 -0
  37. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/canonical_message.rs +44 -1
  38. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/checkpoint.rs +95 -23
  39. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/config_file.rs +56 -18
  40. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/amqp.rs +242 -101
  41. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/aws.rs +273 -73
  42. mq_bridge_basic-1.0.0/src/endpoints/capabilities.rs +647 -0
  43. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/clickhouse.rs +498 -99
  44. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/dir_spool/mod.rs +245 -50
  45. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/dir_spool/tests.rs +191 -0
  46. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/file/csv_dialect.rs +15 -1
  47. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/file/mod.rs +359 -103
  48. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/file/tests.rs +400 -3
  49. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/grpc/consumer.rs +105 -81
  50. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/grpc/mod.rs +19 -2
  51. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/grpc/server.rs +11 -1
  52. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/grpc/tests.rs +222 -1
  53. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/http/mod.rs +64 -167
  54. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/http/publisher.rs +14 -2
  55. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/http/stream.rs +49 -50
  56. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/http/tests.rs +164 -0
  57. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/http_bulk/consumer.rs +152 -5
  58. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/http_bulk/mod.rs +47 -14
  59. mq_bridge_basic-1.0.0/src/endpoints/http_bulk/presets.rs +1390 -0
  60. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/http_bulk/publisher.rs +168 -16
  61. mq_bridge_basic-1.0.0/src/endpoints/http_bulk/query.rs +764 -0
  62. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/ibm_mq.rs +137 -41
  63. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/kafka.rs +308 -37
  64. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/memory/endpoint.rs +34 -2
  65. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/memory/framed.rs +1 -1
  66. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/memory/ipc_unix.rs +179 -59
  67. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/memory/transport.rs +6 -1
  68. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/mod.rs +363 -46
  69. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/mongodb/aggregate.rs +6 -3
  70. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/mongodb/consumer.rs +6 -2
  71. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/mongodb/dedup.rs +25 -3
  72. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/mongodb/mod.rs +66 -4
  73. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/mongodb/publisher.rs +71 -144
  74. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/mongodb/readers.rs +349 -148
  75. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/mongodb/tests.rs +113 -1
  76. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/mqtt.rs +108 -13
  77. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/nats.rs +255 -150
  78. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/object_store.rs +266 -77
  79. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/postgres/VENDORED.md +18 -0
  80. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/postgres/mod.rs +260 -43
  81. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/postgres/pgoutput/values.rs +2 -2
  82. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/postgres/replication.rs +187 -59
  83. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/redis_streams.rs +241 -53
  84. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/sled.rs +116 -28
  85. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/sqlx/aggregate.rs +6 -3
  86. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/sqlx/columns.rs +57 -3
  87. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/sqlx/dedup.rs +26 -3
  88. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/sqlx/mod.rs +431 -185
  89. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/sqlx/tests.rs +233 -0
  90. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/structural/fanout.rs +68 -11
  91. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/structural/reader.rs +46 -6
  92. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/structural/request.rs +113 -17
  93. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/structural/sequence.rs +268 -15
  94. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/structural/stream_buffer.rs +15 -21
  95. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/structural/switch.rs +160 -3
  96. mq_bridge_basic-1.0.0/src/endpoints/websocket.rs +1589 -0
  97. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/zeromq/codec.rs +20 -1
  98. mq_bridge_basic-1.0.0/src/endpoints/zeromq/mod.rs +403 -0
  99. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/zeromq/omq.rs +5 -2
  100. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/zeromq/zmq.rs +259 -205
  101. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/errors.rs +29 -3
  102. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/event_store.rs +41 -2
  103. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/lib.rs +23 -7
  104. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/middleware/buffer.rs +63 -5
  105. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/middleware/compression.rs +176 -27
  106. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/middleware/deduplication/memory.rs +17 -0
  107. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/middleware/deduplication.rs +281 -28
  108. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/middleware/deferred_commit.rs +106 -9
  109. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/middleware/dlq.rs +17 -8
  110. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/middleware/encryption.rs +135 -15
  111. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/middleware/filter.rs +109 -17
  112. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/middleware/limiter.rs +11 -5
  113. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/middleware/lookup.rs +81 -10
  114. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/middleware/mod.rs +70 -35
  115. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/middleware/pack.rs +52 -13
  116. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/middleware/retry.rs +100 -2
  117. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/middleware/weak_join.rs +136 -12
  118. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/models/builders.rs +194 -5
  119. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/models/defaults.rs +20 -0
  120. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/models/secrets.rs +336 -7
  121. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/models/serde_support.rs +103 -1
  122. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/models/tests.rs +178 -1
  123. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/models.rs +489 -49
  124. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/plugin/completion.rs +53 -9
  125. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/plugin/conformance.rs +54 -2
  126. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/plugin/crash.rs +47 -7
  127. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/plugin/endpoint.rs +105 -9
  128. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/plugin/middleware.rs +359 -5
  129. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/plugin/sdk.rs +144 -22
  130. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/publisher.rs +10 -5
  131. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/response.rs +9 -2
  132. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/route.rs +679 -101
  133. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/shutdown.rs +2 -3
  134. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/support/config_schema.rs +14 -1
  135. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/support/crypto.rs +2 -2
  136. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/support/interpolation.rs +4 -7
  137. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/support/mod.rs +23 -6
  138. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/support/pack.rs +16 -0
  139. mq_bridge_basic-1.0.0/src/support/redact.rs +125 -0
  140. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/support/stream_batch.rs +14 -1
  141. mq_bridge_basic-1.0.0/src/support/tls.rs +196 -0
  142. mq_bridge_basic-1.0.0/src/support/tls_check.rs +122 -0
  143. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/traits.rs +82 -10
  144. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/amqp.rs +69 -17
  145. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/aws.rs +51 -0
  146. mq_bridge_basic-1.0.0/tests/integration/contract.rs +320 -0
  147. mq_bridge_basic-1.0.0/tests/integration/docker-compose/ibm-mq-certs/client.crl +0 -0
  148. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/docker-compose/ibm-mq-certs/client.kdb +0 -0
  149. mq_bridge_basic-1.0.0/tests/integration/docker-compose/ibm-mq-certs/client.p12 +0 -0
  150. mq_bridge_basic-1.0.0/tests/integration/docker-compose/ibm-mq-certs/client.rdb +0 -0
  151. mq_bridge_basic-1.0.0/tests/integration/docker-compose/ibm-mq-certs/client.sth +0 -0
  152. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/http_tls.rs +1 -1
  153. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/ibm_mq.rs +103 -0
  154. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/mod.rs +1 -0
  155. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/mongodb.rs +321 -6
  156. mq_bridge_basic-1.0.0/tests/integration/mongodb_raw.rs +58 -0
  157. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/mqtt.rs +45 -0
  158. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/object_store.rs +8 -5
  159. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/postgres.rs +83 -0
  160. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/postgres_cdc.rs +222 -0
  161. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/redis_streams.rs +136 -0
  162. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/route.rs +23 -13
  163. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/sqlite.rs +0 -5
  164. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration_test.rs +101 -0
  165. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/reference_docs_test.rs +3 -3
  166. mq_bridge_basic-0.4.20/src/endpoints/http_bulk/presets.rs +0 -826
  167. mq_bridge_basic-0.4.20/src/endpoints/http_bulk/query.rs +0 -429
  168. mq_bridge_basic-0.4.20/src/endpoints/websocket.rs +0 -843
  169. mq_bridge_basic-0.4.20/src/endpoints/zeromq/mod.rs +0 -106
  170. mq_bridge_basic-0.4.20/src/support/redact.rs +0 -57
  171. mq_bridge_basic-0.4.20/tests/integration/docker-compose/ibm-mq-certs/client.crl +0 -0
  172. mq_bridge_basic-0.4.20/tests/integration/docker-compose/ibm-mq-certs/client.p12 +0 -0
  173. mq_bridge_basic-0.4.20/tests/integration/docker-compose/ibm-mq-certs/client.rdb +0 -0
  174. mq_bridge_basic-0.4.20/tests/integration/docker-compose/ibm-mq-certs/client.sth +0 -0
  175. mq_bridge_basic-0.4.20/tests/integration/mongodb_raw.rs +0 -62
  176. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/.cargo/config.toml +0 -0
  177. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/.coderabbit.yaml +0 -0
  178. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/.dockerignore +0 -0
  179. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  180. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  181. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  182. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/.github/dependabot.yml +0 -0
  183. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/.github/workflows/build-node.yml +0 -0
  184. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/.github/workflows/conda.yml +0 -0
  185. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/.github/workflows/docs.yml +0 -0
  186. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/.github/workflows/examples.yml +0 -0
  187. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/.github/workflows/ibm-mq.yml +0 -0
  188. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/.github/workflows/node.yml +0 -0
  189. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/.github/workflows/publish-node.yml +0 -0
  190. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/.github/workflows/python.yml +0 -0
  191. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/.github/workflows/test-matrix.yml +0 -0
  192. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/.gitignore +0 -0
  193. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/.justfile +0 -0
  194. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/AGENTS.md +0 -0
  195. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/CLAUDE.md +0 -0
  196. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/CONTRIBUTING.md +0 -0
  197. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/LICENSE +0 -0
  198. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/LICENSE-APACHE +0 -0
  199. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/LICENSE-APACHE.python +0 -0
  200. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/LICENSE-MIT +0 -0
  201. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/LICENSE-MIT.python +0 -0
  202. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/LICENSE.python +0 -0
  203. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/SECURITY.md +0 -0
  204. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/benches/middleware_expr_bench.rs +0 -0
  205. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/benches/pack_bench.rs +0 -0
  206. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/benches/router_bench.rs +0 -0
  207. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/benches/zeromq_backends.rs +0 -0
  208. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/bindings-common/src/logging.rs +0 -0
  209. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/deny.toml +0 -0
  210. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/docs/assets/copy-demo.png +0 -0
  211. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/examples/c-library/publish.c +0 -0
  212. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/examples/c-library/smoke.c +0 -0
  213. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/examples/c-plugin/CMakeLists.txt +0 -0
  214. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/examples/c-plugin/README.md +0 -0
  215. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/examples/c-plugin/legacy_ledger.c +0 -0
  216. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/examples/c-plugin/legacy_ledger.h +0 -0
  217. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/examples/c-plugin/legacy_parser.c +0 -0
  218. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/examples/c-plugin/legacy_parser.h +0 -0
  219. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/examples/c-plugin/minimal.c +0 -0
  220. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/examples/c-plugin/plugin.c +0 -0
  221. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/examples/ipc_worker_queue.yaml +0 -0
  222. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/examples/postgres-cdc-to-qdrant/docker-compose.yml +0 -0
  223. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/examples/postgres-cdc-to-qdrant/init.sql +0 -0
  224. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/examples/postgres-cdc-to-qdrant/routes.yaml +0 -0
  225. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/examples/postgres-cdc-to-qdrant/search.sh +0 -0
  226. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/examples/postgres-cdc-to-qdrant/test.sh +0 -0
  227. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/examples/transactional-outbox/README.md +0 -0
  228. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/examples/transactional-outbox/consume.sh +0 -0
  229. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/examples/transactional-outbox/docker-compose.yml +0 -0
  230. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/examples/transactional-outbox/init.sql +0 -0
  231. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/examples/transactional-outbox/routes.yaml +0 -0
  232. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/examples/transactional-outbox/test.sh +0 -0
  233. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/include/cbindgen.toml +0 -0
  234. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/include/mq_bridge_plugin.h +0 -0
  235. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/include/mq_bridge_plugin_helpers.h +0 -0
  236. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/mq_bridge/__init__.py +0 -0
  237. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/mq_bridge/__init__.pyi +0 -0
  238. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/mq_bridge/plugin_packaging.py +0 -0
  239. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/mq_bridge/py.typed +0 -0
  240. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/package-lock.json +0 -0
  241. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/pyproject.toml +0 -0
  242. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/python/mq-bridge-py/LICENSE-APACHE.python +0 -0
  243. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/python/mq-bridge-py/LICENSE-MIT.python +0 -0
  244. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/python/mq-bridge-py/LICENSE.python +0 -0
  245. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/python/mq-bridge-py/README.md +0 -0
  246. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/python/mq-bridge-py/analysis/bench_http_native.py +0 -0
  247. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/python/mq-bridge-py/example.py +0 -0
  248. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/python/mq-bridge-py/examples/IBM_MQ.md +0 -0
  249. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/python/mq-bridge-py/examples/bench_memory.py +0 -0
  250. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/python/mq-bridge-py/examples/bench_memory.yaml +0 -0
  251. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/python/mq-bridge-py/examples/consume_pull.py +0 -0
  252. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/python/mq-bridge-py/examples/dlt_source.py +0 -0
  253. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/python/mq-bridge-py/examples/ibm-mq-input.py +0 -0
  254. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/python/mq-bridge-py/examples/json_route.py +0 -0
  255. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/python/mq-bridge-py/examples/memory.yaml +0 -0
  256. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/python/mq-bridge-py/examples/raw_route.py +0 -0
  257. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/python/mq-bridge-py/pyproject-basic.toml +0 -0
  258. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/python/mq-bridge-py/pyproject-reduced.toml +0 -0
  259. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/python/mq-bridge-py/scripts/gen_config_types.py +0 -0
  260. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/python/mq-bridge-py/src/lib.rs +0 -0
  261. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/python/mq-bridge-py/tests/test_config_types.py +0 -0
  262. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/python/mq-bridge-py/tests/test_custom_endpoint.py +0 -0
  263. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/python/mq-bridge-py/tests/test_logging.py +0 -0
  264. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/python/mq-bridge-py/tests/test_packaging.py +0 -0
  265. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/python/mq-bridge-py/tests/test_performance_smoke.py +0 -0
  266. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/python/mq-bridge-py/tests/test_plugin_package.py +0 -0
  267. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/python/mq-bridge-py/tests/test_public_api.py +0 -0
  268. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/python/mq-bridge-py/tests/test_routes.py +0 -0
  269. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/python/mq-bridge-py/tests/test_shutdown.py +0 -0
  270. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/python/mq-bridge-py/uv.lock +0 -0
  271. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/scripts/analysis/benches/metadata_bench.rs +0 -0
  272. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/scripts/analysis/debug_ibm_mq_tls.rs +0 -0
  273. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/scripts/analysis/http/analyze_xctrace_time_profile.py +0 -0
  274. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/scripts/analysis/http/http_flamegraph.py +0 -0
  275. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/scripts/analysis/http/mq_bridge_http_profile.rs +0 -0
  276. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/scripts/analysis/http/run_http_ladder.sh +0 -0
  277. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/scripts/ci/format_bench_output.sh +0 -0
  278. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/scripts/httparena/README.md +0 -0
  279. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/scripts/httparena/frameworks/mq-bridge-py/Dockerfile +0 -0
  280. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/scripts/httparena/frameworks/mq-bridge-py/meta.json +0 -0
  281. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/scripts/httparena/frameworks/mq-bridge-py/server.py +0 -0
  282. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/scripts/httparena/frameworks/mq-bridge-py/templates/fortunes.html +0 -0
  283. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/scripts/mqb-agent.py +0 -0
  284. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/scripts/sync-version.mjs +0 -0
  285. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/scripts/techempower/Python/mq-bridge-py/README.md +0 -0
  286. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/scripts/techempower/Python/mq-bridge-py/benchmark_config.json +0 -0
  287. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/scripts/techempower/Python/mq-bridge-py/mq-bridge-py.dockerfile +0 -0
  288. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/scripts/techempower/Python/mq-bridge-py/server.py +0 -0
  289. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/scripts/techempower/README.md +0 -0
  290. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/scripts/techempower/postgres.yml +0 -0
  291. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/scripts/techempower/seed.sql +0 -0
  292. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/scripts/techempower/verify.sh +0 -0
  293. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/scripts/the-benchmarker/README.md +0 -0
  294. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/scripts/the-benchmarker/python/mq-bridge-py/config.yaml +0 -0
  295. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/scripts/the-benchmarker/python/mq-bridge-py/pyproject.toml +0 -0
  296. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/scripts/the-benchmarker/python/mq-bridge-py/server.py +0 -0
  297. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/command_handler.rs +0 -0
  298. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/grpc/dynamic.rs +0 -0
  299. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/grpc/proto/mqbridge/bridge.proto +0 -0
  300. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/grpc/publisher.rs +0 -0
  301. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/http_bulk/auth.rs +0 -0
  302. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/memory/ipc_windows.rs +0 -0
  303. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/memory/memory_transport.rs +0 -0
  304. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/memory/mod.rs +0 -0
  305. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/poll.rs +0 -0
  306. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/postgres/pgoutput/decoder.rs +0 -0
  307. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/postgres/pgoutput/messages.rs +0 -0
  308. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/postgres/pgoutput/mod.rs +0 -0
  309. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/postgres/pgoutput/registry.rs +0 -0
  310. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/postgres/state.rs +0 -0
  311. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/structural/mod.rs +0 -0
  312. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/structural/null.rs +0 -0
  313. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/structural/response.rs +0 -0
  314. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/structural/static_endpoint.rs +0 -0
  315. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/event_handler.rs +0 -0
  316. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/extensions.rs +0 -0
  317. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/middleware/aggregate/mod.rs +0 -0
  318. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/middleware/aggregate/states.rs +0 -0
  319. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/middleware/aggregate/store.rs +0 -0
  320. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/middleware/aggregate/tests.rs +0 -0
  321. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/middleware/aggregate/writer.rs +0 -0
  322. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/middleware/cookie_jar.rs +0 -0
  323. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/middleware/delay.rs +0 -0
  324. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/middleware/id.rs +0 -0
  325. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/middleware/metrics.rs +0 -0
  326. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/middleware/otel.rs +0 -0
  327. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/middleware/random_panic.rs +0 -0
  328. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/middleware/raw_json.rs +0 -0
  329. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/middleware/timeout.rs +0 -0
  330. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/middleware/transform/coerce.rs +0 -0
  331. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/middleware/transform/compiled.rs +0 -0
  332. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/middleware/transform/error.rs +0 -0
  333. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/middleware/transform/mod.rs +0 -0
  334. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/middleware/transform/path.rs +0 -0
  335. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/middleware/transform/schema.rs +0 -0
  336. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/middleware/transform/tests.rs +0 -0
  337. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/outcomes.rs +0 -0
  338. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/plugin/discovery.rs +0 -0
  339. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/plugin/forward.rs +0 -0
  340. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/plugin/host.rs +0 -0
  341. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/plugin/message.rs +0 -0
  342. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/plugin/mod.rs +0 -0
  343. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/plugin/test_support.rs +0 -0
  344. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/support/base64_engine.rs +0 -0
  345. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/support/change_op.rs +0 -0
  346. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/support/compression.rs +0 -0
  347. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/support/compression_pool.rs +0 -0
  348. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/support/connection_registry.rs +0 -0
  349. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/support/crypto_envelope.rs +0 -0
  350. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/support/http_status.rs +0 -0
  351. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/support/lookup_batch.rs +0 -0
  352. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/support/ndjson.rs +0 -0
  353. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/support/parallel.rs +0 -0
  354. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/support/parquet.rs +0 -0
  355. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/support/plugin_abi.rs +0 -0
  356. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/support/poll_job.rs +0 -0
  357. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/support/source_ranges.rs +0 -0
  358. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/support/sse.rs +0 -0
  359. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/test_utils.rs +0 -0
  360. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/type_handler.rs +0 -0
  361. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/README.md +0 -0
  362. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/armature_integration.rs +0 -0
  363. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/compat/python/bridge_client.py +0 -0
  364. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/dedup_store_bench.rs +0 -0
  365. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/delivery_guarantee_test.rs +0 -0
  366. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/full_plugin_fallback_test.rs +0 -0
  367. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/clickhouse.rs +0 -0
  368. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/config.toml +0 -0
  369. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/docker-compose/amqp.yml +0 -0
  370. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/docker-compose/aws.yml +0 -0
  371. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/docker-compose/clickhouse.yml +0 -0
  372. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/docker-compose/ibm_mq.yml +0 -0
  373. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/docker-compose/ibm_mq_tls.yml +0 -0
  374. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/docker-compose/kafka-tls.yml +0 -0
  375. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/docker-compose/kafka.yml +0 -0
  376. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/docker-compose/mariadb.yml +0 -0
  377. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/docker-compose/mongodb-replica.yml +0 -0
  378. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/docker-compose/mongodb-tls.yml +0 -0
  379. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/docker-compose/mongodb.yml +0 -0
  380. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/docker-compose/mosquitto.conf +0 -0
  381. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/docker-compose/mosquitto_performance.conf +0 -0
  382. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/docker-compose/mosquitto_persistence.conf +0 -0
  383. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/docker-compose/mq_init.mqsc +0 -0
  384. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/docker-compose/mq_init_tls.mqsc +0 -0
  385. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/docker-compose/mqtt.yml +0 -0
  386. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/docker-compose/mqtt_performance.yml +0 -0
  387. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/docker-compose/mysql.yml +0 -0
  388. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/docker-compose/nats.yml +0 -0
  389. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/docker-compose/object_store.yml +0 -0
  390. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/docker-compose/postgres.yml +0 -0
  391. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/docker-compose/postgres_cdc.yml +0 -0
  392. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/docker-compose/redis.yml +0 -0
  393. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/file.rs +0 -0
  394. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/grpc.rs +0 -0
  395. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/grpc_tls.rs +0 -0
  396. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/http.rs +0 -0
  397. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/ibm_mq_tls.rs +0 -0
  398. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/ipc.rs +0 -0
  399. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/kafka.rs +0 -0
  400. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/kafka_tls.rs +0 -0
  401. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/logic_test.rs +0 -0
  402. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/mariadb.rs +0 -0
  403. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/memory.rs +0 -0
  404. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/mongodb_tls.rs +0 -0
  405. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/mysql.rs +0 -0
  406. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/nats.rs +0 -0
  407. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/performance_static.rs +0 -0
  408. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/scripts/gen_certs.sh +0 -0
  409. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/tls_helpers.rs +0 -0
  410. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/websocket.rs +0 -0
  411. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/zeromq.rs +0 -0
  412. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/memory_leak_test.rs +0 -0
  413. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/otel_test.rs +0 -0
  414. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/plugin_loading_latch_test.rs +0 -0
  415. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/ref_test.rs +0 -0
  416. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/sqlite_test.rs +0 -0
  417. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/tls_example.rs +0 -0
  418. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/unit_tests.md +0 -0
  419. {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/websocket_test.rs +0 -0
@@ -0,0 +1 @@
1
+ * text=auto eol=lf
@@ -266,18 +266,14 @@ jobs:
266
266
  path: docker-suite
267
267
  retention-days: 1
268
268
 
269
- # One backend per runner, so the servers never compete for memory or for the
270
- # fixed host ports the test URIs use. `run_docker_tests.sh` does the same loop
271
- # locally, one at a time.
269
+ # One backend at a time on one runner, so the servers never compete for memory
270
+ # or for the fixed host ports the test URIs use. `run_docker_tests.sh` does the
271
+ # same loop locally. Nine runners for ~20 s of tests each held slots the rest
272
+ # of the workflows were queuing for.
272
273
  docker:
273
- name: App docker (${{ matrix.backend }})
274
+ name: App docker
274
275
  runs-on: ubuntu-latest
275
276
  needs: docker-build
276
- strategy:
277
- fail-fast: false
278
- matrix:
279
- backend:
280
- [postgres, mysql, mariadb, kafka, nats, mongodb, redis, amqp, mqtt]
281
277
  steps:
282
278
  - uses: actions/checkout@v7
283
279
 
@@ -303,24 +299,39 @@ jobs:
303
299
 
304
300
  # The engine's own integration stacks, so there is one definition per
305
301
  # service rather than a second copy that can drift.
306
- - name: Start ${{ matrix.backend }}
307
- run: docker compose -f tests/integration/docker-compose/${{ matrix.backend }}.yml up -d --wait --wait-timeout 300
308
-
302
+ #
309
303
  # The backend name filters the test names as well as MQB_TEST_BACKEND:
310
304
  # `backend!` skips by returning, so without the name filter every excluded
311
305
  # test still reports `ok` and a broken service would look green.
312
- - name: Run ${{ matrix.backend }} tests
306
+ #
307
+ # A failing backend does not stop the loop; the step fails at the end and
308
+ # names every backend that failed.
309
+ - name: Run the backends one after another
310
+ timeout-minutes: 45
313
311
  # `shell: bash` for pipefail: the default shell would take `tee`'s exit
314
312
  # status and report a failing test run as a pass.
315
313
  shell: bash
316
- env:
317
- MQB_TEST_BACKEND: ${{ matrix.backend }}
318
314
  run: |
319
- ./docker-suite/test-binary \
320
- --ignored --test-threads=1 ${{ matrix.backend }} 2>&1 | tee result.log
321
- grep -qE 'test result: ok\. [1-9]' result.log \
322
- || { echo "no ${{ matrix.backend }} tests ran"; exit 1; }
323
-
324
- - name: Service logs
325
- if: failure()
326
- run: docker compose -f tests/integration/docker-compose/${{ matrix.backend }}.yml logs --tail 200
315
+ failed=()
316
+ for backend in postgres mysql mariadb kafka nats mongodb redis amqp mqtt; do
317
+ compose="tests/integration/docker-compose/$backend.yml"
318
+ echo "::group::$backend"
319
+ ok=1
320
+ docker compose -f "$compose" up -d --wait --wait-timeout 300 || ok=0
321
+ if [ "$ok" = 1 ]; then
322
+ MQB_TEST_BACKEND="$backend" ./docker-suite/test-binary \
323
+ --ignored --test-threads=1 "$backend" 2>&1 | tee result.log || ok=0
324
+ grep -qE 'test result: ok\. [1-9]' result.log \
325
+ || { echo "no $backend tests ran"; ok=0; }
326
+ fi
327
+ if [ "$ok" = 0 ]; then
328
+ failed+=("$backend")
329
+ docker compose -f "$compose" logs --tail 200 || true
330
+ fi
331
+ docker compose -f "$compose" down -v --remove-orphans || true
332
+ echo "::endgroup::"
333
+ done
334
+ if [ "${#failed[@]}" -gt 0 ]; then
335
+ echo "::error::failed backends: ${failed[*]}"
336
+ exit 1
337
+ fi
@@ -1,8 +1,9 @@
1
1
  name: Benchmark
2
2
 
3
3
  on:
4
+ # Not on `dev`: benchmarks are no gate, and the nightly run records the trend.
4
5
  push:
5
- branches: [main, dev]
6
+ branches: [main]
6
7
  schedule:
7
8
  # Nightly full benchmark run (04:00 UTC)
8
9
  - cron: '0 4 * * *'
@@ -86,6 +86,32 @@ jobs:
86
86
  exit 1
87
87
  fi
88
88
 
89
+ # The Rust versions the README promises, with the checked-in lock.
90
+ msrv:
91
+ name: MSRV (${{ matrix.toolchain }})
92
+ runs-on: ubuntu-latest
93
+ strategy:
94
+ fail-fast: false
95
+ matrix:
96
+ include:
97
+ - toolchain: "1.89.0"
98
+ features: "file,dir-spool,middleware,yaml,plugin,mongodb,kafka,amqp,nats,mqtt,http,zeromq,redis-streams,sled,grpc,clickhouse,http-bulk,websocket,object-store,parquet,avro,rustls-aws-lc,ibm-mq"
99
+ - toolchain: "1.94.1"
100
+ features: "full"
101
+ steps:
102
+ - uses: actions/checkout@v7
103
+
104
+ - name: Install Rust toolchain
105
+ uses: dtolnay/rust-toolchain@29eef336d9b2848a0b548edc03f92a220660cdb8 # stable
106
+ with:
107
+ toolchain: ${{ matrix.toolchain }}
108
+
109
+ - name: Cache cargo build
110
+ uses: Swatinem/rust-cache@v2
111
+
112
+ - name: Check with the minimum Rust version
113
+ run: cargo check --lib --locked --features ${{ matrix.features }}
114
+
89
115
  # Unit tests
90
116
  test:
91
117
  name: Test
@@ -283,6 +309,27 @@ jobs:
283
309
  - name: Build documentation (deny warnings)
284
310
  run: RUSTDOCFLAGS="-D warnings" cargo doc --features lint-all --no-deps
285
311
 
312
+ # Public Rust API against the latest release on crates.io: a change that breaks a
313
+ # downstream crate needs a major version. A new config field or enum variant
314
+ # needs a minor one; Cargo.toml sets that under `cargo-semver-checks.lints`.
315
+ semver:
316
+ name: SemVer
317
+ runs-on: ubuntu-latest
318
+ steps:
319
+ - uses: actions/checkout@v7
320
+
321
+ - name: Install Rust toolchain
322
+ uses: dtolnay/rust-toolchain@29eef336d9b2848a0b548edc03f92a220660cdb8 # stable
323
+
324
+ # Not a gate until it has passed once; see production-review-decisions-4.md, 4-7.
325
+ - name: Check semver
326
+ continue-on-error: true
327
+ uses: obi1kenobi/cargo-semver-checks-action@v2
328
+ with:
329
+ package: mq-bridge
330
+ feature-group: only-explicit-features
331
+ features: full,plugin-sdk
332
+
286
333
  # Supply chain: licenses, banned crates, source registries, RustSec advisories
287
334
  supply-chain:
288
335
  name: Supply Chain
@@ -301,6 +348,11 @@ jobs:
301
348
  with:
302
349
  command: check bans licenses sources
303
350
 
351
+ # cargo-deny approves licenses; this checks the shipped notice files name
352
+ # every crate that ends up in a release artifact.
353
+ - name: Third-party notices list every shipped crate
354
+ run: scripts/ci/check_third_party_notices.sh
355
+
304
356
  # Informational: every current advisory is in a transitive dependency we
305
357
  # cannot upgrade ourselves, and RustSec updates daily. SECURITY.md records
306
358
  # the per-feature reachability analysis; deny.toml carries the reasoning.
@@ -24,11 +24,12 @@ on:
24
24
  workflow_dispatch:
25
25
  inputs:
26
26
  target:
27
- description: "Where to publish the packages"
27
+ description: "Where to publish the packages (build-only uploads nothing)"
28
28
  required: true
29
- default: "testpypi"
29
+ default: "build-only"
30
30
  type: choice
31
31
  options:
32
+ - build-only
32
33
  - testpypi
33
34
  - pypi
34
35
 
@@ -200,8 +201,14 @@ jobs:
200
201
  # cmake. manylinux containers already ship it; the musllinux (Alpine)
201
202
  # container does not, so install it there. Guarded so it's a no-op
202
203
  # wherever cmake is already present. Only runs for linux builds.
204
+ # full's `kafka-ssl` builds OpenSSL, whose Configure needs perl modules
205
+ # (IPC::Cmd, ...) the manylinux image leaves out.
203
206
  before-script-linux: |
204
- command -v cmake >/dev/null 2>&1 || apk add --no-cache cmake gcc g++ make musl-dev perl
207
+ if command -v apk >/dev/null 2>&1; then
208
+ command -v cmake >/dev/null 2>&1 || apk add --no-cache cmake gcc g++ make musl-dev perl
209
+ elif command -v yum >/dev/null 2>&1; then
210
+ yum install -y perl-core || yum install -y perl perl-IPC-Cmd
211
+ fi
205
212
 
206
213
  - name: Upload wheels
207
214
  uses: actions/upload-artifact@v7
@@ -256,7 +263,7 @@ jobs:
256
263
  # Direct runs only. Publishing from here under release.yml authenticates
257
264
  # (PyPI matches the reusable workflow) but the attestation is signed with the
258
265
  # *caller's* identity, which PyPI then rejects. release.yml uploads instead.
259
- if: ${{ !inputs.skip_publish }}
266
+ if: ${{ !inputs.skip_publish && inputs.target != 'build-only' }}
260
267
  runs-on: ubuntu-latest
261
268
  needs: [build-wheels, build-sdists]
262
269
  permissions:
@@ -451,6 +451,10 @@ jobs:
451
451
  name: Build CLI asset for ${{ matrix.target }}
452
452
  needs: [metadata, release]
453
453
  runs-on: ${{ matrix.os }}
454
+ # Asset builds must not fail on warnings: MSVC emits LNK4099 for the vendored
455
+ # OpenSSL objects. Presetting this stops setup-rust-toolchain from denying them.
456
+ env:
457
+ CARGO_BUILD_WARNINGS: warn
454
458
  permissions:
455
459
  contents: write
456
460
  strategy:
@@ -496,9 +500,13 @@ jobs:
496
500
  if: runner.os == 'Linux'
497
501
  run: sudo apt-get update && sudo apt-get install -y libssl-dev pkg-config zlib1g-dev cmake libcurl4-openssl-dev protobuf-compiler
498
502
 
503
+ # `kafka-ssl` builds OpenSSL with perl. The bash build step would pick Git's
504
+ # perl, which lacks the modules; pin the Strawberry perl this shell resolves.
499
505
  - name: Install dependencies (Windows)
500
506
  if: runner.os == 'Windows'
501
- run: choco install protoc --no-progress -y
507
+ run: |
508
+ choco install protoc --no-progress -y
509
+ "OPENSSL_SRC_PERL=$((Get-Command perl).Source)" >> $env:GITHUB_ENV
502
510
 
503
511
  - name: Install dependencies (macOS)
504
512
  if: runner.os == 'macOS'
@@ -541,6 +549,110 @@ jobs:
541
549
  tag_name: ${{ needs.metadata.outputs.release_tag }}
542
550
  files: ${{ env.ASSET_PATH }}
543
551
 
552
+ # The C library has no ABI stability, so each archive carries the header that
553
+ # matches its library. Shared library only: a `full` static archive is huge and
554
+ # needs a per-target native link line.
555
+ build-c-library:
556
+ name: Build C library asset for ${{ matrix.target }}
557
+ needs: [metadata, release]
558
+ runs-on: ${{ matrix.os }}
559
+ # Same LNK4099 reason as build-release.
560
+ env:
561
+ CARGO_BUILD_WARNINGS: warn
562
+ permissions:
563
+ contents: write
564
+ strategy:
565
+ fail-fast: false
566
+ matrix:
567
+ include:
568
+ # Same runners as the CLI assets, so both share one glibc floor.
569
+ - os: ubuntu-22.04
570
+ target: x86_64-unknown-linux-gnu
571
+ - os: macos-latest
572
+ target: aarch64-apple-darwin
573
+ - os: windows-2022
574
+ target: x86_64-pc-windows-msvc
575
+ steps:
576
+ - name: Checkout repository
577
+ uses: actions/checkout@v7
578
+ with:
579
+ ref: ${{ inputs.tag_name || github.ref }}
580
+
581
+ - name: Install Rust toolchain
582
+ uses: actions-rust-lang/setup-rust-toolchain@v2
583
+ with:
584
+ toolchain: stable
585
+ target: ${{ matrix.target }}
586
+
587
+ - name: Install dependencies (Linux)
588
+ if: runner.os == 'Linux'
589
+ run: sudo apt-get update && sudo apt-get install -y libssl-dev pkg-config zlib1g-dev cmake libcurl4-openssl-dev protobuf-compiler
590
+
591
+ # `kafka-ssl` builds OpenSSL with perl. The bash build step would pick Git's
592
+ # perl, which lacks the modules; pin the Strawberry perl this shell resolves.
593
+ - name: Install dependencies (Windows)
594
+ if: runner.os == 'Windows'
595
+ run: |
596
+ choco install protoc --no-progress -y
597
+ "OPENSSL_SRC_PERL=$((Get-Command perl).Source)" >> $env:GITHUB_ENV
598
+
599
+ - name: Install dependencies (macOS)
600
+ if: runner.os == 'macOS'
601
+ run: brew install cmake pkg-config openssl@3 protobuf
602
+
603
+ # `cargo rustc --crate-type` skips the static library the manifest also declares.
604
+ - name: Build shared library (full)
605
+ shell: bash
606
+ run: cargo rustc -p mq-bridge-c --release --target ${{ matrix.target }} --crate-type cdylib
607
+
608
+ - name: Package artifacts
609
+ shell: bash
610
+ run: |
611
+ ASSET_NAME="mq-bridge-c-${{ matrix.target }}"
612
+ OUT="target/${{ matrix.target }}/release"
613
+ mkdir -p staging/lib staging/include
614
+ case "$RUNNER_OS" in
615
+ Windows) cp "$OUT/mq_bridge.dll" "$OUT/mq_bridge.dll.lib" staging/lib/ ;;
616
+ macOS)
617
+ cp "$OUT/libmq_bridge.dylib" staging/lib/
618
+ # Pin the install name so programs find the library through their rpath.
619
+ install_name_tool -id @rpath/libmq_bridge.dylib staging/lib/libmq_bridge.dylib
620
+ codesign --force --sign - staging/lib/libmq_bridge.dylib
621
+ ;;
622
+ *) cp "$OUT/libmq_bridge.so" staging/lib/ ;;
623
+ esac
624
+ cp include/*.h staging/include/
625
+ cp LICENSE LICENSE-MIT LICENSE-APACHE staging/
626
+ cp c/mq-bridge-c/README.md staging/README.md
627
+ cp c/mq-bridge-c/THIRD_PARTY_LICENSES.txt staging/
628
+ if [ "$RUNNER_OS" == "Windows" ]; then
629
+ 7z a "${ASSET_NAME}.zip" ./staging/*
630
+ echo "ASSET_PATH=${ASSET_NAME}.zip" >> "$GITHUB_ENV"
631
+ else
632
+ tar -czf "${ASSET_NAME}.tar.gz" -C staging .
633
+ echo "ASSET_PATH=${ASSET_NAME}.tar.gz" >> "$GITHUB_ENV"
634
+ fi
635
+
636
+ # CI only links the `--no-default-features` build; this is the one place a C
637
+ # program meets the `full` library, and it uses the archive as a user would.
638
+ - name: Smoke test the archive
639
+ if: runner.os != 'Windows'
640
+ shell: bash
641
+ run: |
642
+ mkdir unpacked
643
+ tar -xzf "$ASSET_PATH" -C unpacked
644
+ cc -std=c11 -I unpacked/include examples/c-library/smoke.c \
645
+ -L unpacked/lib -lmq_bridge "-Wl,-rpath,$PWD/unpacked/lib" -o smoke
646
+ if [ "$RUNNER_OS" == "macOS" ]; then otool -L unpacked/lib/libmq_bridge.dylib; else ldd unpacked/lib/libmq_bridge.so; fi
647
+ ./smoke "$RUNNER_TEMP" | tee smoke.log
648
+ grep -q "smoke test passed" smoke.log
649
+
650
+ - name: Upload Release Asset
651
+ uses: softprops/action-gh-release@efb35369e0ad2afab669f228072c1b0d510eae64 # v3.0.3
652
+ with:
653
+ tag_name: ${{ needs.metadata.outputs.release_tag }}
654
+ files: ${{ env.ASSET_PATH }}
655
+
544
656
  build-linux-amd64:
545
657
  name: Build docker linux/amd64
546
658
  needs: [metadata, preflight, test, app-checks, package-dry-run]
@@ -833,6 +945,7 @@ jobs:
833
945
  needs:
834
946
  - metadata
835
947
  - build-release
948
+ - build-c-library
836
949
  - build-linux-arm64-asset
837
950
  - build-tauri-release
838
951
  - publish-manifest