@@ -10,7 +10,23 @@ defaults:
10
10
shell : bash
11
11
12
12
jobs :
13
- release :
13
+ prerelease :
14
+ runs-on : ubuntu-latest
15
+
16
+ outputs :
17
+ value : ${{ steps.prerelease.outputs.value }}
18
+
19
+ steps :
20
+ - name : Prerelease Check
21
+ id : prerelease
22
+ run : |
23
+ if [[ ${{ github.ref_name }} =~ ^[0-9]+[.][0-9]+[.][0-9]+$ ]]; then
24
+ echo value=false >> $GITHUB_OUTPUT
25
+ else
26
+ echo value=true >> $GITHUB_OUTPUT
27
+ fi
28
+
29
+ package :
14
30
strategy :
15
31
matrix :
16
32
target :
49
65
50
66
runs-on : ${{matrix.os}}
51
67
68
+ needs :
69
+ - prerelease
70
+
52
71
steps :
53
72
- uses : actions/checkout@v4
54
73
69
88
run : |
70
89
rustup target add aarch64-pc-windows-msvc
71
90
72
- - name : Release Type
73
- id : release-type
74
- run : |
75
- if [[ ${{ github.ref }} =~ ^refs/tags/[0-9]+[.][0-9]+[.][0-9]+$ ]]; then
76
- echo value=release >> $GITHUB_OUTPUT
77
- else
78
- echo value=prerelease >> $GITHUB_OUTPUT
79
- fi
80
-
81
91
- name : Generate Completion Scripts and Manpage
82
92
run : |
83
93
set -euxo pipefail
@@ -104,10 +114,8 @@ jobs:
104
114
if : ${{ startsWith(github.ref, 'refs/tags/') }}
105
115
with :
106
116
draft : false
107
- files : |
108
- ${{ steps.package.outputs.archive }}
109
- ${{ steps.package.outputs.archive }}.sha256sum
110
- prerelease : ${{ steps.release-type.outputs.value == 'prerelease' }}
117
+ files : ${{ steps.package.outputs.archive }}
118
+ prerelease : ${{ needs.prerelease.outputs.value }}
111
119
env :
112
120
GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
113
121
@@ -121,6 +129,38 @@ jobs:
121
129
with :
122
130
draft : false
123
131
files : CHANGELOG.md
124
- prerelease : ${{ steps.ref-type.outputs.value != 'release' }}
132
+ prerelease : ${{ needs.prerelease.outputs.value }}
133
+ env :
134
+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
135
+
136
+ checksum :
137
+ runs-on : ubuntu-latest
138
+
139
+ needs :
140
+ - prerelease
141
+ - package
142
+
143
+ steps :
144
+ - name : Download Release Archives
145
+ env :
146
+ GH_TOKEN : ${{ secrets.GITHUB_TOKEN }}
147
+ run : >-
148
+ gh release download
149
+ --repo casey/just
150
+ --pattern '*'
151
+ --dir release
152
+ ${{ github.ref_name }}
153
+
154
+ - name : Create Checksums
155
+ run : |
156
+ cd release
157
+ shasum -a 256 * > ../SHA256SUMS
158
+
159
+ - name : Publish Checksums
160
+
161
+ with :
162
+ draft : false
163
+ files : SHA256SUMS
164
+ prerelease : ${{ needs.prerelease.outputs.value }}
125
165
env :
126
166
GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
0 commit comments