64 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			64 lines
		
	
	
	
		
			1.5 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
 | |
| branch=${version%\.*}
 | |
| 
 | |
| echo "Selecting branch $branch for merging"
 | |
| exit 0
 | |
| 
 | |
| # 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 \"$branch\" > "
 | |
| read prompt
 | |
| git checkout $branch
 | |
| git merge master
 | |
| git checkout master
 | |
| 
 | |
| # Publish manpages and sourcecode
 | |
| printf "Press enter to publish doc/ and code/ > "
 | |
| read prompt
 | |
| ./build web
 | |
| ./build pub
 | |
| 
 | |
| cat << notes
 | |
| To be done manually...
 | |
| 
 | |
|     - freecode release
 | |
|     - blog entry
 | |
|     - linkedin entry
 | |
|     - mailinglist update
 | |
| 
 | |
| notes
 |