cleanup distribution process in build file
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
This commit is contained in:
		
					parent
					
						
							
								3e573fa21e
							
						
					
				
			
			
				commit
				
					
						e397f2a74c
					
				
			
		
					 1 changed files with 71 additions and 73 deletions
				
			
		
							
								
								
									
										144
									
								
								build
									
										
									
									
									
								
							
							
						
						
									
										144
									
								
								build
									
										
									
									
									
								
							| 
						 | 
					@ -89,34 +89,98 @@ case "$1" in
 | 
				
			||||||
    ;;
 | 
					    ;;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    dist)
 | 
					    dist)
 | 
				
			||||||
 | 
					        set -e
 | 
				
			||||||
 | 
					        # Do the checks
 | 
				
			||||||
 | 
					        $0 dist-check
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        # Git changes - everything depends on this
 | 
				
			||||||
 | 
					        $0 dist-tag
 | 
				
			||||||
 | 
					        $0 dist-branch-merge
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        $0 dist-pypi
 | 
					        $0 dist-pypi
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
        # Archlinux depends on successful pypi ;-)
 | 
					        # Archlinux depends on successful pypi ;-)
 | 
				
			||||||
        $0 dist-archlinux
 | 
					        $0 dist-archlinux
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        # Update website (includes documentation)
 | 
				
			||||||
 | 
					        $0 web
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        $0 pub
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        $0 dist-post
 | 
					        $0 dist-post
 | 
				
			||||||
    ;;
 | 
					    ;;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    dist-prepare)
 | 
					    changelog-version)
 | 
				
			||||||
          ./docs/dev/releasehelper
 | 
					        # get version from changelog and ensure it's not already present
 | 
				
			||||||
 | 
					        grep '^[[:digit:]]' "$basedir/docs/changelog" | head -n1 | sed 's/:.*//'
 | 
				
			||||||
 | 
					    ;;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    dist-check)
 | 
				
			||||||
 | 
					        echo "Verifying documentation building works ..."
 | 
				
			||||||
 | 
					        $0 clean && $0 man
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        changelog_version=$($0 changelog-version)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        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:]]' "$basedir/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
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    ;;
 | 
					    ;;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    dist-post)
 | 
					    dist-post)
 | 
				
			||||||
 | 
					        cat << notes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    To be done manually...
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					        - freecode release
 | 
				
			||||||
 | 
					        - blog entry
 | 
				
			||||||
 | 
					        - linkedin entry
 | 
				
			||||||
 | 
					        - mailinglist update
 | 
				
			||||||
 | 
					notes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    ;;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    dist-tag)
 | 
				
			||||||
 | 
					        version=$($0 changelog-version)
 | 
				
			||||||
 | 
					        # add tag
 | 
				
			||||||
 | 
					        printf "Enter tag description for %s> " "$version"
 | 
				
			||||||
 | 
					        read tagmessage
 | 
				
			||||||
 | 
					        git tag "$version" -m "$tagmessage"
 | 
				
			||||||
 | 
					    ;;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    dist-branch-merge)
 | 
				
			||||||
 | 
					        version=$($0 changelog-version)
 | 
				
			||||||
 | 
					        target_branch=${version%\.*}
 | 
				
			||||||
 | 
					        current_branch=$(git rev-parse --abbrev-ref HEAD)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        printf "Press enter to git merge $current_branch into \"$target_branch\" > "
 | 
				
			||||||
 | 
					        read prompt
 | 
				
			||||||
 | 
					        git checkout "$target_branch"
 | 
				
			||||||
 | 
					        git merge "$current_branch"
 | 
				
			||||||
 | 
					        git checkout "$current_branch"
 | 
				
			||||||
    ;;
 | 
					    ;;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    dist-archlinux)
 | 
					    dist-archlinux)
 | 
				
			||||||
        ./PKGBUILD.in
 | 
					        ./PKGBUILD.in
 | 
				
			||||||
        makepkg -c
 | 
					        makepkg -c
 | 
				
			||||||
    ;;
 | 
					    ;;
 | 
				
			||||||
 | 
					 | 
				
			||||||
    dist-pypi)
 | 
					    dist-pypi)
 | 
				
			||||||
        $0 man
 | 
					        $0 man
 | 
				
			||||||
        $0 version
 | 
					        $0 version
 | 
				
			||||||
        $0 sdist
 | 
					        python3 setup.py sdist update
 | 
				
			||||||
    ;;
 | 
					 | 
				
			||||||
    sdist)
 | 
					 | 
				
			||||||
        python3 setup.py sdist
 | 
					 | 
				
			||||||
    ;;
 | 
					    ;;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    speeches)
 | 
					    speeches)
 | 
				
			||||||
| 
						 | 
					@ -215,69 +279,3 @@ case "$1" in
 | 
				
			||||||
    ;;
 | 
					    ;;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
esac
 | 
					esac
 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#!/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
 | 
					 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue