@@ -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,16 +122,14 @@ 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' ||
132
+ needs.check-release.outputs.is_node_release == 'true' ||
116
133
github.event_name == 'workflow_dispatch' ||
117
134
github.event_name == 'pull_request' ||
118
135
github.event_name == 'merge_group'
@@ -125,16 +142,15 @@ jobs:
125
142
# # Tests to run regularly
126
143
# #
127
144
# # Runs when:
128
- # # - it is a release run
129
- # # or:
130
- # # - it is not a release run
131
- # # and any of:
132
- # # - this workflow is called manually
133
- # # - PR is opened
134
- # # - PR added to merge queue
135
- # # - 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
136
150
stacks-core-tests :
137
151
if : |
152
+ needs.check-release.outputs.is_node_release == 'true' ||
153
+ needs.check-release.outputs.is_signer_release == 'true' ||
138
154
github.event_name == 'workflow_dispatch' ||
139
155
github.event_name == 'pull_request' ||
140
156
github.event_name == 'merge_group'
@@ -148,16 +164,15 @@ jobs:
148
164
# # Checks to run on built binaries
149
165
# #
150
166
# # Runs when:
151
- # # - it is a release run
152
- # # or:
153
- # # - it is not a release run
154
- # # and any of:
155
- # # - this workflow is called manually
156
- # # - PR is opened
157
- # # - PR added to merge queue
158
- # # - 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
159
172
stacks-core-build-tests :
160
173
if : |
174
+ needs.check-release.outputs.is_node_release == 'true' ||
175
+ needs.check-release.outputs.is_signer_release == 'true' ||
161
176
github.event_name == 'workflow_dispatch' ||
162
177
github.event_name == 'pull_request' ||
163
178
github.event_name == 'merge_group'
@@ -167,8 +182,17 @@ jobs:
167
182
- check-release
168
183
uses : ./.github/workflows/core-build-tests.yml
169
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
170
193
bitcoin-tests :
171
194
if : |
195
+ needs.check-release.outputs.is_node_release == 'true' ||
172
196
github.event_name == 'workflow_dispatch' ||
173
197
github.event_name == 'pull_request' ||
174
198
github.event_name == 'merge_group'
@@ -181,6 +205,7 @@ jobs:
181
205
182
206
p2p-tests :
183
207
if : |
208
+ needs.check-release.outputs.is_node_release == 'true' ||
184
209
github.event_name == 'workflow_dispatch' ||
185
210
github.event_name == 'pull_request' ||
186
211
github.event_name == 'merge_group'
@@ -194,9 +219,9 @@ jobs:
194
219
# # Test to run on a tagged release
195
220
# #
196
221
# # Runs when:
197
- # # - it is a release run
222
+ # # - it is a node release run
198
223
atlas-tests :
199
- if : needs.check-release.outputs.is_release == 'true'
224
+ if : needs.check-release.outputs.is_node_release == 'true'
200
225
name : Atlas Tests
201
226
needs :
202
227
- rustfmt
@@ -205,7 +230,7 @@ jobs:
205
230
uses : ./.github/workflows/atlas-tests.yml
206
231
207
232
epoch-tests :
208
- if : needs.check-release.outputs.is_release == 'true'
233
+ if : needs.check-release.outputs.is_node_release == 'true'
209
234
name : Epoch Tests
210
235
needs :
211
236
- rustfmt
@@ -214,7 +239,7 @@ jobs:
214
239
uses : ./.github/workflows/epoch-tests.yml
215
240
216
241
slow-tests :
217
- if : needs.check-release.outputs.is_release == 'true'
242
+ if : needs.check-release.outputs.is_node_release == 'true'
218
243
name : Slow Tests
219
244
needs :
220
245
- rustfmt
0 commit comments