set -exuo pipefail
VERSION="$1"
TARGET="$2"
ARCHIVE_NAME="mdcat-ng-${VERSION}-${TARGET}"
package_windows() {
local archive_file
local staging
archive_file="${ARCHIVE_NAME}.zip"
staging="${ARCHIVE_NAME}"
mv LICENSE LICENSE.txt
mkdir -p "${staging}"
cp "target/${TARGET}/release/mdcat.exe" \
"target/${TARGET}/release/mdless.exe" \
README.md CHANGELOG.md LICENSE.txt mdcat.1.adoc \
"${staging}/"
7z a "${archive_file}" "${staging}"
rm -rf "${staging}"
if [[ -n "${GITHUB_OUTPUT:-}" ]]; then
echo "file=${archive_file}" >>"${GITHUB_OUTPUT}"
echo "name=${ARCHIVE_NAME}.zip" >>"${GITHUB_OUTPUT}"
fi
}
package_unix() {
local archive_file
local pkg_dir
archive_file="${ARCHIVE_NAME}.tar.gz"
pkg_dir=$(mktemp -d)
mkdir "${pkg_dir}/${ARCHIVE_NAME}"
cp -r \
README.md CHANGELOG.md LICENSE \
"target/${TARGET}/release/mdcat" \
"target/${TARGET}/release/mdless" \
"mdcat.1" \
"${pkg_dir}/${ARCHIVE_NAME}"
tar -czf "${PWD}/${archive_file}" -C "${pkg_dir}" "${ARCHIVE_NAME}"
echo "file=${archive_file}" >>"${GITHUB_OUTPUT}"
echo "name=${ARCHIVE_NAME}.tar.gz" >>"${GITHUB_OUTPUT}"
}
if [[ "${TARGET}" == *windows* ]]; then
package_windows
else
package_unix
fi