@@ -3,13 +3,28 @@ name: NATS Server Tests
3
3
on : [push]
4
4
5
5
env :
6
- GO_VERSION : " ^ 1.21"
6
+ GO_VERSION : " 1.21"
7
7
8
8
concurrency :
9
9
group : ${{ github.workflow }}-${{ github.ref }}
10
10
cancel-in-progress : true
11
11
12
12
jobs :
13
+ lint :
14
+ name : Lint
15
+ runs-on : ubuntu-latest
16
+ steps :
17
+ - name : Checkout
18
+ uses : actions/checkout@v4
19
+
20
+ - name : Install Go ${{ env.GO_VERSION }}
21
+ uses : actions/setup-go@v5
22
+ with :
23
+ go-version : ${{ env.GO_VERSION }}
24
+
25
+ - name : Run golangci-lint
26
+ uses : golangci/golangci-lint-action@v4
27
+
13
28
build :
14
29
name : Build (${{ matrix.os }})
15
30
strategy :
@@ -19,102 +34,90 @@ jobs:
19
34
runs-on : ${{ matrix.os }}
20
35
steps :
21
36
- name : Checkout
22
- uses : actions/checkout@v3
37
+ uses : actions/checkout@v4
23
38
24
39
- name : Install Go ${{ env.GO_VERSION }}
25
- uses : actions/setup-go@v4
40
+ uses : actions/setup-go@v5
26
41
with :
27
42
go-version : ${{ env.GO_VERSION }}
28
43
29
44
- name : Build NATS Server
30
45
run : go build
31
46
32
- lint :
33
- name : Lint
34
- runs-on : ubuntu-latest
35
- steps :
36
- - name : Checkout
37
- uses : actions/checkout@v3
38
-
39
- - name : Install Go ${{ env.GO_VERSION }}
40
- uses : actions/setup-go@v4
41
- with :
42
- go-version : ${{ env.GO_VERSION }}
43
-
44
47
js-no-cluster :
45
48
name : JetStream tests
46
49
needs : [build, lint]
47
- runs-on : ubuntu-latest
50
+ runs-on : ubuntu-latest-8-cores
48
51
steps :
49
52
- name : Checkout
50
- uses : actions/checkout@v3
53
+ uses : actions/checkout@v4
51
54
52
55
- name : Install Go ${{ env.GO_VERSION }}
53
- uses : actions/setup-go@v4
56
+ uses : actions/setup-go@v5
54
57
with :
55
58
go-version : ${{ env.GO_VERSION }}
56
59
57
60
- name : Run unit tests
58
61
run : go test -race -v -run=TestJetStream ./server/... -tags=skip_js_cluster_tests,skip_js_cluster_tests_2,skip_js_cluster_tests_3,skip_js_super_cluster_tests -count=1 -vet=off -timeout=30m -failfast
59
62
60
63
js-cluster-1 :
61
- name : JetStream cluster tests (1)
64
+ name : JetStream Cluster tests (1)
62
65
needs : [build, lint]
63
- runs-on : ubuntu-latest
66
+ runs-on : ubuntu-latest-8-cores
64
67
steps :
65
68
- name : Checkout
66
- uses : actions/checkout@v3
69
+ uses : actions/checkout@v4
67
70
68
71
- name : Install Go ${{ env.GO_VERSION }}
69
- uses : actions/setup-go@v4
72
+ uses : actions/setup-go@v5
70
73
with :
71
74
go-version : ${{ env.GO_VERSION }}
72
75
73
76
- name : Run unit tests
74
77
run : go test -race -v -run=TestJetStreamCluster ./server/... -tags=skip_js_cluster_tests_2,skip_js_cluster_tests_3 -count=1 -vet=off -timeout=30m -failfast
75
78
76
79
js-cluster-2 :
77
- name : JetStream cluster tests (2)
80
+ name : JetStream Cluster tests (2)
78
81
needs : [build, lint]
79
- runs-on : ubuntu-latest
82
+ runs-on : ubuntu-latest-8-cores
80
83
steps :
81
84
- name : Checkout
82
- uses : actions/checkout@v3
85
+ uses : actions/checkout@v4
83
86
84
87
- name : Install Go ${{ env.GO_VERSION }}
85
- uses : actions/setup-go@v4
88
+ uses : actions/setup-go@v5
86
89
with :
87
90
go-version : ${{ env.GO_VERSION }}
88
91
89
92
- name : Run unit tests
90
93
run : go test -race -v -run=TestJetStreamCluster ./server/... -tags=skip_js_cluster_tests,skip_js_cluster_tests_3 -count=1 -vet=off -timeout=30m -failfast
91
94
92
95
js-cluster-3 :
93
- name : JetStream cluster tests (3)
96
+ name : JetStream Cluster tests (3)
94
97
needs : [build, lint]
95
- runs-on : ubuntu-latest
98
+ runs-on : ubuntu-latest-8-cores
96
99
steps :
97
100
- name : Checkout
98
- uses : actions/checkout@v3
101
+ uses : actions/checkout@v4
99
102
100
103
- name : Install Go ${{ env.GO_VERSION }}
101
- uses : actions/setup-go@v4
104
+ uses : actions/setup-go@v5
102
105
with :
103
106
go-version : ${{ env.GO_VERSION }}
104
107
105
108
- name : Run unit tests
106
109
run : go test -race -v -run=TestJetStreamCluster ./server/... -tags=skip_js_cluster_tests,skip_js_cluster_tests_2 -count=1 -vet=off -timeout=30m -failfast
107
110
108
111
js-supercluster :
109
- name : JetStream supercluster tests
112
+ name : JetStream Supercluster tests
110
113
needs : [build, lint]
111
- runs-on : ubuntu-latest
114
+ runs-on : ubuntu-latest-8-cores
112
115
steps :
113
116
- name : Checkout
114
- uses : actions/checkout@v3
117
+ uses : actions/checkout@v4
115
118
116
119
- name : Install Go ${{ env.GO_VERSION }}
117
- uses : actions/setup-go@v4
120
+ uses : actions/setup-go@v5
118
121
with :
119
122
go-version : ${{ env.GO_VERSION }}
120
123
@@ -124,13 +127,13 @@ jobs:
124
127
no-race :
125
128
name : No-race tests
126
129
needs : [build, lint]
127
- runs-on : ubuntu-latest
130
+ runs-on : ubuntu-latest-8-cores
128
131
steps :
129
132
- name : Checkout
130
- uses : actions/checkout@v3
133
+ uses : actions/checkout@v4
131
134
132
135
- name : Install Go ${{ env.GO_VERSION }}
133
- uses : actions/setup-go@v4
136
+ uses : actions/setup-go@v5
134
137
with :
135
138
go-version : ${{ env.GO_VERSION }}
136
139
@@ -139,14 +142,15 @@ jobs:
139
142
140
143
js-chaos :
141
144
name : JetStream chaos tests
145
+ if : ${{ false }} # Don't run for now
142
146
needs : [build, lint]
143
- runs-on : ubuntu-latest
147
+ runs-on : ubuntu-latest-8-cores
144
148
steps :
145
149
- name : Checkout
146
- uses : actions/checkout@v3
150
+ uses : actions/checkout@v4
147
151
148
152
- name : Install Go ${{ env.GO_VERSION }}
149
- uses : actions/setup-go@v4
153
+ uses : actions/setup-go@v5
150
154
with :
151
155
go-version : ${{ env.GO_VERSION }}
152
156
@@ -156,13 +160,13 @@ jobs:
156
160
mqtt :
157
161
name : MQTT tests
158
162
needs : [build, lint]
159
- runs-on : ubuntu-latest
163
+ runs-on : ubuntu-latest-4-cores
160
164
steps :
161
165
- name : Checkout
162
- uses : actions/checkout@v3
166
+ uses : actions/checkout@v4
163
167
164
168
- name : Install Go ${{ env.GO_VERSION }}
165
- uses : actions/setup-go@v4
169
+ uses : actions/setup-go@v5
166
170
with :
167
171
go-version : ${{ env.GO_VERSION }}
168
172
@@ -172,13 +176,13 @@ jobs:
172
176
server-pkg-non-js :
173
177
name : Non-JetStream/MQTT tests
174
178
needs : [build, lint]
175
- runs-on : ubuntu-latest
179
+ runs-on : ubuntu-latest-8-cores
176
180
steps :
177
181
- name : Checkout
178
- uses : actions/checkout@v3
182
+ uses : actions/checkout@v4
179
183
180
184
- name : Install Go ${{ env.GO_VERSION }}
181
- uses : actions/setup-go@v4
185
+ uses : actions/setup-go@v5
182
186
with :
183
187
go-version : ${{ env.GO_VERSION }}
184
188
@@ -188,13 +192,13 @@ jobs:
188
192
non-server-pkg :
189
193
name : Tests from all other packages
190
194
needs : [build, lint]
191
- runs-on : ubuntu-latest
195
+ runs-on : ubuntu-latest-4-cores
192
196
steps :
193
197
- name : Checkout
194
- uses : actions/checkout@v3
198
+ uses : actions/checkout@v4
195
199
196
200
- name : Install Go ${{ env.GO_VERSION }}
197
- uses : actions/setup-go@v4
201
+ uses : actions/setup-go@v5
198
202
with :
199
203
go-version : ${{ env.GO_VERSION }}
200
204
0 commit comments