34 lines
1.1 KiB
Bash
34 lines
1.1 KiB
Bash
#!/usr/bin/env bash
|
|
set -eu
|
|
|
|
# When run in a container, the ownership will be messed up, so mark the
|
|
# checkout dir as safe regardless of our env
|
|
git config --global --add safe.directory "$GITHUB_WORKSPACE"
|
|
|
|
# Normally we'll only do this on tags, but add --always to fallback to the revision
|
|
# if we're iterating or the like
|
|
tag=$(git describe --tags --abbrev=0 --always)
|
|
release_name="$NAME-$tag-$TARGET"
|
|
release_tar="${release_name}.tar.gz"
|
|
mkdir "$release_name"
|
|
|
|
if [[ "$TARGET" =~ windows ]]; then
|
|
bin="$NAME.exe"
|
|
else
|
|
bin="$NAME"
|
|
fi
|
|
|
|
cp "target/$TARGET/release/$bin" "$release_name/"
|
|
cp README.md LICENSE "$release_name/"
|
|
tar czf "$release_tar" "$release_name"
|
|
|
|
rm -r "$release_name"
|
|
|
|
# Windows environments in github actions don't have the gnu coreutils installed,
|
|
# which includes the shasum exe, so we just use powershell instead
|
|
if [[ "$TARGET" =~ windows ]]; then
|
|
echo "(Get-FileHash \"${release_tar}\" -Algorithm SHA256).Hash | Out-File -Encoding ASCII -NoNewline \"${release_tar}.sha256\"" | pwsh -c -
|
|
else
|
|
echo -n "$(shasum -ba 256 "${release_tar}" | cut -d " " -f 1)" > "${release_tar}.sha256"
|
|
fi
|