Skip to content

Commit 22d4fbd

Browse files
committed
added a helper script for quick deploys
1 parent 96525d0 commit 22d4fbd

File tree

1 file changed

+50
-0
lines changed

1 file changed

+50
-0
lines changed

scripts/deploy-test-pypi.sh

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
#!/bin/sh
2+
3+
# Get version from version.py
4+
VERSION_FILE="socketdev/version.py"
5+
ORIGINAL_VERSION=$(grep -o "__version__.*" $VERSION_FILE | awk '{print $3}' | sed 's/"//g' | sed "s/'//g" | tr -d '\r')
6+
BACKUP_FILE="${VERSION_FILE}.bak"
7+
8+
# Get existing versions from TestPyPI
9+
echo "Checking existing versions on TestPyPI..."
10+
EXISTING_VERSIONS=$(curl -s https://test.pypi.org/pypi/socket-sdk-python/json | python -c "
11+
import sys, json
12+
data = json.load(sys.stdin)
13+
versions = [v for v in data.get('releases', {}).keys() if v.startswith('$ORIGINAL_VERSION.dev')]
14+
if versions:
15+
versions.sort(key=lambda x: int(x.split('dev')[1]))
16+
print(versions[-1])
17+
")
18+
19+
# Determine new version
20+
if [ -z "$EXISTING_VERSIONS" ]; then
21+
VERSION="${ORIGINAL_VERSION}.dev1"
22+
echo "No existing dev versions found. Using ${VERSION}"
23+
else
24+
LAST_DEV_NUM=$(echo $EXISTING_VERSIONS | grep -o 'dev[0-9]*' | grep -o '[0-9]*')
25+
NEXT_DEV_NUM=$((LAST_DEV_NUM + 1))
26+
VERSION="${ORIGINAL_VERSION}.dev${NEXT_DEV_NUM}"
27+
echo "Found existing version ${EXISTING_VERSIONS}. Using ${VERSION}"
28+
fi
29+
30+
echo "Deploying version ${VERSION} to Test PyPI"
31+
32+
# Backup original version.py
33+
cp $VERSION_FILE $BACKUP_FILE
34+
35+
# Update version in version.py
36+
sed -i.tmp "s/__version__ = [\"']${ORIGINAL_VERSION}[\"']/__version__ = '${VERSION}'/" $VERSION_FILE
37+
rm "${VERSION_FILE}.tmp"
38+
39+
# Build and upload to test PyPI (with suppressed output)
40+
python -m build --wheel --sdist > /dev/null 2>&1
41+
42+
# Restore original version.py
43+
mv $BACKUP_FILE $VERSION_FILE
44+
45+
# Upload to TestPyPI
46+
python -m twine upload --verbose --repository testpypi dist/*${VERSION}*
47+
48+
echo "Deployed to Test PyPI. Wait a few minutes before installing the new version."
49+
echo -e "\nNew version deployed:"
50+
echo "${VERSION}"

0 commit comments

Comments
 (0)