/
deploy.sh
executable file
·71 lines (55 loc) · 1.43 KB
/
deploy.sh
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
63
64
65
66
67
68
69
70
71
#!/bin/bash
get_current_version() {
python3 setup.py --version
}
ask_version_bump_part() {
read -p "Which part to bump (major/minor/patch)? " part
echo $part
}
validate_input() {
if ! [[ "$1" =~ ^(major|minor|patch)$ ]]; then
echo -e "Invalid input. Please enter 'major', 'minor', or 'patch'."
exit 1
fi
}
install_bumpversion() {
if ! command -v bumpversion &> /dev/null; then
echo "Installing bumpversion..."
pip3 install --upgrade bumpversion
fi
}
bump_version() {
bumpversion --current-version $1 $2 setup.py
}
install_twine() {
if ! command -v twine &> /dev/null; then
echo "Installing twine..."
pip3 install --upgrade twine
fi
}
build_package() {
echo "Cleaning up the dist directory..."
rm -rf dist/*
echo "Building the package..."
python3 setup.py sdist bdist_wheel
}
upload_package() {
echo "Uploading the package to PyPI..."
twine upload dist/*
}
main() {
echo -e "\n Package Version Bumper and Uploader \n"
local current_version=$(get_current_version)
echo "Current version: $current_version"
local part=$(ask_version_bump_part)
validate_input $part
install_bumpversion
bump_version $current_version $part
local new_version=$(get_current_version)
echo "New version: $new_version"
install_twine
build_package
upload_package
echo -e "\n Package uploaded successfully! \n"
}
main