diff --git a/.travis.yml b/.travis.yml index ae69e70..275b276 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,7 +1,7 @@ language: cpp compiler: - - clang - - gcc +- clang +- gcc addons: apt: sources: @@ -11,5 +11,5 @@ addons: - g++-4.8 - clang install: - - if [ "$CXX" = "g++" ]; then export CXX="g++-4.8" CC="gcc-4.8"; fi -script: ./autobuild +- if [ "$CXX" = "g++" ]; then export CXX="g++-4.8" CC="gcc-4.8"; fi +script: "./autobuild && ./do-release" diff --git a/CHANGELOG b/CHANGELOG new file mode 100644 index 0000000..9826dfe --- /dev/null +++ b/CHANGELOG @@ -0,0 +1,5 @@ +LIBEMSHA CHANGELOG +================== + +1.0.0 (2015-12-18): +Initial release. diff --git a/configure.ac b/configure.ac index 9a1a89f..bfd9ad3 100644 --- a/configure.ac +++ b/configure.ac @@ -1,6 +1,8 @@ +# autoconf version 2.68 and automake version 1.11 seem to be the latest +# versions that can be used with Travis right now. AC_PREREQ([2.68]) AC_INIT([libemsha], - [1.0.0-RC1], + [1.0.0-RC2], [coder@kyleisom.net], [libemsha], [https://kyleisom.net/projects/libemsha/]) @@ -8,6 +10,7 @@ AM_INIT_AUTOMAKE([1.11 foreign]) AC_CONFIG_SRCDIR([src/emsha/sha256.hh]) AC_CONFIG_FILES([Makefile src/Makefile doc/Makefile doc/sphinx/source/conf.py]) +AC_CONFIG_FILES([do-release], [chmod +x do-release]) AC_CONFIG_MACRO_DIR([m4]) AC_CHECK_HEADERS diff --git a/do-release.in b/do-release.in new file mode 100755 index 0000000..47f1b5c --- /dev/null +++ b/do-release.in @@ -0,0 +1,41 @@ +#!/bin/sh + +set -e + +VERSION="@PACKAGE_VERSION@" +TARBALL="@PACKAGE_NAME@-$VERSION" + +echo "[+] building release tarballs" +make clean +make dist-gzip +if [ ! -e "$TARBALL.tar.gz" ] +then + >&2 echo "[!] Expected to find ${TARBALL}.tar.gz, but it wasn't found." + >&2 echo " Cannot proceed, aborting." + exit 1 +fi + +make dist-zip +if [ ! -e "$TARBALL.zip" ] +then + >&2 echo "[!] Expected to find ${TARBALL}.zip, but it wasn't found." + >&2 echo " Cannot proceed, aborting." + exit 1 +fi + +mv "${TARBALL}.tar.gz" "@PACKAGE_NAME@-release.tar.gz" +mv "${TARBALL}.zip" "@PACKAGE_NAME@-release.zip" + +echo "[+] building release notes" +RELEASE_NOTES_AWK="/^[0-9]+\.[0-9]+\.[0-9]+(-[a-zA-Z0-9]+)? \([0-9]{4}-[0-9]{2}-[0-9]{2}\):/{ + nmatch++; + if (nmatch>1) exit +} + +{ + if (nmatch>0) + print \$0; +}" + +awk "$RELEASE_NOTES_AWK" CHANGELOG > RELEASE_NOTES +echo "[+] release is ready"