v3.2.2026.0802 新增 MessageConverter 双协议消息模型转换助手,支持 Remoting 与 gRPC 消息… #162
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: test | |
| on: | |
| push: | |
| branches: [ '*' ] | |
| pull_request: | |
| branches: [ '*' ] | |
| jobs: | |
| build-test: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup Java | |
| uses: actions/setup-java@v4 | |
| with: | |
| distribution: 'temurin' | |
| java-version: '17' | |
| - name: Setup dotNET | |
| uses: actions/setup-dotnet@v4 | |
| with: | |
| dotnet-version: | | |
| 6.x | |
| 7.x | |
| 8.x | |
| 9.x | |
| 10.x | |
| - name: Download & Extract RocketMQ | |
| run: | | |
| RMQ_VERSION="5.3.1" | |
| URL1="https://archive.apache.org/dist/rocketmq/${RMQ_VERSION}/rocketmq-all-${RMQ_VERSION}-bin-release.zip" | |
| URL2="https://mirrors.tuna.tsinghua.edu.cn/apache/rocketmq/${RMQ_VERSION}/rocketmq-all-${RMQ_VERSION}-bin-release.zip" | |
| curl -fsSL "$URL1" -o /tmp/rocketmq.zip || curl -fsSL "$URL2" -o /tmp/rocketmq.zip | |
| unzip -q /tmp/rocketmq.zip -d /tmp/ | |
| mv /tmp/rocketmq-all-${RMQ_VERSION}-bin-release /tmp/rocketmq | |
| chmod +x /tmp/rocketmq/bin/*.sh | |
| - name: Start RocketMQ | |
| run: | | |
| RMQ_CONF=/tmp/rocketmq/conf/broker_test.conf | |
| echo "brokerClusterName=DefaultCluster" > $RMQ_CONF | |
| echo "brokerName=broker-a" >> $RMQ_CONF | |
| echo "brokerId=0" >> $RMQ_CONF | |
| echo "deleteWhen=04" >> $RMQ_CONF | |
| echo "fileReservedTime=48" >> $RMQ_CONF | |
| echo "brokerRole=ASYNC_MASTER" >> $RMQ_CONF | |
| echo "flushDiskType=ASYNC_FLUSH" >> $RMQ_CONF | |
| echo "autoCreateTopicEnable=true" >> $RMQ_CONF | |
| echo "listenPort=10911" >> $RMQ_CONF | |
| echo "storePathRootDir=/tmp/rocketmq/store" >> $RMQ_CONF | |
| echo "brokerIP1=127.0.0.1" >> $RMQ_CONF | |
| echo "diskMaxUsedSpaceRatio=100" >> $RMQ_CONF | |
| echo "diskSpaceWarningLevelRatio=100" >> $RMQ_CONF | |
| # 限制 JVM 内存(GitHub Actions 仅 7GB) | |
| export MAX_HEAP_SIZE="256m" | |
| export HEAP_NEWSIZE="128m" | |
| echo "=== 启动 NameServer ===" | |
| nohup /tmp/rocketmq/bin/mqnamesrv > /tmp/namesrv.log 2>&1 & | |
| for i in $(seq 1 30); do | |
| if grep -q "boot success" /tmp/namesrv.log 2>/dev/null; then | |
| echo "NameServer 已启动 (PID=$(pgrep -f NamesrvStartup))" | |
| break | |
| fi | |
| sleep 1 | |
| done | |
| if ! grep -q "boot success" /tmp/namesrv.log 2>/dev/null; then | |
| echo "=== NameServer 启动失败 ===" | |
| cat /tmp/namesrv.log | |
| exit 1 | |
| fi | |
| echo "=== 启动 Broker ===" | |
| nohup /tmp/rocketmq/bin/mqbroker -c /tmp/rocketmq/conf/broker_test.conf -n 127.0.0.1:9876 > /tmp/broker.log 2>&1 & | |
| for i in $(seq 1 40); do | |
| if grep -q "boot success" /tmp/broker.log 2>/dev/null; then | |
| echo "Broker 已启动 (PID=$(pgrep -f BrokerStartup))" | |
| break | |
| fi | |
| sleep 1 | |
| done | |
| if ! grep -q "boot success" /tmp/broker.log 2>/dev/null; then | |
| echo "=== Broker 启动失败 ===" | |
| cat /tmp/broker.log | |
| exit 1 | |
| fi | |
| - name: Build | |
| run: | | |
| dotnet build -c Release | |
| - name: Test | |
| env: | |
| ROCKETMQ_NAMESERVER: "127.0.0.1:9876" | |
| run: | | |
| dotnet test XUnitTestRocketMQ/XUnitTest.csproj -c Release --no-build -v n | |
| - name: Stop RocketMQ | |
| if: always() | |
| run: | | |
| pkill -f BrokerStartup 2>/dev/null || true | |
| pkill -f NamesrvStartup 2>/dev/null || true |