Skip to content

v3.2.2026.0802 新增 MessageConverter 双协议消息模型转换助手,支持 Remoting 与 gRPC 消息… #162

v3.2.2026.0802 新增 MessageConverter 双协议消息模型转换助手,支持 Remoting 与 gRPC 消息…

v3.2.2026.0802 新增 MessageConverter 双协议消息模型转换助手,支持 Remoting 与 gRPC 消息… #162

Workflow file for this run

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