50 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			50 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
#!/bin/sh
 | 
						|
# Nico Schottelius
 | 
						|
 | 
						|
files="doc/changelog lib/cdist/__init__.py"
 | 
						|
 | 
						|
# Stuff to take care of when doing a release
 | 
						|
echo "Preparing next release"
 | 
						|
 | 
						|
# Ensure documentation builds cleanly
 | 
						|
echo "Testing documentation..."
 | 
						|
./build clean && ./build man || exit 1
 | 
						|
 | 
						|
# get version
 | 
						|
changelog_version=$(head -n1 doc/changelog | sed 's/:.*//')
 | 
						|
#git_version=$(git describe)
 | 
						|
lib_version=$(grep ^VERSION lib/cdist/__init__.py | sed -e 's/.*= //' -e 's/"//g')
 | 
						|
 | 
						|
echo "Ensure you fixed/prepared version files: $files"
 | 
						|
echo "changelog: $changelog_version"
 | 
						|
#echo "git: $git_version"
 | 
						|
echo "lib: $lib_version"
 | 
						|
 | 
						|
if [ "$lib_version" != "$changelog_version" ]; then
 | 
						|
    echo "Messed up versions, not releasing"
 | 
						|
    exit 1
 | 
						|
else
 | 
						|
    echo "Versions are sane, continuing"
 | 
						|
fi
 | 
						|
echo "Press enter to continue"
 | 
						|
read wait
 | 
						|
version=$lib_version
 | 
						|
 | 
						|
# get target branch
 | 
						|
branch=${version%.?}
 | 
						|
 | 
						|
# add tag
 | 
						|
printf "Enter tag description for %s> " "$version"
 | 
						|
read tagmessage
 | 
						|
git tag "$version" -m "$tagmessage"
 | 
						|
 | 
						|
# Import into current version branch
 | 
						|
echo "git merge into $branch"
 | 
						|
git checkout $branch
 | 
						|
git merge master
 | 
						|
git checkout master
 | 
						|
 | 
						|
# Publish manpages and sourcecode
 | 
						|
echo "publising doc/ and code/"
 | 
						|
./build web
 | 
						|
./build pub
 |