File: tag.sh

package info (click to toggle)
hiro 1.1.1-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 452 kB
  • sloc: python: 2,006; sh: 54; makefile: 30
file content (26 lines) | stat: -rwxr-xr-x 1,187 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#!/bin/bash
rm -rf build dist
last_tag=$(git tag | sort -nr | head -n 1)
echo current version:$(python setup.py --version), current tag: $last_tag
read -p "new version:" new_version
last_portion=$(grep -P "^Changelog$" HISTORY.rst -5 | grep -P "^v\d+.\d+")
changelog_file=/var/tmp/hiro.newchangelog
new_changelog_heading="v${new_version}"
new_changelog_heading_sep=$(python -c "print('-'*len('$new_changelog_heading'))")
echo $new_changelog_heading > $changelog_file
echo $new_changelog_heading_sep >> $changelog_file
echo "Release Date: `date +"%Y-%m-%d"`" >> $changelog_file
python -c "print(open('HISTORY.rst').read().replace('$last_portion', open('$changelog_file').read() +'\n' +  '$last_portion'))" > HISTORY.rst.new
cp HISTORY.rst.new HISTORY.rst
vim -O HISTORY.rst <(echo \# vim:filetype=git;git log $last_tag..HEAD --format='* %s (%h)%n%b' | sed -E '/^\*/! s/(.*)/    \1/g')
if rst2html.py HISTORY.rst > /dev/null
then
    git add HISTORY.rst
    git commit -m "updating changelog for  ${new_version}"
    echo "tagging $new_version"
    git tag -s ${new_version} -m "tagging version ${new_version}"
    rm HISTORY.rst.new
else
    echo changelog has errors. skipping tag.
fi;