-
Notifications
You must be signed in to change notification settings - Fork 8.8k
162 lines (159 loc) · 5.85 KB
/
test-ubuntu.yml
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
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
name: "test-ubuntu"
on:
push:
branches: [ test*, "*.*.*" ]
jobs:
# job 1
test:
name: "test"
services:
redis:
image: redis:7.2
ports:
- 6379:6379
options: --health-cmd="redis-cli ping" --health-interval=10s --health-timeout=5s --health-retries=3
nacos:
image: nacos/nacos-server:v2.4.2
ports:
- 8848:8848
env:
MODE: standalone
SPRING_SECURITY_ENABLED: false
options: --health-cmd="curl -f http://localhost:8848/nacos" --health-interval=10s --health-timeout=5s --health-retries=3 --health-start-period=30s
runs-on: "${{ matrix.os }}-latest"
strategy:
max-parallel: 3
fail-fast: false
matrix:
java: [ 8, 11, 17, 21 ]
os: [
ubuntu,
]
springboot: [
2.7.18 -D spring-framework.version=5.3.31,
2.6.15 -D spring-framework.version=5.3.27,
2.5.15 -D spring-framework.version=5.3.27,
2.4.13 -D spring-framework.version=5.3.13,
2.3.12.RELEASE -D spring-framework.version=5.2.15.RELEASE,
2.2.13.RELEASE -D spring-framework.version=5.2.12.RELEASE,
#2.1.18.RELEASE,
#2.0.9.RELEASE,
]
steps:
# step 1
- name: "Checkout"
uses: actions/checkout@v3
# step 2
- name: "Use Python 3.x"
uses: actions/setup-python@v2
with:
python-version: '3.12'
# step 3
- name: "Set up Java JDK"
uses: actions/setup-java@v3.12.0
with:
distribution: 'zulu'
java-version: ${{ matrix.java }}
# step 4
## step 4.1: for Ubuntu and MacOS
- name: "Test with Maven on '${{ matrix.os }}' OS"
run: |
./mvnw -T 4C clean test -P args-for-client-test -Dspring-boot.version=${{ matrix.springboot }} -e -B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn;
# job 2
test-springboot3x:
name: "test-springboot3.x"
services:
redis:
image: redis:7.2
ports:
- 6379:6379
options: --health-cmd="redis-cli ping" --health-interval=10s --health-timeout=5s --health-retries=3
nacos:
image: nacos/nacos-server:v2.4.2
ports:
- 8848:8848
env:
MODE: standalone
SPRING_SECURITY_ENABLED: false
options: --health-cmd="curl -f http://localhost:8848/nacos" --health-interval=10s --health-timeout=5s --health-retries=3 --health-start-period=30s
runs-on: "${{ matrix.os }}-latest"
strategy:
max-parallel: 3
fail-fast: false
matrix:
java: [ 17, 21 ]
os: [
ubuntu,
]
springboot: [
3.2.0 -D spring-framework.version=6.1.1,
3.1.6 -D spring-framework.version=6.0.14,
3.0.13 -D spring-framework.version=6.0.14,
]
steps:
# step 1
- name: "Checkout"
uses: actions/checkout@v3
# step 2
- name: "Use Python 3.x"
uses: actions/setup-python@v2
with:
python-version: '3.12'
# step 3
- name: "Set up Java JDK"
uses: actions/setup-java@v3.12.0
with:
distribution: 'zulu'
java-version: ${{ matrix.java }}
# step 4
## step 4.1: for Ubuntu and MacOS
- name: "Test with Maven on '${{ matrix.os }}' OS"
if: matrix.os != 'windows'
run: |
./mvnw -T 4C clean test -P args-for-client-test -Dspring-boot.version=${{ matrix.springboot }} -e -B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn;
## step 4.2: for Windows
- name: "Build with Maven on 'windows' OS (Skip tests)"
if: matrix.os == 'windows'
run: | # Skip tests, because too many errors in unit-test.
./mvnw.cmd -version;
./mvnw.cmd clean install -P args-for-client-test -DskipTests -D spring-boot.version=${{ matrix.springboot }} -e -B -D org.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn;
# job 3
test-arm64:
name: "test-arm64"
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
springboot: [
#2.7.18 -Dspring-framework.version=5.3.31, # The maven-compiler-plugin will throw an error for an unknown reason.
#2.6.15 -Dspring-framework.version=5.3.27, # The maven-compiler-plugin will throw an error for an unknown reason.
#2.5.15 -Dspring-framework.version=5.3.27, # The maven-compiler-plugin will throw an error for an unknown reason.
2.4.13 -Dspring-framework.version=5.3.13,
2.3.12.RELEASE -Dspring-framework.version=5.2.15.RELEASE,
2.2.13.RELEASE -Dspring-framework.version=5.2.12.RELEASE,
#2.1.18.RELEASE,
#2.0.9.RELEASE,
]
steps:
# step 1
- name: "Checkout"
uses: actions/checkout@v3
# step 2
- name: "Set up QEMU"
id: qemu
uses: docker/setup-qemu-action@v3
# step 3
- name: "Build with Maven on 'arm64v8/ubuntu:20.04' OS (Skip tests)"
run: |
docker run --rm -v ${{ github.workspace }}:/ws:rw --workdir=/ws \
arm64v8/ubuntu:20.04 \
bash -exc 'apt-get update -y && \
apt-get install maven -y && \
apt-get install -y python3 python3-pip python3-distutils && \
apt-get install -y build-essential && \
mvn -version && \
mvn -T 4C clean install \
-Dspring-boot.version=${{ matrix.springboot }} \
-Prelease-seata \
-DskipTests \
-e -B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'