ae0613fbb3
While there, include integration testing to make sure the script is working as intended before using it. While there, edit maketarball.bash's comments.
34 lines
710 B
Bash
Executable File
34 lines
710 B
Bash
Executable File
#!/bin/bash
|
|
set -euo pipefail
|
|
|
|
# 1. obtain the github ref of this action run
|
|
__ref=${GITHUB_REF:-}
|
|
|
|
if [[ $__ref == "" ]]; then
|
|
echo "FATAL: missing github ref" 1>&2
|
|
exit 1
|
|
fi
|
|
|
|
# 2. determine whether to publish to a release or to rolling
|
|
if [[ $__ref =~ ^refs/tags/v ]]; then
|
|
__tag=${__ref#refs/tags/}
|
|
else
|
|
__tag=rolling
|
|
fi
|
|
|
|
# 3. determine whether this is a pre-release
|
|
prerelease="-p"
|
|
if [[ $__tag =~ ^v[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
|
|
prerelease=""
|
|
fi
|
|
|
|
gh=${gh:-gh}
|
|
|
|
set -x
|
|
|
|
# 4. create the release unless it already exists
|
|
$gh release create $prerelease $__tag --target $GITHUB_SHA || true
|
|
|
|
# 5. publish all the assets passed as arguments to the target release
|
|
$gh release upload $__tag --clobber "$@"
|