Skip to content

Commit

Permalink
Publish single SHA256SUM file with releases (#2417)
Browse files Browse the repository at this point in the history
  • Loading branch information
casey authored Oct 8, 2024
1 parent 6230354 commit d195d77
Show file tree
Hide file tree
Showing 2 changed files with 55 additions and 17 deletions.
70 changes: 55 additions & 15 deletions .github/workflows/release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,23 @@ defaults:
shell: bash

jobs:
release:
prerelease:
runs-on: ubuntu-latest

outputs:
value: ${{ steps.prerelease.outputs.value }}

steps:
- name: Prerelease Check
id: prerelease
run: |
if [[ ${{ github.ref_name }} =~ ^[0-9]+[.][0-9]+[.][0-9]+$ ]]; then
echo value=false >> $GITHUB_OUTPUT
else
echo value=true >> $GITHUB_OUTPUT
fi
package:
strategy:
matrix:
target:
Expand Down Expand Up @@ -49,6 +65,9 @@ jobs:

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

needs:
- prerelease

steps:
- uses: actions/checkout@v4

Expand All @@ -69,15 +88,6 @@ jobs:
run: |
rustup target add aarch64-pc-windows-msvc
- name: Release Type
id: release-type
run: |
if [[ ${{ github.ref }} =~ ^refs/tags/[0-9]+[.][0-9]+[.][0-9]+$ ]]; then
echo value=release >> $GITHUB_OUTPUT
else
echo value=prerelease >> $GITHUB_OUTPUT
fi
- name: Generate Completion Scripts and Manpage
run: |
set -euxo pipefail
Expand All @@ -104,10 +114,8 @@ jobs:
if: ${{ startsWith(github.ref, 'refs/tags/') }}
with:
draft: false
files: |
${{ steps.package.outputs.archive }}
${{ steps.package.outputs.archive }}.sha256sum
prerelease: ${{ steps.release-type.outputs.value == 'prerelease' }}
files: ${{ steps.package.outputs.archive }}
prerelease: ${{ needs.prerelease.outputs.value }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

Expand All @@ -121,6 +129,38 @@ jobs:
with:
draft: false
files: CHANGELOG.md
prerelease: ${{ steps.ref-type.outputs.value != 'release' }}
prerelease: ${{ needs.prerelease.outputs.value }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

checksum:
runs-on: ubuntu-latest

needs:
- prerelease
- package

steps:
- name: Download Release Archives
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: >-
gh release download
--repo casey/just
--pattern '*'
--dir release
${{ github.ref_name }}
- name: Create Checksums
run: |
cd release
shasum -a 256 * > ../SHA256SUMS
- name: Publish Checksums
uses: softprops/[email protected]
with:
draft: false
files: SHA256SUMS
prerelease: ${{ needs.prerelease.outputs.value }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
2 changes: 0 additions & 2 deletions bin/package
Original file line number Diff line number Diff line change
Expand Up @@ -44,13 +44,11 @@ case $OS in
ubuntu-latest | macos-latest)
ARCHIVE=just-$VERSION-$TARGET.tar.gz
tar czf $ARCHIVE *
shasum -a 256 $ARCHIVE > $ARCHIVE.sha256sum
echo "archive=$DIST/$ARCHIVE" >> $GITHUB_OUTPUT
;;
windows-latest)
ARCHIVE=just-$VERSION-$TARGET.zip
7z a $ARCHIVE *
sha256sum $ARCHIVE > $ARCHIVE.sha256sum
echo "archive=`pwd -W`/$ARCHIVE" >> $GITHUB_OUTPUT
;;
esac

0 comments on commit d195d77

Please sign in to comment.