File: publish_from_tag.sh

package info (click to toggle)
python-spdx-tools 0.8.3-5
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 5,084 kB
  • sloc: python: 18,675; xml: 12,553; sh: 46; makefile: 7
file content (62 lines) | stat: -rwxr-xr-x 1,498 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#!/usr/bin/env bash
# SPDX-FileCopyrightText: 2023 spdx contributors
#
# SPDX-License-Identifier: Apache-2.0
set -euo pipefail

if [ $# -eq 0 ]; then
    cat<<EOF
Usage:
  $0 \$VERSION
Example:
  $0 0.8.0rc2
where 0.8.0rc2 is the version and v0.8.0rc2 is the corresponding tag.
EOF
    exit 0
fi


version="$1"
tag="v${version}"
tar_gz="https://github.com/spdx/tools-python/releases/download/${tag}/spdx_tools_dist.tar.gz"
tag_dir="dist-${tag}"

cd -- "$(dirname "$0")/.."

if ! command -v twine &> /dev/null; then
    echo "twine could not be found"
    echo "maybe load venv with"
    echo "  . ./venv/bin/activate"
    echo "  . ./venv/bin/activate.fish"
    echo

    if [[ -d ./venv/bin/ ]]; then
        echo "will try to activate ./venv ..."

        source ./venv/bin/activate

        if ! command -v twine &> /dev/null; then
            echo "twine still could not be found"
            exit 1
        fi
    else
        exit 1
    fi
fi


if [[ -d "$tag_dir" ]]; then
    echo "the dir \"$tag_dir\" already exists, exiting for safety"
    exit 1
fi

mkdir -p "$tag_dir"
(cd "$tag_dir" && wget -c "$tar_gz" -O - | tar --strip-components=1 -xz)

twine check "${tag_dir}/spdx-tools-${version}.tar.gz"  "${tag_dir}/spdx_tools-${version}-py3-none-any.whl"
read -r -p "Do you want to upload? [y/N] " response
case "$response" in
    [yY][eE][sS]|[yY])
        twine upload -r pypi "${tag_dir}/spdx-tools-${version}.tar.gz"  "${tag_dir}/spdx_tools-${version}-py3-none-any.whl"
        ;;
esac