#!/usr/bin/env bash
set -euo pipefail

repo="${1:-pypi}"
tag="${2:-${RELEASE_TAG:-}}"
version="${tag#v}"
PYTHON_BIN="${PYTHON_BIN:-python3}"

scripts/release/build "$repo" "$tag"

case "$repo" in
  pypi)
    repo_url="${TWINE_REPOSITORY_URL:-}"
    sdist="artifacts/release/$repo/imaegete-$version.tar.gz"
    wheel="artifacts/release/$repo/imaegete-$version-py3-none-any.whl"
    ;;
  testpypi)
    repo_url="${TWINE_REPOSITORY_URL:-https://test.pypi.org/legacy/}"
    sdist="artifacts/release/$repo/testimaegete-$version.tar.gz"
    wheel="artifacts/release/$repo/testimaegete-$version-py3-none-any.whl"
    ;;
  *)
    echo "unknown repository: $repo" >&2
    exit 1
    ;;
esac

args=()
if [ -n "$repo_url" ]; then
  args+=(--repository-url "$repo_url")
fi

"$PYTHON_BIN" -m pip install --upgrade twine
"$PYTHON_BIN" -m twine upload "${args[@]}" "$sdist" "$wheel"
