64 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			64 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
#!/bin/sh
 | 
						|
# Nico Schottelius
 | 
						|
 | 
						|
# Ensure documentation builds cleanly
 | 
						|
echo "Verifying documentation building works ..."
 | 
						|
## ./build clean && ./build man || exit 1
 | 
						|
 | 
						|
# get version from changelog and ensure it's not already present
 | 
						|
changelog_version=$(grep '^[[:digit:]]' docs/changelog | head -n1 | sed 's/:.*//')
 | 
						|
 | 
						|
if git show --quiet $changelog_version >/dev/null 2>&1; then
 | 
						|
    echo "Version $changelog_version already exists, aborting."
 | 
						|
    exit 1
 | 
						|
fi
 | 
						|
 | 
						|
echo "Target version from changelog: $changelog_version"
 | 
						|
 | 
						|
# verify date in changelog
 | 
						|
date_today="$(date +%Y-%m-%d)"
 | 
						|
date_changelog=$(grep '^[[:digit:]]' docs/changelog | head -n1 | sed 's/.*: //')
 | 
						|
 | 
						|
if [ "$date_today" != "$date_changelog" ]; then
 | 
						|
    echo "Date in changelog is not today"
 | 
						|
    echo "Changelog: $date_changelog"
 | 
						|
    exit 1
 | 
						|
fi
 | 
						|
 | 
						|
echo "Press enter to continue"
 | 
						|
read wait
 | 
						|
version=$changelog_version
 | 
						|
 | 
						|
# get target branch
 | 
						|
target_branch=${version%\.*}
 | 
						|
current_branch=$(git rev-parse --abbrev-ref HEAD)
 | 
						|
 | 
						|
echo "Selected branch $target_branch for merging $current_branch"
 | 
						|
 | 
						|
# add tag
 | 
						|
printf "Enter tag description for %s> " "$version"
 | 
						|
read tagmessage
 | 
						|
git tag "$version" -m "$tagmessage"
 | 
						|
 | 
						|
# Import into current version branch
 | 
						|
printf "Press enter to git merge into branch \"$target_branch\" > "
 | 
						|
read prompt
 | 
						|
git checkout "$target_branch"
 | 
						|
git merge "$current_branch"
 | 
						|
git checkout "$current_branch"
 | 
						|
 | 
						|
# Publish manpages and sourcecode
 | 
						|
printf "Press enter to publish doc/ code/ pypi for $version > "
 | 
						|
read prompt
 | 
						|
./build web
 | 
						|
./build pub
 | 
						|
 | 
						|
cat << notes
 | 
						|
To be done manually...
 | 
						|
 | 
						|
    - freecode release
 | 
						|
    - blog entry
 | 
						|
    - linkedin entry
 | 
						|
    - mailinglist update
 | 
						|
 | 
						|
notes
 |