51 lines
1.2 KiB
Bash
Executable File
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}"
|