Skip to content

Commit

Permalink
Simplify releasing
Browse files Browse the repository at this point in the history
  • Loading branch information
otsaloma committed Nov 7, 2017
1 parent ed47e80 commit 5e9c06e
Show file tree
Hide file tree
Showing 4 changed files with 42 additions and 36 deletions.
2 changes: 1 addition & 1 deletion README.aeidon.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ aeidon

aeidon is a Python package for reading, writing and manipulating
text-based subtitle files. It is used by the gaupol package, which
provides a a subtitle editor application with a GTK+ user interface.
provides a subtitle editor application with a GTK+ user interface.

Separating a user-interface independent general-purpose subtitle editing
package from Gaupol has been an afterthought and thus not well designed
Expand Down
60 changes: 26 additions & 34 deletions RELEASING.md
Original file line number Diff line number Diff line change
@@ -1,37 +1,29 @@
Releasing a New Version
=======================

* Update translations
- `tools/update-translations`
- `msgmerge -UN po/fi.po po/gaupol.pot`
- `emacs po/fi.po`
- `tx push -s`
- `tx push -tf -l fi`
- `tx pull -a --minimum-perc=75`
- `tools/check-translations`
- `tools/check-translations | grep %`
- `git commit -a -m "Update translations for X.Y.Z"`
* Do final quality checks
- `python3 -Wd bin/gaupol`
- `pyflakes aeidon gaupol bin/gaupol data/extensions/*/*.py *.py`
- `py.test --tb=no aeidon`
- `py.test --tb=no gaupol`
- `py.test --tb=no data/extensions`
* Bump version numbers
- `aeidon/__init__.py`
- `gaupol/__init__.py`
- `data/extensions/*/*.extension.in`
- `win32/gaupol.iss`
* Update `NEWS.md` and `TODO.md`
* Check that installation works
- `sudo python3 setup.py install --prefix=/usr/local`
- `sudo python3 setup.py clean`
- `/usr/local/bin/gaupol`
* Commit changes
- `git commit -a -m "RELEASE X.Y.Z"`
- `git tag -s X.Y.Z`
- `git push`
- `git push --tags`
* Build Windows installer (see [`win32/RELEASING.md`](win32/RELEASING.md))
* Add release notes and Windows installer on GitHub
* Update [web site](https://otsaloma.io/gaupol/)
```bash
# Update translations.
tools/update-translations
msgmerge -UN po/fi.po po/gaupol.pot
emacs po/fi.po
tx push -s
tx push -tf -l fi
tx pull -a --minimum-perc=75
tools/check-translations
tools/check-translations | grep %
git commit -a -m "Update translations"

# Check, test, do final edits and release.
python3 -Wd bin/gaupol
pyflakes bin/gaupol aeidon gaupol data/extensions/*/*.py *.py
py.test --tb=no aeidon gaupol data/extensions
emacs */__init__.py data/extensions/*/*.in win32/gaupol.iss
emacs NEWS.md TODO.md
sudo ./setup.py install --prefix=/usr/local clean
/usr/local/bin/gaupol
tools/release

# Build Windows installer (see win32/RELEASING.md).
# Add release notes and Windows installer on GitHub.
# Update web site: <https://otsaloma.io/gaupol/>.
```
14 changes: 14 additions & 0 deletions tools/release
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
#!/bin/bash
# Commit changes, tag and push release to GitHub.
cd "$(dirname "$0")/.." || exit 1
VERSION="$(python3 -c "import gaupol; print(gaupol.__version__)")"
echo "Git status:"
git status --porcelain
printf "\nRelease version: $VERSION\n"
read -p "Press Enter to continue or Ctrl+C to abort: "
git commit -a -m "RELEASE $VERSION"
git tag -s -m "RELEASE $VERSION" $VERSION
git push
git push --tags
# Add release notes and possible downloads.
xdg-open https://github.com/otsaloma/gaupol/tags
2 changes: 1 addition & 1 deletion win32/RELEASING.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,5 +26,5 @@ win32\test-build.bat
# winsetup.py: s/base="Win32GUI"/base=None/
```

* Update version numbers in `win32/gaupol.iss` and compile with Inno Setup
* Check `win32/gaupol.iss` and compile with Inno Setup
* Install Gaupol and check that it works

0 comments on commit 5e9c06e

Please sign in to comment.