Skip to content

Commit c9ef3d1

Browse files
committed
add plantir formatter
1 parent 672b7f1 commit c9ef3d1

203 files changed

Lines changed: 4006 additions & 3729 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/java-ci.yaml

Lines changed: 390 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,390 @@
1+
name: Java CI
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
- 2.x
8+
pull_request:
9+
10+
permissions:
11+
contents: read
12+
13+
concurrency:
14+
group: java-ci-${{ github.ref }}
15+
cancel-in-progress: true
16+
17+
jobs:
18+
build:
19+
runs-on: ubuntu-latest
20+
env:
21+
REDIS_RUNNING: "true"
22+
USER_NAME: rqueue
23+
TERM: dumb
24+
JVM_OPTS: -Xmx8g
25+
steps:
26+
- name: Checkout
27+
uses: actions/checkout@v4
28+
29+
- name: Set up Java 21
30+
uses: actions/setup-java@v4
31+
with:
32+
distribution: temurin
33+
java-version: "21"
34+
cache: gradle
35+
36+
- name: Set up Gradle
37+
uses: gradle/actions/setup-gradle@v4
38+
39+
- name: Resolve dependencies
40+
run: ./gradlew dependencies
41+
42+
- name: Compile main sources
43+
run: ./gradlew compileJava
44+
45+
- name: Compile test sources
46+
run: ./gradlew compileTestJava
47+
48+
unit_test:
49+
needs: build
50+
runs-on: ubuntu-latest
51+
env:
52+
REDIS_RUNNING: "true"
53+
USER_NAME: rqueue
54+
TERM: dumb
55+
JVM_OPTS: -Xmx8g
56+
steps:
57+
- name: Checkout
58+
uses: actions/checkout@v4
59+
60+
- name: Set up Java 21
61+
uses: actions/setup-java@v4
62+
with:
63+
distribution: temurin
64+
java-version: "21"
65+
cache: gradle
66+
67+
- name: Set up Gradle
68+
uses: gradle/actions/setup-gradle@v4
69+
70+
- name: Run unit tests
71+
run: ./gradlew codeCoverageReport -DincludeTags=unit
72+
73+
- name: Collect logs
74+
if: always()
75+
run: |
76+
mkdir -p log
77+
test -f rqueue-core/log/monitor.log && cp rqueue-core/log/monitor.log log/core-monitor.log
78+
test -f rqueue-core/log/test.log && cp rqueue-core/log/test.log log/core-test.log
79+
test -f rqueue-spring-boot-starter/log/monitor.log && cp rqueue-spring-boot-starter/log/monitor.log log/boot-monitor.log
80+
test -f rqueue-spring-boot-starter/log/test.log && cp rqueue-spring-boot-starter/log/test.log log/boot-test.log
81+
test -f rqueue-spring/log/monitor.log && cp rqueue-spring/log/monitor.log log/spring-monitor.log
82+
test -f rqueue-spring/log/test.log && cp rqueue-spring/log/test.log log/spring-test.log
83+
84+
- name: Upload logs
85+
if: always()
86+
uses: actions/upload-artifact@v4
87+
with:
88+
name: unit-test-logs
89+
path: log/
90+
if-no-files-found: ignore
91+
92+
- name: Upload JUnit reports
93+
if: always()
94+
uses: actions/upload-artifact@v4
95+
with:
96+
name: unit-test-results
97+
path: |
98+
rqueue-spring-boot-starter/build/reports/junit/xml
99+
rqueue-spring/build/reports/junit/xml
100+
rqueue-core/build/reports/junit/xml
101+
if-no-files-found: ignore
102+
103+
producer_only_test:
104+
needs: unit_test
105+
runs-on: ubuntu-latest
106+
env:
107+
REDIS_RUNNING: "true"
108+
USER_NAME: rqueue
109+
TERM: dumb
110+
JVM_OPTS: -Xmx8g
111+
steps:
112+
- name: Checkout
113+
uses: actions/checkout@v4
114+
115+
- name: Set up Java 21
116+
uses: actions/setup-java@v4
117+
with:
118+
distribution: temurin
119+
java-version: "21"
120+
cache: gradle
121+
122+
- name: Set up Gradle
123+
uses: gradle/actions/setup-gradle@v4
124+
125+
- name: Install Redis
126+
run: |
127+
sudo apt-get update
128+
sudo apt-get install -y redis-server
129+
redis-cli --version
130+
131+
- name: Run producer-only tests
132+
run: ./gradlew codeCoverageReport -DincludeTags=producerOnly
133+
134+
- name: Collect logs
135+
if: always()
136+
run: |
137+
mkdir -p log
138+
test -f rqueue-core/log/monitor.log && cp rqueue-core/log/monitor.log log/core-monitor.log
139+
test -f rqueue-core/log/test.log && cp rqueue-core/log/test.log log/core-test.log
140+
test -f rqueue-spring-boot-starter/log/monitor.log && cp rqueue-spring-boot-starter/log/monitor.log log/boot-monitor.log
141+
test -f rqueue-spring-boot-starter/log/test.log && cp rqueue-spring-boot-starter/log/test.log log/boot-test.log
142+
test -f rqueue-spring/log/monitor.log && cp rqueue-spring/log/monitor.log log/spring-monitor.log
143+
test -f rqueue-spring/log/test.log && cp rqueue-spring/log/test.log log/spring-test.log
144+
145+
- name: Upload logs
146+
if: always()
147+
uses: actions/upload-artifact@v4
148+
with:
149+
name: producer-test-logs
150+
path: log/
151+
if-no-files-found: ignore
152+
153+
- name: Upload JUnit reports
154+
if: always()
155+
uses: actions/upload-artifact@v4
156+
with:
157+
name: producer-test-results
158+
path: |
159+
rqueue-spring-boot-starter/build/reports/junit/xml
160+
rqueue-spring/build/reports/junit/xml
161+
rqueue-core/build/reports/junit/xml
162+
if-no-files-found: ignore
163+
164+
integration_test:
165+
needs: producer_only_test
166+
runs-on: ubuntu-latest
167+
env:
168+
REDIS_RUNNING: "true"
169+
USER_NAME: rqueue
170+
TERM: dumb
171+
JVM_OPTS: -Xmx8g
172+
steps:
173+
- name: Checkout
174+
uses: actions/checkout@v4
175+
176+
- name: Set up Java 21
177+
uses: actions/setup-java@v4
178+
with:
179+
distribution: temurin
180+
java-version: "21"
181+
cache: gradle
182+
183+
- name: Set up Gradle
184+
uses: gradle/actions/setup-gradle@v4
185+
186+
- name: Install Redis
187+
run: |
188+
sudo apt-get update
189+
sudo apt-get install -y redis-server
190+
redis-cli --version
191+
192+
- name: Run integration tests
193+
run: ./gradlew codeCoverageReport -DincludeTags=integration -DexcludeTags=redisCluster,producerOnly,local
194+
195+
- name: Collect logs
196+
if: always()
197+
run: |
198+
mkdir -p log
199+
test -f rqueue-core/log/monitor.log && cp rqueue-core/log/monitor.log log/core-monitor.log
200+
test -f rqueue-core/log/test.log && cp rqueue-core/log/test.log log/core-test.log
201+
test -f rqueue-spring-boot-starter/log/monitor.log && cp rqueue-spring-boot-starter/log/monitor.log log/boot-monitor.log
202+
test -f rqueue-spring-boot-starter/log/test.log && cp rqueue-spring-boot-starter/log/test.log log/boot-test.log
203+
test -f rqueue-spring/log/monitor.log && cp rqueue-spring/log/monitor.log log/spring-monitor.log
204+
test -f rqueue-spring/log/test.log && cp rqueue-spring/log/test.log log/spring-test.log
205+
206+
- name: Upload logs
207+
if: always()
208+
uses: actions/upload-artifact@v4
209+
with:
210+
name: integration-test-logs
211+
path: log/
212+
if-no-files-found: ignore
213+
214+
- name: Upload JUnit reports
215+
if: always()
216+
uses: actions/upload-artifact@v4
217+
with:
218+
name: integration-test-results
219+
path: |
220+
rqueue-spring-boot-starter/build/reports/junit/xml
221+
rqueue-spring/build/reports/junit/xml
222+
rqueue-core/build/reports/junit/xml
223+
if-no-files-found: ignore
224+
225+
redis_cluster_test:
226+
needs: integration_test
227+
runs-on: ubuntu-latest
228+
env:
229+
REDIS_RUNNING: "true"
230+
USER_NAME: rqueue
231+
TERM: dumb
232+
JVM_OPTS: -Xmx8g
233+
steps:
234+
- name: Checkout
235+
uses: actions/checkout@v4
236+
237+
- name: Set up Java 21
238+
uses: actions/setup-java@v4
239+
with:
240+
distribution: temurin
241+
java-version: "21"
242+
cache: gradle
243+
244+
- name: Set up Gradle
245+
uses: gradle/actions/setup-gradle@v4
246+
247+
- name: Install Redis
248+
run: |
249+
sudo apt-get update
250+
sudo apt-get install -y redis-server
251+
redis-cli --version
252+
253+
- name: Setup Redis Cluster
254+
run: |
255+
mkdir 9000 9001 9002 9003 9004 9005
256+
printf "port 9000 \ncluster-enabled yes \ncluster-config-file nodes.conf \ncluster-node-timeout 5000 \nappendonly yes" >> 9000/redis.conf
257+
printf "port 9001 \ncluster-enabled yes \ncluster-config-file nodes.conf \ncluster-node-timeout 5000 \nappendonly yes" >> 9001/redis.conf
258+
printf "port 9002 \ncluster-enabled yes \ncluster-config-file nodes.conf \ncluster-node-timeout 5000 \nappendonly yes" >> 9002/redis.conf
259+
printf "port 9003 \ncluster-enabled yes \ncluster-config-file nodes.conf \ncluster-node-timeout 5000 \nappendonly yes" >> 9003/redis.conf
260+
printf "port 9004 \ncluster-enabled yes \ncluster-config-file nodes.conf \ncluster-node-timeout 5000 \nappendonly yes" >> 9004/redis.conf
261+
printf "port 9005 \ncluster-enabled yes \ncluster-config-file nodes.conf \ncluster-node-timeout 5000 \nappendonly yes" >> 9005/redis.conf
262+
(cd 9000 && redis-server ./redis.conf) &
263+
(cd 9001 && redis-server ./redis.conf) &
264+
(cd 9002 && redis-server ./redis.conf) &
265+
(cd 9003 && redis-server ./redis.conf) &
266+
(cd 9004 && redis-server ./redis.conf) &
267+
(cd 9005 && redis-server ./redis.conf) &
268+
sleep 30
269+
yes yes | redis-cli --cluster create 127.0.0.1:9000 127.0.0.1:9001 127.0.0.1:9002 127.0.0.1:9003 127.0.0.1:9004 127.0.0.1:9005 --cluster-replicas 1
270+
271+
- name: Run Redis cluster tests
272+
run: ./gradlew codeCoverageReport -DincludeTags=redisCluster
273+
274+
- name: Collect logs
275+
if: always()
276+
run: |
277+
mkdir -p log
278+
test -f rqueue-core/log/monitor.log && cp rqueue-core/log/monitor.log log/core-monitor.log
279+
test -f rqueue-core/log/test.log && cp rqueue-core/log/test.log log/core-test.log
280+
test -f rqueue-spring-boot-starter/log/monitor.log && cp rqueue-spring-boot-starter/log/monitor.log log/boot-monitor.log
281+
test -f rqueue-spring-boot-starter/log/test.log && cp rqueue-spring-boot-starter/log/test.log log/boot-test.log
282+
test -f rqueue-spring/log/monitor.log && cp rqueue-spring/log/monitor.log log/spring-monitor.log
283+
test -f rqueue-spring/log/test.log && cp rqueue-spring/log/test.log log/spring-test.log
284+
285+
- name: Upload logs
286+
if: always()
287+
uses: actions/upload-artifact@v4
288+
with:
289+
name: redis-cluster-test-logs
290+
path: log/
291+
if-no-files-found: ignore
292+
293+
- name: Upload JUnit reports
294+
if: always()
295+
uses: actions/upload-artifact@v4
296+
with:
297+
name: redis-cluster-test-results
298+
path: |
299+
rqueue-spring-boot-starter/build/reports/junit/xml
300+
rqueue-spring/build/reports/junit/xml
301+
rqueue-core/build/reports/junit/xml
302+
if-no-files-found: ignore
303+
304+
reactive_integration_test:
305+
needs: redis_cluster_test
306+
runs-on: ubuntu-latest
307+
env:
308+
REDIS_RUNNING: "true"
309+
USER_NAME: rqueue
310+
TERM: dumb
311+
JVM_OPTS: -Xmx8g
312+
RQUEUE_REACTIVE_ENABLED: "true"
313+
steps:
314+
- name: Checkout
315+
uses: actions/checkout@v4
316+
317+
- name: Set up Java 21
318+
uses: actions/setup-java@v4
319+
with:
320+
distribution: temurin
321+
java-version: "21"
322+
cache: gradle
323+
324+
- name: Set up Gradle
325+
uses: gradle/actions/setup-gradle@v4
326+
327+
- name: Install Redis
328+
run: |
329+
sudo apt-get update
330+
sudo apt-get install -y redis-server
331+
redis-cli --version
332+
333+
- name: Run reactive integration tests
334+
run: ./gradlew codeCoverageReport -DincludeTags=integration -DexcludeTags=redisCluster,producerOnly,local
335+
336+
- name: Collect logs
337+
if: always()
338+
run: |
339+
mkdir -p log
340+
test -f rqueue-core/log/monitor.log && cp rqueue-core/log/monitor.log log/core-monitor.log
341+
test -f rqueue-core/log/test.log && cp rqueue-core/log/test.log log/core-test.log
342+
test -f rqueue-spring-boot-starter/log/monitor.log && cp rqueue-spring-boot-starter/log/monitor.log log/boot-monitor.log
343+
test -f rqueue-spring-boot-starter/log/test.log && cp rqueue-spring-boot-starter/log/test.log log/boot-test.log
344+
test -f rqueue-spring/log/monitor.log && cp rqueue-spring/log/monitor.log log/spring-monitor.log
345+
test -f rqueue-spring/log/test.log && cp rqueue-spring/log/test.log log/spring-test.log
346+
347+
- name: Upload logs
348+
if: always()
349+
uses: actions/upload-artifact@v4
350+
with:
351+
name: reactive-integration-test-logs
352+
path: log/
353+
if-no-files-found: ignore
354+
355+
- name: Upload JUnit reports
356+
if: always()
357+
uses: actions/upload-artifact@v4
358+
with:
359+
name: reactive-integration-test-results
360+
path: |
361+
rqueue-spring-boot-starter/build/reports/junit/xml
362+
rqueue-spring/build/reports/junit/xml
363+
rqueue-core/build/reports/junit/xml
364+
if-no-files-found: ignore
365+
366+
report_code_coverage:
367+
needs: reactive_integration_test
368+
if: github.event_name == 'push'
369+
runs-on: ubuntu-latest
370+
env:
371+
REDIS_RUNNING: "true"
372+
USER_NAME: rqueue
373+
TERM: dumb
374+
JVM_OPTS: -Xmx8g
375+
steps:
376+
- name: Checkout
377+
uses: actions/checkout@v4
378+
379+
- name: Set up Java 21
380+
uses: actions/setup-java@v4
381+
with:
382+
distribution: temurin
383+
java-version: "21"
384+
cache: gradle
385+
386+
- name: Set up Gradle
387+
uses: gradle/actions/setup-gradle@v4
388+
389+
- name: Generate coverage report
390+
run: ./gradlew coverallsJacoco

0 commit comments

Comments
 (0)