-
Notifications
You must be signed in to change notification settings - Fork 10
131 lines (126 loc) · 6.02 KB
/
rust.yml
File metadata and controls
131 lines (126 loc) · 6.02 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
name: CI
on:
push:
branches: ["main", "dev_icy"]
pull_request:
branches: ["main"]
env:
CARGO_TERM_COLOR: always
redis: localhost:56810
redis_with_slave: localhost:56812
counterservice: localhost:9302
mc: localhost:9301
phantom: localhost:9303
mysql: localhost:3306
vector: localhost:3308
kv2vector: localhost:3309
mq: localhost:56815
min_key: 1
max_key: 10000
socks_dir: /home/runner/work/breeze/socks
RUSTFLAGS: "-D warnings"
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Mysql start and init
run: |
docker run --rm --name breeze_ci_mysql4623 -p 4623:3306 -d parabala/mysqlci_with_schema:v0.0.2
docker run --rm --name breeze_ci_mysql4624 -p 4624:3306 -d parabala/mysqlci_with_schema:v0.0.2
- name: Prepare Vintage_MC_Redis
run: docker run -d -v /home/runner/work/breeze:/data1/resource/breeze --net="host" --name breeze_github_ci hustfisher/breeze:githubci116
- uses: actions/checkout@v3
- name: Install stable toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: stable
override: true
- name: Build
run: cargo build
- name: Check Vintage
run: |
docker ps -a
curl http://127.0.0.1:8080/config/cloud/redis/testbreeze/redismeshtest
curl http://127.0.0.1:8080/config/v1/cache.service.testbreeze.pool.yf/all
sleep 1
curl http://127.0.0.1:8080/config/cloud/counterservice/testbreeze/meshtest
curl http://127.0.0.1:8080/config/cloud/phantom/testbreeze/phantomtest
sleep 1
curl http://127.0.0.1:8080/config/cloud/mq/testbreeze/mcqmeshtest_1
curl http://127.0.0.1:8080/config/cloud/kv/testbreeze/kvmeshtest
sleep 1
curl http://127.0.0.1:8080/config/cloud/vector/testbreeze/vectortest
curl http://127.0.0.1:8080/config/cloud/vector/testbreeze/kv2vector
- name: Create Socks
run: |
#ps -aux|grep breeze
mkdir -p /home/runner/work/breeze/logs
mkdir -p /home/runner/work/breeze/snapshot
mkdir -p /home/runner/work/breeze/socks
touch /home/runner/work/breeze/socks/127.0.0.1:8080+config+cloud+redis+testbreeze+redismeshtest@redis:56810@rs
touch /home/runner/work/breeze/socks/127.0.0.1:8080+config+cloud+redis+testbreeze+redismeshtestm@redis:56812@rs
touch /home/runner/work/breeze/socks/127.0.0.1:8080+config+v1+cache.service.testbreeze.pool.yf+all:meshtest@mc:9301@cs
touch /home/runner/work/breeze/socks/127.0.0.1:8080+config+cloud+counterservice+testbreeze+meshtest@redis:9302@rs
touch /home/runner/work/breeze/socks/127.0.0.1:8080+config+cloud+phantom+testbreeze+phantomtest@phantom:9303@pt
touch /home/runner/work/breeze/socks/127.0.0.1:8080+config+cloud+kv+testbreeze+kvmeshtest@kv:3306@kv
touch /home/runner/work/breeze/socks/127.0.0.1:8080+config+cloud+vector+testbreeze+vectortest@vector:3308@vector
touch /home/runner/work/breeze/socks/127.0.0.1:8080+config+cloud+vector+testbreeze+kv2vector@vector:3309@vector
touch /home/runner/work/breeze/socks/127.0.0.1:8080+config+cloud+mq+testbreeze+mcqmeshtest_1@msgque:56815@mq
ls -all /home/runner/work/breeze/snapshot
ls -all /home/runner/work/breeze/socks
ls -all /home/runner/work/breeze/logs
ls -all ./target/debug/agent
- name: Run
run: nohup ./target/debug/agent --discovery vintage://127.0.0.1:8080 --snapshot /home/runner/work/breeze/snapshot --service-path /home/runner/work/breeze/socks --log-dir /home/runner/work/breeze/logs --port 9984 --metrics-probe 8.8.8.8:53 --log-level info --idc-path 127.0.0.1:8080/3/config/breeze/idc_region --key-path=.github/workflows/private_key.pem > /home/runner/work/breeze/logs/log.file 2>&1 &
- name: Check Status
run: |
sleep 6s
netstat -nat|grep LISTEN
#ps -aux|grep breeze
ls -all /home/runner/work/breeze/snapshot
ls -all /home/runner/work/breeze/socks
ls -all /home/runner/work/breeze/logs
tail -10 /home/runner/work/breeze/logs/log.file
tail -10 /home/runner/work/breeze/logs/breeze.log
#cat /home/runner/work/breeze/logs/log.file
#cat /home/runner/work/breeze/logs/breeze.log
#- name: Run cargo-tarpaulin
# uses: actions-rs/tarpaulin@v0.1
# with:
# version: "0.22.0"
# args: "--features=github_workflow --features=console-api -- --test-threads 1"
- name: Run unit tests
run: cargo test -p tests --features github_workflow -p endpoint
- name: wait until 2 mins
run: |
port_list=(56810 56812 9302 9301 9303 3306 3308 3309 56815) # 端口列表
start=$(date +%s) # 获取当前时间戳
while true; do
now=$(date +%s) # 获取当前时间戳
diff=$((now - start)) # 计算时间差
if [ $diff -lt 120 ]; then # 如果时间差小于120秒
all_listened=true
for port in "${port_list[@]}"; do
if ! netstat -an | grep -q ":$port.*LISTEN"; then
echo "Port $port is not being listened to. Sleeping for 5 seconds..."
all_listened=false
sleep 5 # 等待5秒
break
fi
done
if $all_listened; then
echo "All ports are being listened to. Exiting loop."
break # 退出循环
fi
else
echo "Two minutes have passed. Exiting loop."
break # 退出循环
fi
done
- name: Run ci tests
run: cargo test -p tests_integration --features github_workflow
- name: Output log
if: failure()
run: |
cat /home/runner/work/breeze/logs/log.file
cat /home/runner/work/breeze/logs/breeze.log