Skip to content

Commit d195d77

Browse files
authored
Publish single SHA256SUM file with releases (#2417)
1 parent 6230354 commit d195d77

File tree

2 files changed

+55
-17
lines changed

2 files changed

+55
-17
lines changed

.github/workflows/release.yaml

+55-15
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,23 @@ defaults:
1010
shell: bash
1111

1212
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:
1430
strategy:
1531
matrix:
1632
target:
@@ -49,6 +65,9 @@ jobs:
4965

5066
runs-on: ${{matrix.os}}
5167

68+
needs:
69+
- prerelease
70+
5271
steps:
5372
- uses: actions/checkout@v4
5473

@@ -69,15 +88,6 @@ jobs:
6988
run: |
7089
rustup target add aarch64-pc-windows-msvc
7190
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-
8191
- name: Generate Completion Scripts and Manpage
8292
run: |
8393
set -euxo pipefail
@@ -104,10 +114,8 @@ jobs:
104114
if: ${{ startsWith(github.ref, 'refs/tags/') }}
105115
with:
106116
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 }}
111119
env:
112120
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
113121

@@ -121,6 +129,38 @@ jobs:
121129
with:
122130
draft: false
123131
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+
uses: softprops/[email protected]
161+
with:
162+
draft: false
163+
files: SHA256SUMS
164+
prerelease: ${{ needs.prerelease.outputs.value }}
125165
env:
126166
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

bin/package

-2
Original file line numberDiff line numberDiff line change
@@ -44,13 +44,11 @@ case $OS in
4444
ubuntu-latest | macos-latest)
4545
ARCHIVE=just-$VERSION-$TARGET.tar.gz
4646
tar czf $ARCHIVE *
47-
shasum -a 256 $ARCHIVE > $ARCHIVE.sha256sum
4847
echo "archive=$DIST/$ARCHIVE" >> $GITHUB_OUTPUT
4948
;;
5049
windows-latest)
5150
ARCHIVE=just-$VERSION-$TARGET.zip
5251
7z a $ARCHIVE *
53-
sha256sum $ARCHIVE > $ARCHIVE.sha256sum
5452
echo "archive=`pwd -W`/$ARCHIVE" >> $GITHUB_OUTPUT
5553
;;
5654
esac

0 commit comments

Comments
 (0)