@@ -52,47 +52,66 @@ jobs:
52
52
53
53
# #####################################################################################
54
54
# # Check if the branch that this workflow is being run against is a release branch
55
+ # #
56
+ # # Outputs:
57
+ # # - node_tag: Tag of the stacks-node if the branch is a release one (example: release/3.4.0.0.1), null otherwise
58
+ # # - node_docker_tag: Version of the stacks-node if the branch is a release one (example: 3.4.0.0.1), null otherwise
59
+ # # - signer_tag: Tag of the stacks-signer if the branch is a release one (example: release/3.4.0.0.1.0), null otherwise
60
+ # # - signer_docker_tag: Version of the stacks-signer if the branch is a release one (example: 3.4.0.0.1.0), null otherwise
61
+ # # - is_node_release: True if the branch represents a 'stacks-node' release, false otherwise.
62
+ # # If this is true, 'is_signer_release' will also be true, since a 'stacks-signer' binary
63
+ # # is always released alongside 'stacks-node'.
64
+ # # - is_signer_release: True if the branch represents a 'stacks-signer' release, false otherwise.
55
65
check-release :
56
66
name : Check Release
57
67
needs :
58
68
- rustfmt
59
69
runs-on : ubuntu-latest
60
70
outputs :
61
- tag : ${{ steps.check_release.outputs.tag }}
62
- docker_tag : ${{ steps.check_release.outputs.docker_tag }}
63
- is_release : ${{ steps.check_release.outputs.is_release }}
71
+ node_tag : ${{ steps.check_release.outputs.node_tag }}
72
+ node_docker_tag : ${{ steps.check_release.outputs.node_docker_tag }}
73
+ signer_tag : ${{ steps.check_release.outputs.signer_tag }}
74
+ signer_docker_tag : ${{ steps.check_release.outputs.signer_docker_tag }}
75
+ is_node_release : ${{ steps.check_release.outputs.is_node_release }}
76
+ is_signer_release : ${{ steps.check_release.outputs.is_signer_release }}
64
77
steps :
65
78
- name : Check Release
66
79
id : check_release
67
- uses : stacks-network/actions/stacks-core/check-release@main
80
+ uses : stacks-network/actions/stacks-core/release/ check-release@main
68
81
with :
69
82
tag : ${{ github.ref_name }}
70
83
71
84
# #####################################################################################
72
85
# # Create a tagged github release
73
86
# #
74
87
# # Runs when:
75
- # # - it is a release run
88
+ # # - it is either a node release or a signer release
76
89
create-release :
77
90
if : |
78
- needs.check-release.outputs.is_release == 'true'
79
- name : Create Release
91
+ needs.check-release.outputs.is_node_release == 'true' ||
92
+ needs.check-release.outputs.is_signer_release == 'true'
93
+ name : Create Release(s)
80
94
needs :
81
95
- rustfmt
82
96
- check-release
83
97
uses : ./.github/workflows/github-release.yml
84
98
with :
85
- tag : ${{ needs.check-release.outputs.tag }}
86
- docker_tag : ${{ needs.check-release.outputs.docker_tag }}
99
+ node_tag : ${{ needs.check-release.outputs.node_tag }}
100
+ node_docker_tag : ${{ needs.check-release.outputs.node_docker_tag }}
101
+ signer_tag : ${{ needs.check-release.outputs.signer_tag }}
102
+ signer_docker_tag : ${{ needs.check-release.outputs.signer_docker_tag }}
103
+ is_node_release : ${{ needs.check-release.outputs.is_node_release }}
104
+ is_signer_release : ${{ needs.check-release.outputs.is_signer_release }}
87
105
secrets : inherit
88
106
89
107
# # Build and push Debian image built from source
90
108
# #
91
109
# # Runs when:
92
- # # - it is not a release run
110
+ # # - it is not a node or signer-only release run
93
111
docker-image :
94
112
if : |
95
- needs.check-release.outputs.is_release != 'true'
113
+ needs.check-release.outputs.is_node_release != 'true' ||
114
+ needs.check-release.outputs.is_signer_release != 'true'
96
115
name : Docker Image (Source)
97
116
uses : ./.github/workflows/image-build-source.yml
98
117
needs :
@@ -103,28 +122,17 @@ jobs:
103
122
# # Create a reusable cache for tests
104
123
# #
105
124
# # Runs when:
106
- # # - it is a release run
107
- # # or:
108
- # # - it is not a release run
109
- # # and any of:
110
- # # - this workflow is called manually
111
- # # - PR is opened
112
- # # - commit to either (development, master) branch
125
+ # # - it is a node release run
126
+ # # or any of:
127
+ # # - this workflow is called manually
128
+ # # - PR is opened
129
+ # # - PR added to merge queue
113
130
create-cache :
114
131
if : |
115
- needs.check-release.outputs.is_release == 'true' || (
116
- github.event_name == 'workflow_dispatch' ||
117
- github.event_name == 'pull_request' ||
118
- github.event_name == 'merge_group' ||
119
- (
120
- contains('
121
- refs/heads/master
122
- refs/heads/develop
123
- refs/heads/next
124
- ', github.event.pull_request.head.ref) &&
125
- github.event_name == 'push'
126
- )
127
- )
132
+ needs.check-release.outputs.is_node_release == 'true' ||
133
+ github.event_name == 'workflow_dispatch' ||
134
+ github.event_name == 'pull_request' ||
135
+ github.event_name == 'merge_group'
128
136
name : Create Test Cache
129
137
needs :
130
138
- rustfmt
@@ -134,29 +142,18 @@ jobs:
134
142
# # Tests to run regularly
135
143
# #
136
144
# # Runs when:
137
- # # - it is a release run
138
- # # or:
139
- # # - it is not a release run
140
- # # and any of:
141
- # # - this workflow is called manually
142
- # # - PR is opened
143
- # # - PR added to merge queue
144
- # # - commit to either (development, next, master) branch
145
+ # # - it is a node or signer-only release run
146
+ # # or any of:
147
+ # # - this workflow is called manually
148
+ # # - PR is opened
149
+ # # - PR added to merge queue
145
150
stacks-core-tests :
146
151
if : |
147
- needs.check-release.outputs.is_release == 'true' || (
148
- github.event_name == 'workflow_dispatch' ||
149
- github.event_name == 'pull_request' ||
150
- github.event_name == 'merge_group' ||
151
- (
152
- contains('
153
- refs/heads/master
154
- refs/heads/develop
155
- refs/heads/next
156
- ', github.event.pull_request.head.ref) &&
157
- github.event_name == 'push'
158
- )
159
- )
152
+ needs.check-release.outputs.is_node_release == 'true' ||
153
+ needs.check-release.outputs.is_signer_release == 'true' ||
154
+ github.event_name == 'workflow_dispatch' ||
155
+ github.event_name == 'pull_request' ||
156
+ github.event_name == 'merge_group'
160
157
name : Stacks Core Tests
161
158
needs :
162
159
- rustfmt
@@ -167,73 +164,51 @@ jobs:
167
164
# # Checks to run on built binaries
168
165
# #
169
166
# # Runs when:
170
- # # - it is a release run
171
- # # or:
172
- # # - it is not a release run
173
- # # and any of:
174
- # # - this workflow is called manually
175
- # # - PR is opened
176
- # # - PR added to merge queue
177
- # # - commit to either (development, next, master) branch
167
+ # # - it is a node or signer-only release run
168
+ # # or any of:
169
+ # # - this workflow is called manually
170
+ # # - PR is opened
171
+ # # - PR added to merge queue
178
172
stacks-core-build-tests :
179
173
if : |
180
- needs.check-release.outputs.is_release == 'true' || (
181
- github.event_name == 'workflow_dispatch' ||
182
- github.event_name == 'pull_request' ||
183
- github.event_name == 'merge_group' ||
184
- (
185
- contains('
186
- refs/heads/master
187
- refs/heads/develop
188
- refs/heads/next
189
- ', github.event.pull_request.head.ref) &&
190
- github.event_name == 'push'
191
- )
192
- )
174
+ needs.check-release.outputs.is_node_release == 'true' ||
175
+ needs.check-release.outputs.is_signer_release == 'true' ||
176
+ github.event_name == 'workflow_dispatch' ||
177
+ github.event_name == 'pull_request' ||
178
+ github.event_name == 'merge_group'
193
179
name : Stacks Core Build Tests
194
180
needs :
195
181
- rustfmt
196
182
- check-release
197
183
uses : ./.github/workflows/core-build-tests.yml
198
184
185
+ # # Checks to run on built binaries
186
+ # #
187
+ # # Runs when:
188
+ # # - it is a node release run
189
+ # # or any of:
190
+ # # - this workflow is called manually
191
+ # # - PR is opened
192
+ # # - PR added to merge queue
199
193
bitcoin-tests :
200
194
if : |
201
- needs.check-release.outputs.is_release == 'true' || (
202
- github.event_name == 'workflow_dispatch' ||
203
- github.event_name == 'pull_request' ||
204
- github.event_name == 'merge_group' ||
205
- (
206
- contains('
207
- refs/heads/master
208
- refs/heads/develop
209
- refs/heads/next
210
- ', github.event.pull_request.head.ref) &&
211
- github.event_name == 'push'
212
- )
213
- )
195
+ needs.check-release.outputs.is_node_release == 'true' ||
196
+ github.event_name == 'workflow_dispatch' ||
197
+ github.event_name == 'pull_request' ||
198
+ github.event_name == 'merge_group'
214
199
name : Bitcoin Tests
215
200
needs :
216
201
- rustfmt
217
202
- create-cache
218
203
- check-release
219
204
uses : ./.github/workflows/bitcoin-tests.yml
220
205
221
-
222
206
p2p-tests :
223
207
if : |
224
- needs.check-release.outputs.is_release == 'true' || (
225
- github.event_name == 'workflow_dispatch' ||
226
- github.event_name == 'pull_request' ||
227
- github.event_name == 'merge_group' ||
228
- (
229
- contains('
230
- refs/heads/master
231
- refs/heads/develop
232
- refs/heads/next
233
- ', github.event.pull_request.head.ref) &&
234
- github.event_name == 'push'
235
- )
236
- )
208
+ needs.check-release.outputs.is_node_release == 'true' ||
209
+ github.event_name == 'workflow_dispatch' ||
210
+ github.event_name == 'pull_request' ||
211
+ github.event_name == 'merge_group'
237
212
name : P2P Tests
238
213
needs :
239
214
- rustfmt
@@ -244,9 +219,9 @@ jobs:
244
219
# # Test to run on a tagged release
245
220
# #
246
221
# # Runs when:
247
- # # - it is a release run
222
+ # # - it is a node release run
248
223
atlas-tests :
249
- if : needs.check-release.outputs.is_release == 'true'
224
+ if : needs.check-release.outputs.is_node_release == 'true'
250
225
name : Atlas Tests
251
226
needs :
252
227
- rustfmt
@@ -255,7 +230,7 @@ jobs:
255
230
uses : ./.github/workflows/atlas-tests.yml
256
231
257
232
epoch-tests :
258
- if : needs.check-release.outputs.is_release == 'true'
233
+ if : needs.check-release.outputs.is_node_release == 'true'
259
234
name : Epoch Tests
260
235
needs :
261
236
- rustfmt
@@ -264,7 +239,7 @@ jobs:
264
239
uses : ./.github/workflows/epoch-tests.yml
265
240
266
241
slow-tests :
267
- if : needs.check-release.outputs.is_release == 'true'
242
+ if : needs.check-release.outputs.is_node_release == 'true'
268
243
name : Slow Tests
269
244
needs :
270
245
- rustfmt
0 commit comments