Wikidiff2/Release process

This page documents the release process for the "wikidiff2" extension to PHP.

Prerequisites

edit
  • To tag and create a new wikidiff2 version a PGP Key is needed.
  • The user uploading the release needs production shell access and must be part of the "releasers-wikidiff2" group

Release

edit
  • Decide what the next version is going to be, according to semantic versioning. Update WIKIDIFF2_VERSION_STRING accordingly.
  • Create a GPG signed git tag (git tag 1.7.0 -s), and push it (git push --tags)
  • Generate a tarball, and GPG sign it. The following script should do it and name it properly:
#!/bin/bash

git clean -fdx
TAG=`git describe --abbrev=0`
NAME="wikidiff2"
echo "Releasing $TAG of wikidiff2"
git archive --prefix=$NAME-$TAG/ $TAG -o $NAME-$TAG.tar.gz
gpg --detach-sign $NAME-$TAG.tar.gz
gpg --verify $NAME-$TAG.tar.gz.sig
scp $NAME-$TAG.tar.gz releasesXXXX:~/
# on releasesXXX
mv ~/wikidiff2*.tar.gz /srv/org/wikimedia/releases/wikidiff2/