notcurses/tools/release.sh

71 lines
1.8 KiB
Bash
Raw Normal View History

2020-04-19 06:23:08 +00:00
#!/bin/sh
2020-11-22 04:43:41 +00:00
# requires https://pypi.org/project/githubrelease/
2020-04-19 06:23:08 +00:00
set -e
usage() { echo "usage: `basename $0` oldversion newversion quip" ; }
2020-04-19 06:23:08 +00:00
[ $# -eq 3 ] || { usage >&2 ; exit 1 ; }
2020-04-19 06:23:08 +00:00
OLDVERSION="$1"
VERSION="$2"
QUIP="$3"
2020-04-19 06:23:08 +00:00
2020-05-11 01:38:46 +00:00
vi NEWS.md
2020-04-19 06:23:08 +00:00
git clean -f -d -x
# bump version numbers wherever they occur (wherever we enumerate them, anyway)
BUMP="CMakeLists.txt doc/Doxyfile doc/man/man*/* doc/man/index.html cffi/setup.py cffi/notcurses-pydemo.1.md rust/Cargo.toml rust/build/build.rs"
2020-04-19 06:23:08 +00:00
for i in $BUMP ; do
sed -i -e "s/$OLDVERSION/$VERSION/g" $i
done
BUILDDIR="build-$VERSION"
# do a build with Doxygen enabled, upload docs, clean it up
mkdir "$BUILDDIR"
cd "$BUILDDIR"
cmake -DUSE_DOXYGEN=on ..
make -j
make test
2020-08-25 22:23:13 +00:00
ssh qemfd.net rm -rf /opt/notcurses/html
scp -r html qemfd.net:/opt/notcurses/html
scp *.html ../doc/man/index.html qemfd.net:/opt/notcurses/
cd ..
# if that all worked, commit, push, and tag
2020-04-19 06:23:08 +00:00
git commit -a -m v$VERSION
git push
git pull
2020-05-17 12:12:26 +00:00
git tag -a v$VERSION -m v$VERSION -s
2020-04-19 06:23:08 +00:00
git push origin --tags
git pull
TARBALL=v$VERSION.tar.gz
wget https://github.com/dankamongmen/notcurses/archive/$TARBALL
gpg --sign --armor --detach-sign $TARBALL
rm v$VERSION.tar.gz
2020-04-19 06:23:08 +00:00
echo "Cut $VERSION, signed to $TARBALL.asc"
2020-08-24 02:35:28 +00:00
echo "Now uploadling the sig to https://github.com/dankamongmen/notcurses/releases"
echo "The bastards are trying to immanentize the Eschaton"
# requires token in ~/.netrc
github-release dankamongmen/notcurses create v$VERSION --name "v$VERSION$QUIP" --publish $TARBALL.asc
2020-08-24 02:35:28 +00:00
rm $TARBALL.asc
cd "$BUILDDIR"
2020-08-23 11:45:28 +00:00
sudo make install
tar czvf notcurses-doc-$VERSION.tar.gz *.1 *.3 *.html
github-asset dankamongmen/notcurses upload v$VERSION notcurses-doc-$VERSION.tar.gz
cd ../cffi
2020-08-03 06:52:27 +00:00
python3 setup.py sdist
2020-08-23 11:45:28 +00:00
python3 setup.py build
2020-08-03 06:52:27 +00:00
twine upload -s -udankamongmen dist/*
2020-08-16 12:55:38 +00:00
cd ../rust
cargo clean
cargo publish
cd "../$BUILDDIR"
2020-08-23 11:45:28 +00:00
cat install_manifest.txt | sudo xargs rm