From efaf76e9ab2032ed6eedee7260c0857fac34b5b1 Mon Sep 17 00:00:00 2001 From: Jente Hidskes Date: Fri, 16 Apr 2021 14:34:57 +0200 Subject: [PATCH] Include release scripts --- contrib/increment-version | 25 +++++++++++++++++++++++++ contrib/release | 21 +++++++++++++++++++++ contrib/sign-release | 12 ++++++++++++ contrib/tag-release | 26 ++++++++++++++++++++++++++ 4 files changed, 84 insertions(+) create mode 100755 contrib/increment-version create mode 100755 contrib/release create mode 100755 contrib/sign-release create mode 100755 contrib/tag-release diff --git a/contrib/increment-version b/contrib/increment-version new file mode 100755 index 0000000..11a3354 --- /dev/null +++ b/contrib/increment-version @@ -0,0 +1,25 @@ +#!/usr/bin/env bash + +if [ "$#" -ne 1 ]; then + echo "usage: $0 " >&2 + exit 1 +fi + +new_version="$1" + +if [ "$new_version" != "${new_version#v}" ]; then + echo "Error: The new version shouldn't be prefixed with a \"v\"." >&2 + exit 1 +fi + +set -x + +sed -i meson.build -e "s/^ version: '.*'/ version: '$new_version'/" + +echo -n "Minimum wlroots version? " +read -r wlr_version_min + +sed -i meson.build -e "s/'wlroots', version: '.*'/'wlroots', version: '>= $wlr_version_min'/" + +git add meson.build +git commit -m "Update version to $new_version" \ No newline at end of file diff --git a/contrib/release b/contrib/release new file mode 100755 index 0000000..514d370 --- /dev/null +++ b/contrib/release @@ -0,0 +1,21 @@ +#!/usr/bin/env bash + +if [ "$#" -ne 1 ]; then + echo "usage: $0 " >&2 + exit 1 +fi + +new_version="$1" + +if [ "$new_version" != "${new_version#v}" ]; then + echo "Error: The new version shouldn't be prefixed with a \"v\"." >&2 + exit 1 +fi + +set -x + +./increment_version "$new_version" +./tag-release "$new_version" +./sign-release + +git push --tags \ No newline at end of file diff --git a/contrib/sign-release b/contrib/sign-release new file mode 100755 index 0000000..b11fd02 --- /dev/null +++ b/contrib/sign-release @@ -0,0 +1,12 @@ +#!/usr/bin/env bash + +set -x + +project="$(basename "$(pwd)")" +last=$(git describe --tags --abbrev=0) + +prefix="$project-${last#v}" +archive="$prefix.tar.gz" + +git archive --prefix="$prefix/" -o "$archive" "$last" +gpg --output "$archive".sig --detach-sig "$archive" diff --git a/contrib/tag-release b/contrib/tag-release new file mode 100755 index 0000000..4452964 --- /dev/null +++ b/contrib/tag-release @@ -0,0 +1,26 @@ +#!/usr/bin/env bash + +set -x + +if [ "$#" -ne 1 ]; then + echo "usage: $0 " >&2 + exit 1 +fi + +last=$(git describe --tags --abbrev=0) +echo "Last release was $last" + +next="v$1" + +shortlog="$(git shortlog --no-merges "$last"..)" + +printf "Shortlog: \n\n%s\n\nRelease $next? [y/N] " "$shortlog" +read -r answer + +if [ "$answer" != "y" ]; then + exit 0 +fi + +project="$(basename "$(pwd)")" + +(echo "$project $next"; echo ""; echo "$shortlog") | git tag "$next" -ase -F -