awesome/docs/doing_a_release.md
Uli Schlachter 0c575ee3df Import DoingARelease from the wiki
This was only partly converted to markdown. It still refers to wiki pages with
wiki syntax, because we first have to decide on what happens with the wiki
before this can be updated.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2016-05-01 10:08:43 +02:00

2.5 KiB

How to do a release

  • Edit awesomeConfig.cmake and choose a codename that is not already listed in Releases. jd always picked a song title, you should do the same.
  • Commit this changes to awesomeConfig.cmake
  • Add the release version and date to Releases
  • Change the version in Template:Stable-version
  • Git sign with git tag -s vX.Y.Z -m 'awesome vX.Y.Z'
  • Push with git push and push tag with git push origin vX.Y.Z
  • Run make dist to create tarballs.
  • Copy tarballs inside awesome.naquadah.org:/var/www/awesome.naquadah.org/download/
  • Edit download.mdwn from [http://git.naquadah.org/?p=awesome-www.git;a=summary the awesome www repository] to change the version information, links, etc
  • Go into the 'src' submodule, and update it to vX.Y.Z with git checkout vX.Y.Z. This will be used to build and publish the documentation online.
  • Commit download.mdwn and src.
  • git push this
  • Type make push in awesome-www to push changes to the website. Be careful to have ikiwiki, asciidoc and imagemagick for Perl (perlmagick, otherwise images get broken)
  • Send a mail to awesome@naquadah.org with any amount of information and jokes inside.
  • Change the topic on IRC

For the announcement mail, the following shell script might be handy:

#!/bin/sh
VER=$1
PREV_VER=$2
TAG="v$VER"
PTAG="v$PREV_VER"
REVS="$PTAG..$TAG"

echo "awesome version $VER has been released. It is available from:"

print_file()
{
        EXT="$1"
        URL="http://awesome.naquadah.org/download/awesome-$VER.$EXT"
        FILE="/var/www/awesome.naquadah.org/download/awesome-$VER.$EXT"
        MD5=$(ssh prometheus.naquadah.org "md5sum $FILE" 2>/dev/null | cut -f1 -d ' ')
        SHA1=$(ssh prometheus.naquadah.org "sha1sum $FILE" 2>/dev/null | cut -f 1 -d ' ')

        echo
        echo "$EXT: $URL"
        echo "md5: $MD5"
        echo "sha1: $SHA1"
}

print_headline()
{
        HEAD="$@"
        echo
        echo "$HEAD"
        echo "$HEAD" | sed -e 's/./-/g'
}

print_file "tar.xz"
print_file "tar.bz2"

print_headline "number of changes"
git rev-list "$REVS" | wc -l

print_headline "number of commiters"
git log --format=format:%an "$REVS" | sort -u | wc -l

print_headline "shortlog"
git log "$REVS" | git shortlog --numbered | cat

print_headline "diffstat"
git diff --stat "$REVS" | cat