mirror of
https://gh.wpcy.net/https://github.com/WeblateOrg/weblate.git
synced 2026-04-25 20:23:37 +08:00
85 lines
2.3 KiB
Bash
Executable file
85 lines
2.3 KiB
Bash
Executable file
#!/bin/sh
|
|
|
|
set -e
|
|
|
|
if [ "x$1" = "x--help" -o "x$1" = "x-h" ] ; then
|
|
echo "Usage: ./scripts/create-release [--tag]"
|
|
exit 1
|
|
fi
|
|
|
|
if ! git diff --exit-code --quiet ; then
|
|
echo "There are not committed changes!"
|
|
exit 1
|
|
fi
|
|
|
|
DO_TAG=0
|
|
if [ "x$1" = "x--tag" ] ; then
|
|
DO_TAG=1
|
|
shift
|
|
fi
|
|
|
|
# Start with clean build environment
|
|
./setup.py clean
|
|
rm -rf build
|
|
|
|
# Grab version
|
|
. scripts/test-database
|
|
version=$(python -c 'import weblate.utils.version; print(weblate.utils.version.VERSION_BASE)')
|
|
namever=weblate-$version
|
|
tarver=Weblate-$version
|
|
|
|
# What are we going to build?
|
|
if [ "$DO_TAG" -eq 1 ] ; then
|
|
./scripts/prepare-release
|
|
git tag -s $namever -m "Version $version"
|
|
cd ~/weblate/test
|
|
git pull -q
|
|
git tag -s $namever -m "Test data for version $version"
|
|
cd ~/weblate/weblate
|
|
fi
|
|
|
|
# Compile po files
|
|
./scripts/generate-locales
|
|
|
|
# Create tarballs
|
|
rm -rf ./build/
|
|
fakeroot ./setup.py sdist
|
|
fakeroot ./setup.py bdist_wheel
|
|
|
|
# Recompress tarballs
|
|
zcat dist/$tarver.tar.gz | xz > dist/$tarver.tar.xz
|
|
zcat dist/$tarver.tar.gz | bzip2 > dist/$tarver.tar.bz2
|
|
|
|
# Upload release
|
|
if [ "$DO_TAG" -eq 1 ] ; then
|
|
# PyPi archive upload
|
|
twine upload --sign --identity 63CB1DF1EF12CF2AC0EE5A329C27B31342B7511D dist/$tarver.tar.gz
|
|
twine upload --sign --identity 63CB1DF1EF12CF2AC0EE5A329C27B31342B7511D dist/$tarver*.whl
|
|
|
|
# Sign remaining files
|
|
gpg --detach-sign --armor --local-user 63CB1DF1EF12CF2AC0EE5A329C27B31342B7511D dist/$tarver.tar.xz
|
|
gpg --detach-sign --armor --local-user 63CB1DF1EF12CF2AC0EE5A329C27B31342B7511D dist/$tarver.tar.bz2
|
|
|
|
# Download server
|
|
scp dist/Weblate-$version.tar.* web:/srv/http/dl.cihar.com/weblate/
|
|
|
|
# Git tags
|
|
git push --tags
|
|
cd ~/weblate/test
|
|
git push --tags
|
|
cd ~/weblate/weblate
|
|
|
|
# Update stable branch
|
|
git checkout stable
|
|
git merge $namever
|
|
git push origin stable
|
|
git checkout main
|
|
|
|
# Upload to GitHub
|
|
./scripts/extract-release-notes $version > dist/Weblate-$version.md
|
|
hub release create --file=dist/Weblate-$version.md $namever
|
|
hub release edit -m '' --attach=dist/$tarver.tar.gz $namever
|
|
hub release edit -m '' --attach=dist/$tarver.tar.gz.asc $namever
|
|
hub release edit -m '' --attach=dist/$tarver.tar.xz $namever
|
|
hub release edit -m '' --attach=dist/$tarver.tar.xz.asc $namever
|
|
fi
|