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.
- mq_bridge_basic-1.0.0/.gitattributes +1 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/.github/workflows/app.yml +34 -23
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/.github/workflows/benchmark.yml +2 -1
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/.github/workflows/ci.yml +52 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/.github/workflows/publish-python.yml +11 -4
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/.github/workflows/release.yml +114 -1
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/CHANGELOG.md +846 -2
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/Cargo.lock +34 -8
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/Cargo.toml +42 -21
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/PKG-INFO +1 -1
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/README.md +11 -2
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/THIRD_PARTY_LICENSES.txt +517 -408
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/benches/csv_to_json_bench.rs +2 -2
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/benches/performance_bench.rs +2 -1
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/bindings-common/Cargo.toml +1 -1
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/bindings-common/src/lib.rs +31 -10
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/build.rs +2 -1
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/docs/ARCHITECTURE.md +5 -1
- mq_bridge_basic-1.0.0/docs/CAPABILITIES.md +201 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/docs/CONFIGURATION.md +77 -12
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/docs/DELIVERY.md +46 -13
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/docs/EXTENDING.md +1 -1
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/docs/GRPC.md +5 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/docs/PLUGINS.md +17 -4
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/docs/REFERENCE.md +124 -19
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/docs/THIRD_PARTY_LICENSES.md +9 -1
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/examples/postgres-cdc-to-qdrant/README.md +3 -2
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/include/mq_bridge.h +1 -1
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/llms.txt +4 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/mq-bridge.schema.json +4858 -4037
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/mq_bridge/config.py +24 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/mq_bridge/config.pyi +124 -2
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/python/mq-bridge-py/Cargo.toml +1 -1
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/python/mq-bridge-py/THIRD_PARTY_LICENSES.txt +517 -408
- mq_bridge_basic-1.0.0/rustfmt.toml +3 -0
- mq_bridge_basic-1.0.0/scripts/ci/check_third_party_notices.sh +41 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/canonical_message.rs +44 -1
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/checkpoint.rs +95 -23
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/config_file.rs +56 -18
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/amqp.rs +242 -101
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/aws.rs +273 -73
- mq_bridge_basic-1.0.0/src/endpoints/capabilities.rs +647 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/clickhouse.rs +498 -99
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/dir_spool/mod.rs +245 -50
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/dir_spool/tests.rs +191 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/file/csv_dialect.rs +15 -1
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/file/mod.rs +359 -103
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/file/tests.rs +400 -3
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/grpc/consumer.rs +105 -81
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/grpc/mod.rs +19 -2
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/grpc/server.rs +11 -1
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/grpc/tests.rs +222 -1
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/http/mod.rs +64 -167
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/http/publisher.rs +14 -2
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/http/stream.rs +49 -50
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/http/tests.rs +164 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/http_bulk/consumer.rs +152 -5
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/http_bulk/mod.rs +47 -14
- mq_bridge_basic-1.0.0/src/endpoints/http_bulk/presets.rs +1390 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/http_bulk/publisher.rs +168 -16
- mq_bridge_basic-1.0.0/src/endpoints/http_bulk/query.rs +764 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/ibm_mq.rs +137 -41
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/kafka.rs +308 -37
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/memory/endpoint.rs +34 -2
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/memory/framed.rs +1 -1
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/memory/ipc_unix.rs +179 -59
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/memory/transport.rs +6 -1
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/mod.rs +363 -46
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/mongodb/aggregate.rs +6 -3
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/mongodb/consumer.rs +6 -2
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/mongodb/dedup.rs +25 -3
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/mongodb/mod.rs +66 -4
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/mongodb/publisher.rs +71 -144
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/mongodb/readers.rs +349 -148
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/mongodb/tests.rs +113 -1
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/mqtt.rs +108 -13
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/nats.rs +255 -150
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/object_store.rs +266 -77
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/postgres/VENDORED.md +18 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/postgres/mod.rs +260 -43
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/postgres/pgoutput/values.rs +2 -2
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/postgres/replication.rs +187 -59
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/redis_streams.rs +241 -53
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/sled.rs +116 -28
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/sqlx/aggregate.rs +6 -3
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/sqlx/columns.rs +57 -3
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/sqlx/dedup.rs +26 -3
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/sqlx/mod.rs +431 -185
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/sqlx/tests.rs +233 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/structural/fanout.rs +68 -11
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/structural/reader.rs +46 -6
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/structural/request.rs +113 -17
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/structural/sequence.rs +268 -15
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/structural/stream_buffer.rs +15 -21
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/structural/switch.rs +160 -3
- mq_bridge_basic-1.0.0/src/endpoints/websocket.rs +1589 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/zeromq/codec.rs +20 -1
- mq_bridge_basic-1.0.0/src/endpoints/zeromq/mod.rs +403 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/zeromq/omq.rs +5 -2
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/zeromq/zmq.rs +259 -205
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/errors.rs +29 -3
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/event_store.rs +41 -2
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/lib.rs +23 -7
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/middleware/buffer.rs +63 -5
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/middleware/compression.rs +176 -27
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/middleware/deduplication/memory.rs +17 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/middleware/deduplication.rs +281 -28
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/middleware/deferred_commit.rs +106 -9
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/middleware/dlq.rs +17 -8
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/middleware/encryption.rs +135 -15
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/middleware/filter.rs +109 -17
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/middleware/limiter.rs +11 -5
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/middleware/lookup.rs +81 -10
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/middleware/mod.rs +70 -35
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/middleware/pack.rs +52 -13
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/middleware/retry.rs +100 -2
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/middleware/weak_join.rs +136 -12
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/models/builders.rs +194 -5
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/models/defaults.rs +20 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/models/secrets.rs +336 -7
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/models/serde_support.rs +103 -1
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/models/tests.rs +178 -1
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/models.rs +489 -49
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/plugin/completion.rs +53 -9
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/plugin/conformance.rs +54 -2
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/plugin/crash.rs +47 -7
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/plugin/endpoint.rs +105 -9
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/plugin/middleware.rs +359 -5
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/plugin/sdk.rs +144 -22
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/publisher.rs +10 -5
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/response.rs +9 -2
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/route.rs +679 -101
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/shutdown.rs +2 -3
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/support/config_schema.rs +14 -1
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/support/crypto.rs +2 -2
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/support/interpolation.rs +4 -7
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/support/mod.rs +23 -6
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/support/pack.rs +16 -0
- mq_bridge_basic-1.0.0/src/support/redact.rs +125 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/support/stream_batch.rs +14 -1
- mq_bridge_basic-1.0.0/src/support/tls.rs +196 -0
- mq_bridge_basic-1.0.0/src/support/tls_check.rs +122 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/traits.rs +82 -10
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/amqp.rs +69 -17
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/aws.rs +51 -0
- mq_bridge_basic-1.0.0/tests/integration/contract.rs +320 -0
- mq_bridge_basic-1.0.0/tests/integration/docker-compose/ibm-mq-certs/client.crl +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/docker-compose/ibm-mq-certs/client.kdb +0 -0
- mq_bridge_basic-1.0.0/tests/integration/docker-compose/ibm-mq-certs/client.p12 +0 -0
- mq_bridge_basic-1.0.0/tests/integration/docker-compose/ibm-mq-certs/client.rdb +0 -0
- mq_bridge_basic-1.0.0/tests/integration/docker-compose/ibm-mq-certs/client.sth +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/http_tls.rs +1 -1
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/ibm_mq.rs +103 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/mod.rs +1 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/mongodb.rs +321 -6
- mq_bridge_basic-1.0.0/tests/integration/mongodb_raw.rs +58 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/mqtt.rs +45 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/object_store.rs +8 -5
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/postgres.rs +83 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/postgres_cdc.rs +222 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/redis_streams.rs +136 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/route.rs +23 -13
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/sqlite.rs +0 -5
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration_test.rs +101 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/reference_docs_test.rs +3 -3
- mq_bridge_basic-0.4.20/src/endpoints/http_bulk/presets.rs +0 -826
- mq_bridge_basic-0.4.20/src/endpoints/http_bulk/query.rs +0 -429
- mq_bridge_basic-0.4.20/src/endpoints/websocket.rs +0 -843
- mq_bridge_basic-0.4.20/src/endpoints/zeromq/mod.rs +0 -106
- mq_bridge_basic-0.4.20/src/support/redact.rs +0 -57
- mq_bridge_basic-0.4.20/tests/integration/docker-compose/ibm-mq-certs/client.crl +0 -0
- mq_bridge_basic-0.4.20/tests/integration/docker-compose/ibm-mq-certs/client.p12 +0 -0
- mq_bridge_basic-0.4.20/tests/integration/docker-compose/ibm-mq-certs/client.rdb +0 -0
- mq_bridge_basic-0.4.20/tests/integration/docker-compose/ibm-mq-certs/client.sth +0 -0
- mq_bridge_basic-0.4.20/tests/integration/mongodb_raw.rs +0 -62
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/.cargo/config.toml +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/.coderabbit.yaml +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/.dockerignore +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/.github/dependabot.yml +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/.github/workflows/build-node.yml +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/.github/workflows/conda.yml +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/.github/workflows/docs.yml +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/.github/workflows/examples.yml +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/.github/workflows/ibm-mq.yml +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/.github/workflows/node.yml +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/.github/workflows/publish-node.yml +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/.github/workflows/python.yml +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/.github/workflows/test-matrix.yml +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/.gitignore +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/.justfile +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/AGENTS.md +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/CLAUDE.md +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/CONTRIBUTING.md +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/LICENSE +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/LICENSE-APACHE +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/LICENSE-APACHE.python +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/LICENSE-MIT +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/LICENSE-MIT.python +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/LICENSE.python +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/SECURITY.md +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/benches/middleware_expr_bench.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/benches/pack_bench.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/benches/router_bench.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/benches/zeromq_backends.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/bindings-common/src/logging.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/deny.toml +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/docs/assets/copy-demo.png +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/examples/c-library/publish.c +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/examples/c-library/smoke.c +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/examples/c-plugin/CMakeLists.txt +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/examples/c-plugin/README.md +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/examples/c-plugin/legacy_ledger.c +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/examples/c-plugin/legacy_ledger.h +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/examples/c-plugin/legacy_parser.c +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/examples/c-plugin/legacy_parser.h +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/examples/c-plugin/minimal.c +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/examples/c-plugin/plugin.c +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/examples/ipc_worker_queue.yaml +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/examples/postgres-cdc-to-qdrant/docker-compose.yml +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/examples/postgres-cdc-to-qdrant/init.sql +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/examples/postgres-cdc-to-qdrant/routes.yaml +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/examples/postgres-cdc-to-qdrant/search.sh +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/examples/postgres-cdc-to-qdrant/test.sh +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/examples/transactional-outbox/README.md +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/examples/transactional-outbox/consume.sh +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/examples/transactional-outbox/docker-compose.yml +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/examples/transactional-outbox/init.sql +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/examples/transactional-outbox/routes.yaml +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/examples/transactional-outbox/test.sh +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/include/cbindgen.toml +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/include/mq_bridge_plugin.h +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/include/mq_bridge_plugin_helpers.h +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/mq_bridge/__init__.py +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/mq_bridge/__init__.pyi +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/mq_bridge/plugin_packaging.py +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/mq_bridge/py.typed +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/package-lock.json +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/pyproject.toml +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/python/mq-bridge-py/LICENSE-APACHE.python +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/python/mq-bridge-py/LICENSE-MIT.python +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/python/mq-bridge-py/LICENSE.python +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/python/mq-bridge-py/README.md +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/python/mq-bridge-py/analysis/bench_http_native.py +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/python/mq-bridge-py/example.py +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/python/mq-bridge-py/examples/IBM_MQ.md +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/python/mq-bridge-py/examples/bench_memory.py +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/python/mq-bridge-py/examples/bench_memory.yaml +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/python/mq-bridge-py/examples/consume_pull.py +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/python/mq-bridge-py/examples/dlt_source.py +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/python/mq-bridge-py/examples/ibm-mq-input.py +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/python/mq-bridge-py/examples/json_route.py +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/python/mq-bridge-py/examples/memory.yaml +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/python/mq-bridge-py/examples/raw_route.py +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/python/mq-bridge-py/pyproject-basic.toml +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/python/mq-bridge-py/pyproject-reduced.toml +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/python/mq-bridge-py/scripts/gen_config_types.py +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/python/mq-bridge-py/src/lib.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/python/mq-bridge-py/tests/test_config_types.py +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/python/mq-bridge-py/tests/test_custom_endpoint.py +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/python/mq-bridge-py/tests/test_logging.py +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/python/mq-bridge-py/tests/test_packaging.py +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/python/mq-bridge-py/tests/test_performance_smoke.py +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/python/mq-bridge-py/tests/test_plugin_package.py +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/python/mq-bridge-py/tests/test_public_api.py +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/python/mq-bridge-py/tests/test_routes.py +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/python/mq-bridge-py/tests/test_shutdown.py +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/python/mq-bridge-py/uv.lock +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/scripts/analysis/benches/metadata_bench.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/scripts/analysis/debug_ibm_mq_tls.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/scripts/analysis/http/analyze_xctrace_time_profile.py +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/scripts/analysis/http/http_flamegraph.py +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/scripts/analysis/http/mq_bridge_http_profile.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/scripts/analysis/http/run_http_ladder.sh +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/scripts/ci/format_bench_output.sh +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/scripts/httparena/README.md +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/scripts/httparena/frameworks/mq-bridge-py/Dockerfile +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/scripts/httparena/frameworks/mq-bridge-py/meta.json +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/scripts/httparena/frameworks/mq-bridge-py/server.py +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/scripts/httparena/frameworks/mq-bridge-py/templates/fortunes.html +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/scripts/mqb-agent.py +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/scripts/sync-version.mjs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/scripts/techempower/Python/mq-bridge-py/README.md +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/scripts/techempower/Python/mq-bridge-py/benchmark_config.json +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/scripts/techempower/Python/mq-bridge-py/mq-bridge-py.dockerfile +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/scripts/techempower/Python/mq-bridge-py/server.py +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/scripts/techempower/README.md +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/scripts/techempower/postgres.yml +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/scripts/techempower/seed.sql +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/scripts/techempower/verify.sh +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/scripts/the-benchmarker/README.md +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/scripts/the-benchmarker/python/mq-bridge-py/config.yaml +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/scripts/the-benchmarker/python/mq-bridge-py/pyproject.toml +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/scripts/the-benchmarker/python/mq-bridge-py/server.py +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/command_handler.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/grpc/dynamic.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/grpc/proto/mqbridge/bridge.proto +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/grpc/publisher.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/http_bulk/auth.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/memory/ipc_windows.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/memory/memory_transport.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/memory/mod.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/poll.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/postgres/pgoutput/decoder.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/postgres/pgoutput/messages.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/postgres/pgoutput/mod.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/postgres/pgoutput/registry.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/postgres/state.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/structural/mod.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/structural/null.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/structural/response.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/endpoints/structural/static_endpoint.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/event_handler.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/extensions.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/middleware/aggregate/mod.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/middleware/aggregate/states.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/middleware/aggregate/store.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/middleware/aggregate/tests.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/middleware/aggregate/writer.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/middleware/cookie_jar.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/middleware/delay.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/middleware/id.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/middleware/metrics.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/middleware/otel.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/middleware/random_panic.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/middleware/raw_json.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/middleware/timeout.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/middleware/transform/coerce.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/middleware/transform/compiled.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/middleware/transform/error.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/middleware/transform/mod.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/middleware/transform/path.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/middleware/transform/schema.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/middleware/transform/tests.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/outcomes.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/plugin/discovery.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/plugin/forward.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/plugin/host.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/plugin/message.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/plugin/mod.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/plugin/test_support.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/support/base64_engine.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/support/change_op.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/support/compression.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/support/compression_pool.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/support/connection_registry.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/support/crypto_envelope.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/support/http_status.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/support/lookup_batch.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/support/ndjson.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/support/parallel.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/support/parquet.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/support/plugin_abi.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/support/poll_job.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/support/source_ranges.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/support/sse.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/test_utils.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/src/type_handler.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/README.md +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/armature_integration.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/compat/python/bridge_client.py +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/dedup_store_bench.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/delivery_guarantee_test.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/full_plugin_fallback_test.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/clickhouse.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/config.toml +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/docker-compose/amqp.yml +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/docker-compose/aws.yml +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/docker-compose/clickhouse.yml +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/docker-compose/ibm_mq.yml +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/docker-compose/ibm_mq_tls.yml +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/docker-compose/kafka-tls.yml +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/docker-compose/kafka.yml +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/docker-compose/mariadb.yml +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/docker-compose/mongodb-replica.yml +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/docker-compose/mongodb-tls.yml +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/docker-compose/mongodb.yml +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/docker-compose/mosquitto.conf +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/docker-compose/mosquitto_performance.conf +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/docker-compose/mosquitto_persistence.conf +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/docker-compose/mq_init.mqsc +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/docker-compose/mq_init_tls.mqsc +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/docker-compose/mqtt.yml +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/docker-compose/mqtt_performance.yml +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/docker-compose/mysql.yml +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/docker-compose/nats.yml +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/docker-compose/object_store.yml +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/docker-compose/postgres.yml +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/docker-compose/postgres_cdc.yml +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/docker-compose/redis.yml +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/file.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/grpc.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/grpc_tls.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/http.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/ibm_mq_tls.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/ipc.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/kafka.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/kafka_tls.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/logic_test.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/mariadb.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/memory.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/mongodb_tls.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/mysql.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/nats.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/performance_static.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/scripts/gen_certs.sh +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/tls_helpers.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/websocket.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/integration/zeromq.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/memory_leak_test.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/otel_test.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/plugin_loading_latch_test.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/ref_test.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/sqlite_test.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/tls_example.rs +0 -0
- {mq_bridge_basic-0.4.20 → mq_bridge_basic-1.0.0}/tests/unit_tests.md +0 -0
- {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
|
|
270
|
-
# fixed host ports the test URIs use. `run_docker_tests.sh` does the
|
|
271
|
-
# locally
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
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
|
|
@@ -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: "
|
|
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
|
|
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:
|
|
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
|