blob: eb571e2c5787fc3233840a8afc6e7293e8f4cd9d [file] [log] [blame]
#!/bin/bash
set -eu
cd "$(dirname "$(realpath "$0")")"
for python_v in python3 pypy3; do
if ./runTestLibusb.sh "$python_v" https://github.com/libusb/libusb.git libusb.git master v1.0.19 v1.0.22 v1.0.24 v1.0.25 v1.0.26 v1.0.27; then
:
else
echo "runTestLibusb.sh failed with ${python_v} ($("$python_v" --version))"
exit 1
fi
done
export I_KNOW_HOW_TO_RELEASE_PYTHON_LIBUSB1=1
echo "Fetching libusb1 windows binary distribution..."
python3 setup.py --quiet update_libusb
echo "Building distributions..."
embedded_dll_path="usb1/libusb-1.0.dll"
for python_v in python3; do
echo "$python_v bdist_wheel win32"
cp "build/win32/libusb-1.0.dll" "$embedded_dll_path"
"${python_v}" setup.py --quiet bdist_wheel --plat-name win32 clean --all
cp "build/win_amd64/libusb-1.0.dll" "$embedded_dll_path"
"${python_v}" setup.py --quiet bdist_wheel --plat-name win_amd64 clean --all
rm "$embedded_dll_path"
"${python_v}" setup.py --quiet bdist_wheel --plat-name any clean --all
done
python3 setup.py --quiet sdist clean --all
release_prefix="dist/libusb1-$(python3 -c 'import versioneer; print(versioneer.get_version())')"
twine check --strict "${release_prefix}"*.{whl,tar.gz}
echo "Done. Next, check their content, sign each:"
echo " for release in ${release_prefix}-*.whl ${release_prefix}.tar.gz; do gpg --armor --detach-sign \"\$release\"; done"
echo "upload them to pypi:"
echo " twine upload ${release_prefix}-*.whl{,.asc} ${release_prefix}.tar.gz{,.asc}"
echo "and create a new release on github"