Some cleanups in GitHub Actions CI
[tinc] / .github / workflows / deb / prepare.sh
1 #!/bin/bash
2
3 set -euo pipefail
4
5 bail() {
6   echo >&2 "$@"
7   exit 1
8 }
9
10 find_tag() {
11   git describe --abbrev=0 --always --tags --match='release-*' "$@"
12 }
13
14 templates=.github/workflows/deb/debian
15
16 # get latest tag name
17 curr=$(find_tag HEAD)
18 [[ -z $curr ]] && bail 'could not determine release version'
19
20 # get previous tag name
21 prev=$(find_tag "$curr"^)
22 [[ -z $curr ]] && bail 'could not determine previous release version'
23
24 # strip release prefix to get the current version number
25 version=${curr//release-/}
26
27 # prepare a new debian directory
28 dh_make --yes --single --createorig --copyright gpl2 --packagename "tinc_$version-$JOB_DISTRIBUTION"
29
30 # write all commit messages between two most recent tags to the changelog
31 gbp dch --since "$prev" --ignore-branch --spawn-editor=never --release
32
33 # replace placeholders with files copied from https://packages.debian.org/experimental/tinc
34 cp "$templates/"* debian/
35
36 # remove useless READMEs created by dh_make
37 rm -f debian/README.*