set -eu
TAG="$(echo ${1} | sed 's/refs\/tags\///')"
TARGET="${2}"
if echo ${TARGET} | grep -i windows > /dev/null; then
EXE_SUFFIX=".exe"
ARCHIVE_FORMAT="zip"
elif echo ${TARGET} | grep -i darwin > /dev/null; then
EXE_SUFFIX=""
ARCHIVE_FORMAT="zip"
else
EXE_SUFFIX=""
ARCHIVE_FORMAT="tarball"
fi
TOP="$(pwd)"
SCRATCH=$(mktemp -d ./tmp.XXXXXXXXXX)
SCRATCH="${TOP}/${SCRATCH}"
trap "rm -rf ${SCRATCH}" EXIT HUP INT QUIT TERM
pushd "${SCRATCH}"
NAME="zoog-${TAG}-${TARGET}"
mkdir "${NAME}"
cp -a "${TOP}/README.md" "${NAME}"
cp -a "${TOP}/CHANGELOG.md" "${NAME}"
cp -a "${TOP}/LICENSE" "${NAME}"
for BINARY in opusgain zoogcomment; do
BINARY_PATH="${TOP}/target/${TARGET}/release/${BINARY}${EXE_SUFFIX}"
if [ -f "${BINARY_PATH}" ]; then
cp -a "${BINARY_PATH}" "${NAME}"
fi
done
if [ "${ARCHIVE_FORMAT}" = "tarball" ]; then
CONTENT_TYPE="application/x-bzip2"
OUTPUT="${NAME}.tar.bz2"
tar -jcf "${OUTPUT}" "${NAME}"
elif [ "${ARCHIVE_FORMAT}" = "zip" ]; then
CONTENT_TYPE="application/zip"
OUTPUT="${NAME}.zip"
zip -r "${OUTPUT}" "${NAME}"
else
echo "Don't know how to generate ${ARCHIVE_FORMAT}"
exit 1
fi
mv "${OUTPUT}" "${TOP}"
echo "path=${TOP}/${OUTPUT}" >> "${GITHUB_OUTPUT}"
echo "name=${OUTPUT}" >> "${GITHUB_OUTPUT}"
echo "content_type=${CONTENT_TYPE}" >> "${GITHUB_OUTPUT}"