11
11
# SPDX-License-Identifier: Apache-2.0
12
12
# *******************************************************************************/
13
13
14
- # Create artifacts for project releases
15
- # Note: might also include crates.io publication step, if we're confident about our overall workflow
14
+ # Create artifacts for project releases
16
15
17
16
name : Release
18
17
19
18
on :
20
19
push :
21
20
tags :
22
21
- v*
23
- workflow_dispatch :
24
-
22
+
25
23
concurrency :
26
24
group : " release-${{ github.head_ref || github.ref }}"
27
25
cancel-in-progress : true
@@ -36,53 +34,25 @@ jobs:
36
34
coverage :
37
35
uses : ./.github/workflows/coverage.yaml
38
36
37
+ requirements-tracing :
38
+ uses : ./.github/workflows/requirements-tracing.yaml
39
+ with :
40
+ oft-file-patterns : " ${{ vars.UP_SPEC_OPEN_FAST_TRACE_FILE_PATTERNS }} ${{ vars.UP_RUST_OPEN_FAST_TRACE_FILE_PATTERNS }}"
41
+
39
42
licenses :
40
43
# This works off the license declarations in dependent packages/crates, so if these declarations are wrong, this report will contain erroneous information
41
44
uses : ./.github/workflows/license-report.yaml
42
45
43
- release :
44
- name : collect workflow artifacts
45
- runs-on : ubuntu-latest
46
- needs :
47
- - check
48
- - check-msrv
49
- - coverage
50
- - licenses
51
- steps :
52
- - uses : actions/checkout@v4
53
- with :
54
- submodules : " recursive"
55
-
56
- - name : Upload README
57
- id : upload_readme
58
- uses : actions/upload-artifact@v4
59
- with :
60
- name : readme
61
- path : README.md
62
-
63
- - name : Collect quality artifacts
64
- uses :
anotherdaniel/[email protected]
65
- id : quevee
66
- with :
67
- release_url : ${{ github.ref_name }}
68
- artifacts_license : ${{ needs.licenses.outputs.license_report_url }}
69
- artifacts_readme : ${{ steps.upload_readme.outputs.artifact-url }}
70
- artifacts_testing : ${{ needs.check.outputs.test_results_url }},${{ needs.coverage.outputs.test_coverage_url }}
71
-
72
- - name : Store quality manifest as workflow artifact
73
- uses : actions/upload-artifact@v4
74
- with :
75
- name : quality-artifacts-manifest
76
- path : ${{ steps.quevee.outputs.manifest_file }}
77
-
78
46
tag_release_artifacts :
79
47
# This only runs if this workflow is initiated via a tag-push with pattern 'v*'
80
48
if : github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v')
81
49
name : collect v-tag release artifacts
82
50
runs-on : ubuntu-latest
83
51
needs :
84
52
- check
53
+ - check-msrv
85
54
- coverage
55
+ - requirements-tracing
86
56
- licenses
87
57
permissions : write-all
88
58
steps :
@@ -105,6 +75,21 @@ jobs:
105
75
file_glob : true
106
76
tag : ${{ github.ref }}
107
77
78
+ # Requirements Tracing report - we later need the download_url output of the upload step
79
+ - name : Download requirements tracing report
80
+ uses : actions/download-artifact@v4
81
+ with :
82
+ name : tracing-report-html
83
+ path : dist/tracing/
84
+ - name : Upload requirements tracing report to release
85
+ uses : svenstaro/upload-release-action@v2
86
+ id : upload_requirements_tracing_report
87
+ with :
88
+ repo_token : ${{ secrets.GITHUB_TOKEN }}
89
+ file : dist/tracing/*
90
+ file_glob : true
91
+ tag : ${{ github.ref }}
92
+
108
93
# Test report - we later need the download_url output of the upload step
109
94
- name : Download test report
110
95
uses : actions/download-artifact@v4
@@ -144,20 +129,33 @@ jobs:
144
129
file : README.md
145
130
tag : ${{ github.ref }}
146
131
132
+ - name : Gather uProtocol Specification documents
133
+ shell : bash
134
+ run : |
135
+ tar cvz --file up-spec.tar.gz ${{ vars.UP_SPEC_OPEN_FAST_TRACE_FILE_PATTERNS }}
136
+ - name : Upload relevant uProtocol Spec files to release
137
+ uses : svenstaro/upload-release-action@v2
138
+ id : upload_up_spec
139
+ with :
140
+ repo_token : ${{ secrets.GITHUB_TOKEN }}
141
+ file : up-spec.tar.gz
142
+ tag : ${{ github.ref }}
143
+
147
144
- name : Gets latest created release info
148
145
id : latest_release_info
149
146
uses : joutvhu/get-release@v1
150
147
env :
151
148
GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
152
149
153
150
- name : Collect quality artifacts
154
- uses : anotherdaniel/quevee@v0.3.0
151
+ uses : anotherdaniel/quevee@v0.4.1
155
152
id : quevee_manifest
156
153
with :
157
154
release_url : ${{ steps.latest_release_info.outputs.html_url }}
158
155
artifacts_license : ${{ steps.upload_license_report.outputs.browser_download_url }}
159
156
artifacts_readme : ${{ steps.upload_readme.outputs.browser_download_url }}
160
- artifacts_testing : ${{ steps.upload_test_report.outputs.browser_download_url }},${{ steps.upload_test_coverage.outputs.browser_download_url }}
157
+ artifacts_requirements : ${{ steps.upload_up_spec.outputs.browser_download_url }}
158
+ artifacts_testing : ${{ steps.upload_test_report.outputs.browser_download_url }},${{ steps.upload_test_coverage.outputs.browser_download_url }},${{ steps.upload_requirements_tracing_report.outputs.browser_download_url }}
161
159
162
160
- name : Upload manifest to release
163
161
uses : svenstaro/upload-release-action@v2
0 commit comments