You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2.1 KiB

Releasing Terminator

Make sure you have the latest master branch, no un-committed changes, and are ready to release that state.


Set version in Python

sed -i "s/APP_VERSION =.*/APP_VERSION = '${VERSION}'/" terminatorlib/
sed -i -e "s/@@[email protected]@/${VERSION}/" terminatorlib/

Generate the changelog

For the changelog we are using github-changelog-generator

github_changelog_generator --future-release "v$VERSION"

Check and review for the expected result.

Review and update translations

Check for open pull-requests by Transifex or pull the files manually.



This will make sure we mention everyone that has contributed to Terminator.

git log --use-mailmap | grep ^Author: | cut -f2- -d' ' | grep -v ^Launchpad | sort | uniq | sed 's/^/* /' | cat .authors.header - .authors.footer > AUTHORS

Make sure to review the list, and update .mailmap when it is necessary.

Git Tag

Commit these changes to the "master" branch:

git add terminatorlib/
git commit -v -m "Release version $VERSION"
git push origin master

And tag it with a signed tag:

git tag -s -m "Version $VERSION" v$VERSION

Push the tag.

git push --tags

Signed artifacts

To provide a signed tarball for distributions we use sdist and gpg:

VERSION=$(git describe --tags | sed s/^v//)
GPGKEY=$(git config --get

mkdir -p dist

git archive HEAD --prefix terminator-${VERSION}/ -o dist/terminator-${VERSION}.tar.gz

gpg -u ${GPGKEY} --armor \
  --output dist/terminator-${VERSION}.tar.gz.asc \
  --detach-sig dist/terminator-${VERSION}.tar.gz

GitHub Release

Now update the tag to a release on GitHub, and add the artifacts:

Make sure to add the proper section from as description to the release.