This is an automated email from the ASF dual-hosted git repository. jdanek pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/qpid-python.git
The following commit(s) were added to refs/heads/main by this push: new 7e6d8fc QPID-8170: run CI also with qpid-j broker in GitHub Actions, disable failing tests for it (#19) 7e6d8fc is described below commit 7e6d8fc0ad5411525ef9e1a87a3dbad3f239da3a Author: Jiri DanΔk <jda...@redhat.com> AuthorDate: Wed Apr 12 23:09:47 2023 +0200 QPID-8170: run CI also with qpid-j broker in GitHub Actions, disable failing tests for it (#19) --- .github/workflows/initial-config.json | 93 +++++++++++++++++++ .github/workflows/python-package.yml | 162 +++++++++++++++++++++++++++++++++- 2 files changed, 253 insertions(+), 2 deletions(-) diff --git a/.github/workflows/initial-config.json b/.github/workflows/initial-config.json new file mode 100644 index 0000000..6b13bfa --- /dev/null +++ b/.github/workflows/initial-config.json @@ -0,0 +1,93 @@ +{ + "name": "${broker.name}", + "modelVersion": "7.1", + "authenticationproviders" : [ { + "name" : "plain", + "type" : "Plain", + "secureOnlyMechanisms": "", + "users" : [ { + "name" : "guest", + "type" : "managed", + "password" : "guest" + } ] + } ], + "brokerloggers" : [ { + "name" : "console", + "type" : "Console", + "brokerloginclusionrules" : [ { + "name" : "Root", + "type" : "NameAndLevel", + "level" : "WARN", + "loggerName" : "ROOT" + }, { + "name" : "Qpid", + "type" : "NameAndLevel", + "level" : "INFO", + "loggerName" : "org.apache.qpid.*" + }, { + "name" : "Operational", + "type" : "NameAndLevel", + "level" : "INFO", + "loggerName" : "qpid.message.*" + }, { + "name" : "Statistics", + "type" : "NameAndLevel", + "level" : "INFO", + "loggerName" : "qpid.statistics.*" + } ] + }, { + "name" : "memory", + "type" : "Memory", + "brokerloginclusionrules" : [ { + "name" : "Root", + "type" : "NameAndLevel", + "level" : "WARN", + "loggerName" : "ROOT" + }, { + "name" : "Qpid", + "type" : "NameAndLevel", + "level" : "INFO", + "loggerName" : "org.apache.qpid.*" + }, { + "name" : "Operational", + "type" : "NameAndLevel", + "level" : "INFO", + "loggerName" : "qpid.message.*" + }, { + "name" : "Statistics", + "type" : "NameAndLevel", + "level" : "INFO", + "loggerName" : "qpid.statistics.*" + } ] + } ], + "ports" : [ { + "name" : "AMQP", + "port" : "${qpid.amqp_port}", + "authenticationProvider" : "plain", + "virtualhostaliases" : [ { + "name" : "nameAlias", + "type" : "nameAlias" + }, { + "name" : "defaultAlias", + "type" : "defaultAlias" + }, { + "name" : "hostnameAlias", + "type" : "hostnameAlias" + } ] + }, { + "name" : "HTTP", + "port" : "${qpid.http_port}", + "authenticationProvider" : "plain", + "protocols" : [ "HTTP" ] + }], + "virtualhostnodes" : [ { + "name" : "default", + "type" : "JSON", + "defaultVirtualHostNode" : "true", + "virtualHostInitialConfiguration" : "${qpid.initial_config_virtualhost_config}" + }], + "plugins" : [ { + "type" : "MANAGEMENT-HTTP", + "name" : "httpManagement" + } ] +} diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml index 9676c73..4d92bf4 100644 --- a/.github/workflows/python-package.yml +++ b/.github/workflows/python-package.yml @@ -94,7 +94,7 @@ jobs: - name: Start qpidd in docker run: | - docker run --rm -d -p 5672:5672 irinabov/docker-qpid-cpp-broker + docker run --name qpid-cpp --rm -d -p 5672:5672 irinabov/docker-qpid-cpp-broker attempts=0 while ! nc -zv localhost 5672; do @@ -107,6 +107,7 @@ jobs: done - name: Client tests with our bespoke test runner + continue-on-error: ${{ matrix.python-version != '2.7' }} run: | ${{ env.pythonLocation }}/bin/python ./qpid-python-test @@ -114,8 +115,165 @@ jobs: run: | ${{ env.pythonLocation }}/bin/python setup.py install --user - - name: Broker tests with the π runner we β€οΈ + # https://qpid.apache.org/releases/qpid-cpp-1.39.0/cpp-broker/book/AMQP-Compatibility.html + # we need qpid-cpp broker to test amqp0-10 and qpid-j broker to test amqp0-8 and amqp0-9 + + - name: Install test dependencies from pip run: | # qpid-python dependency is the current package, it was installed in the prior step ${{ env.pythonLocation }}/bin/python -m pip install --user qpid-tools qpid-qmf --no-deps + + - name: C++ Broker tests with the π runner we β€οΈ + run: | ${{ env.pythonLocation }}/bin/python qpid-python-test -m qpid_tests + + - name: Kill qpidd + run: docker stop qpid-cpp + + # https://github.com/chrisob/qpid-broker-j-docker + - name: Start qpidj + run: | + docker run --name qpid-j --rm -d \ + -p 5672:5672 -p 8080:8080 \ + -v $PWD/.github/workflows/initial-config.json:/usr/local/etc/initial-config.json \ + chrisob/qpid-broker-j-docker + + # the `while ! nc` from outside of container to exposed port does not work, because docker itself accepts + # lets exec nc inside the container, even though installing the netcat usually takes longer than the router startup + docker exec -u 0:0 qpid-j apt-get update + docker exec -u 0:0 qpid-j apt-get install -y netcat + + attempts=0 + while ! docker exec qpid-j nc -zv localhost 5672; do + attempts=$((attempts+1)) + if [ $attempts -ge 10 ]; then + echo >&2 "qpid-j not reachable, giving up" + exit 1 + fi + sleep 3 + done + + - name: Qpid-β Broker tests with the π runner we β€οΈ (AMQP 0-8) + continue-on-error: ${{ matrix.python-version != '2.7' }} + run: | + ${{ env.pythonLocation }}/bin/python qpid-python-test \ + -m qpid_tests.broker_0_8 \ + --broker amqp://guest/guest@localhost:5672 \ + -i qpid_tests.broker_0_8.basic.BasicTests.test_consume_exclusive \ + -i qpid_tests.broker_0_8.broker.BrokerTests.test_basic_delivery_immediate \ + -i qpid_tests.broker_0_8.exchange.DefaultExchangeRuleTests.testDefaultExchangeExplicitBind \ + -i qpid_tests.broker_0_8.queue.QueueTests.test_declare_exclusive \ + -i qpid_tests.broker_0_8.queue.QueueTests.test_purge \ + -i qpid_tests.broker_0_8.tx.TxTests.test_auto_rollback \ + -i qpid_tests.broker_0_8.tx.TxTests.test_rollback + + - name: Qpid-β Broker tests with the π runner we β€οΈ (AMQP 0-9) + continue-on-error: ${{ matrix.python-version != '2.7' }} + run: | + ${{ env.pythonLocation }}/bin/python qpid-python-test \ + -m qpid_tests.broker_0_9 \ + --broker amqp://guest/guest@localhost:5672 \ + -i qpid_tests.broker_0_9.query.QueryTests.test_binding_query_direct \ + -i qpid_tests.broker_0_9.query.QueryTests.test_binding_query_fanout \ + -i qpid_tests.broker_0_9.query.QueryTests.test_binding_query_header \ + -i qpid_tests.broker_0_9.query.QueryTests.test_binding_query_topic \ + -i qpid_tests.broker_0_9.query.QueryTests.test_exchange_query + + - name: Qpid-β Broker tests with the π runner we β€οΈ (AMQP 0-10) + continue-on-error: ${{ matrix.python-version != '2.7' }} + run: | + ${{ env.pythonLocation }}/bin/python qpid-python-test \ + -m qpid_tests.broker_0_10 \ + --broker amqp://guest/guest@localhost:5672 \ + -i qpid_tests.broker_0_10.dtx.DtxTests.test_forget_xid_on_completion \ + -i qpid_tests.broker_0_10.dtx.DtxTests.test_get_timeout \ + -i qpid_tests.broker_0_10.dtx.DtxTests.test_implicit_end \ + -i qpid_tests.broker_0_10.dtx.DtxTests.test_simple_commit \ + -i qpid_tests.broker_0_10.dtx.DtxTests.test_simple_prepare_commit \ + -i qpid_tests.broker_0_10.dtx.DtxTests.test_simple_prepare_rollback \ + -i qpid_tests.broker_0_10.dtx.DtxTests.test_simple_rollback \ + -i qpid_tests.broker_0_10.exchange.AutodeleteTests.testAutodeleteFanout \ + -i qpid_tests.broker_0_10.exchange.AutodeleteTests.testAutodeleteHeaders \ + -i qpid_tests.broker_0_10.extensions.ExtensionTests.test_policy_negative_count \ + -i qpid_tests.broker_0_10.extensions.ExtensionTests.test_policy_negative_size \ + -i qpid_tests.broker_0_10.extensions.ExtensionTests.test_policy_size_as_float \ + -i qpid_tests.broker_0_10.extensions.ExtensionTests.test_timed_autodelete \ + -i qpid_tests.broker_0_10.management.ManagementTest.test_binding_count_on_queue \ + -i qpid_tests.broker_0_10.management.ManagementTest.test_broker_connectivity_oldAPI \ + -i qpid_tests.broker_0_10.management.ManagementTest.test_connection_close \ + -i qpid_tests.broker_0_10.management.ManagementTest.test_connection_stats \ + -i qpid_tests.broker_0_10.management.ManagementTest.test_get_objects \ + -i qpid_tests.broker_0_10.management.ManagementTest.test_immediate_method \ + -i qpid_tests.broker_0_10.management.ManagementTest.test_methods_async \ + -i qpid_tests.broker_0_10.management.ManagementTest.test_methods_sync \ + -i qpid_tests.broker_0_10.management.ManagementTest.test_move_queued_messages \ + -i qpid_tests.broker_0_10.management.ManagementTest.test_move_queued_messages_empty \ + -i qpid_tests.broker_0_10.management.ManagementTest.test_purge_queue \ + -i qpid_tests.broker_0_10.management.ManagementTest.test_reroute_alternate_exchange \ + -i qpid_tests.broker_0_10.management.ManagementTest.test_reroute_invalid_alt_exchange \ + -i qpid_tests.broker_0_10.management.ManagementTest.test_reroute_priority_queue \ + -i qpid_tests.broker_0_10.management.ManagementTest.test_reroute_queue \ + -i qpid_tests.broker_0_10.management.ManagementTest.test_self_session_id \ + -i qpid_tests.broker_0_10.management.ManagementTest.test_standard_exchanges \ + -i qpid_tests.broker_0_10.management.ManagementTest.test_timestamp_config \ + -i qpid_tests.broker_0_10.message.MessageTests.test_ack \ + -i qpid_tests.broker_0_10.message.MessageTests.test_acquire \ + -i qpid_tests.broker_0_10.message.MessageTests.test_acquire_with_no_accept_and_credit_flow \ + -i qpid_tests.broker_0_10.message.MessageTests.test_credit_flow_bytes \ + -i qpid_tests.broker_0_10.message.MessageTests.test_no_local_awkward \ + -i qpid_tests.broker_0_10.message.MessageTests.test_window_flow_bytes \ + -i qpid_tests.broker_0_10.msg_groups.MultiConsumerMsgGroupTests.test_default_group_id \ + -i qpid_tests.broker_0_10.msg_groups.MultiConsumerMsgGroupTests.test_move_all \ + -i qpid_tests.broker_0_10.msg_groups.MultiConsumerMsgGroupTests.test_move_count \ + -i qpid_tests.broker_0_10.msg_groups.MultiConsumerMsgGroupTests.test_purge_acquired \ + -i qpid_tests.broker_0_10.msg_groups.MultiConsumerMsgGroupTests.test_purge_count \ + -i qpid_tests.broker_0_10.msg_groups.MultiConsumerMsgGroupTests.test_purge_free \ + -i qpid_tests.broker_0_10.msg_groups.MultiConsumerMsgGroupTests.test_query \ + -i qpid_tests.broker_0_10.msg_groups.MultiConsumerMsgGroupTests.test_reroute \ + -i qpid_tests.broker_0_10.new_api.GeneralTests.test_ambiguous_create_1 \ + -i qpid_tests.broker_0_10.new_api.GeneralTests.test_ambiguous_create_2 \ + -i qpid_tests.broker_0_10.new_api.GeneralTests.test_ambiguous_delete_1 \ + -i qpid_tests.broker_0_10.new_api.GeneralTests.test_ambiguous_delete_2 \ + -i qpid_tests.broker_0_10.new_api.GeneralTests.test_node_disambiguation_1 \ + -i qpid_tests.broker_0_10.new_api.GeneralTests.test_node_disambiguation_2 \ + -i qpid_tests.broker_0_10.new_api.GeneralTests.test_qpid_3481_acquired_to_alt_exchange_2_consumers \ + -i qpid_tests.broker_0_10.new_api.SequenceNumberTests.test_create_sequence_queue \ + -i qpid_tests.broker_0_10.new_api.SequenceNumberTests.test_get_sequence_number \ + -i qpid_tests.broker_0_10.new_api.SequenceNumberTests.test_sequence_number_gap \ + -i qpid_tests.broker_0_10.priority.PriorityTests.test_fairshare_1 \ + -i qpid_tests.broker_0_10.priority.PriorityTests.test_fairshare_2 \ + -i qpid_tests.broker_0_10.priority.PriorityTests.test_fairshare_3 \ + -i qpid_tests.broker_0_10.priority.PriorityTests.test_fairshare_with_alias \ + -i qpid_tests.broker_0_10.priority.PriorityTests.test_prioritised_delivery_with_alias \ + -i qpid_tests.broker_0_10.qmf_events.EventTests.test_queue_autodelete_exclusive \ + -i qpid_tests.broker_0_10.qmf_events.EventTests.test_queue_autodelete_shared \ + -i qpid_tests.broker_0_10.qmf_events.EventTests.test_queue_declare \ + -i qpid_tests.broker_0_10.qmf_events.EventTests.test_queue_delete \ + -i qpid_tests.broker_0_10.queue.QueueTests.test_declare_exclusive \ + -i qpid_tests.broker_0_10.queue.QueueTests.test_declare_exclusive_alreadyinuse \ + -i qpid_tests.broker_0_10.stats.BrokerStatsTests.test_abandoned_alt \ + -i qpid_tests.broker_0_10.stats.BrokerStatsTests.test_discards_limit_overflow \ + -i qpid_tests.broker_0_10.stats.BrokerStatsTests.test_discards_lvq_replace \ + -i qpid_tests.broker_0_10.stats.BrokerStatsTests.test_discards_no_route \ + -i qpid_tests.broker_0_10.stats.BrokerStatsTests.test_discards_purge \ + -i qpid_tests.broker_0_10.stats.BrokerStatsTests.test_discards_reject \ + -i qpid_tests.broker_0_10.stats.BrokerStatsTests.test_discards_ring_overflow \ + -i qpid_tests.broker_0_10.stats.BrokerStatsTests.test_discards_ttl \ + -i qpid_tests.broker_0_10.stats.BrokerStatsTests.test_enqueues_dequeues \ + -i qpid_tests.broker_0_10.stats.BrokerStatsTests.test_exchange_stats \ + -i qpid_tests.broker_0_10.stats.BrokerStatsTests.test_message_release \ + -i qpid_tests.broker_0_10.stats.BrokerStatsTests.test_reroutes \ + -i qpid_tests.broker_0_10.stats.BrokerStatsTests.test_transactional_enqueues_dequeues \ + -i qpid_tests.broker_0_10.threshold.ThresholdTests.test_alert_count \ + -i qpid_tests.broker_0_10.threshold.ThresholdTests.test_alert_count_alias \ + -i qpid_tests.broker_0_10.threshold.ThresholdTests.test_alert_on_alert_queue \ + -i qpid_tests.broker_0_10.threshold.ThresholdTests.test_alert_size \ + -i qpid_tests.broker_0_10.threshold.ThresholdTests.test_alert_size_alias \ + -i qpid_tests.broker_0_10.threshold.ThresholdTests.test_hysteresis + + - name: Qpid-β Broker tests with the π runner we β€οΈ (AMQP 1.0, or whatever this actually happens to test) + continue-on-error: ${{ matrix.python-version != '2.7' }} + run: | + ${{ env.pythonLocation }}/bin/python qpid-python-test \ + -m qpid_tests.broker_1_0 \ + --broker amqp://guest/guest@localhost:5672 --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org For additional commands, e-mail: commits-h...@qpid.apache.org