Files

51 lines
1.2 KiB
Bash
Executable File

#!/bin/bash
set -e
MODULE="git.quad4.io/quad4-software/osv-server"
OWNER="quad4-software"
REGISTRY_URL="https://git.quad4.io/api/packages/${OWNER}/go/upload"
if [[ -n "$GITHUB_REF" && "$GITHUB_REF" == refs/tags/* ]]; then
VERSION=${GITHUB_REF#refs/tags/}
else
VERSION="v0.0.0-$(date +%Y%m%d%H%M%S)-$(git rev-parse --short HEAD 2>/dev/null || echo 'unknown')"
fi
PREFIX="${MODULE}@${VERSION}"
echo "Packaging ${PREFIX}..."
TMP_PKG_DIR="pkg_tmp"
mkdir -p "${TMP_PKG_DIR}/${PREFIX}"
for item in $(ls -A); do
case "$item" in
.git|.gitea|bin|data|tests|pkg_tmp|scripts|*.zip|*.db*|*.hash|*.out|coverage.out)
continue
;;
*)
cp -r "$item" "${TMP_PKG_DIR}/${PREFIX}/"
;;
esac
done
echo "Creating archive..."
ZIP_FILE="module.zip"
rm -f "$ZIP_FILE"
(cd "$TMP_PKG_DIR" && zip -r "../$ZIP_FILE" .)
rm -rf "$TMP_PKG_DIR"
if [ -z "$GREG_TOKEN" ]; then
echo "Error: GREG_TOKEN environment variable is not set."
exit 1
fi
echo "Uploading to Gitea Package Registry..."
curl -X PUT --user "${OWNER}:${GREG_TOKEN}" \
--upload-file "$ZIP_FILE" \
"$REGISTRY_URL"
rm -f "$ZIP_FILE"
echo "Successfully published ${PREFIX}"