39 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
		
		
			
		
	
	
			39 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
| 
								 | 
							
								#!/usr/bin/env bash
							 | 
						||
| 
								 | 
							
								# file: release-branch.sh
							 | 
						||
| 
								 | 
							
								# description: Prepare a release branch from develop to master.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								## Build release context as environment variables.
							 | 
						||
| 
								 | 
							
								GIT_BRANCH=$(git symbolic-ref --short HEAD)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								## TODO: get package version from pyproject.toml
							 | 
						||
| 
								 | 
							
								CURRENT_VERSION=v2.2.0
							 | 
						||
| 
								 | 
							
								## TODO: get new package version e.g. minor, major, bugfix
							 | 
						||
| 
								 | 
							
								NEW_VERSION=v2.3.0
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								## TODO: ensure you're on the develop branch else fail
							 | 
						||
| 
								 | 
							
								if [[ "${GIT_BRANCH}" != "develop" ]]; then
							 | 
						||
| 
								 | 
							
									echo 'Please switch to to the develop branch to create a release branch.'
							 | 
						||
| 
								 | 
							
									exit 0
							 | 
						||
| 
								 | 
							
								fi
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								## Create release branch
							 | 
						||
| 
								 | 
							
								git checkout -b "release/${NEW_VERSION}" develop
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								## TODO: bump package version in pyproject.toml
							 | 
						||
| 
								 | 
							
								## TODO: commit changes to pyproject.toml
							 | 
						||
| 
								 | 
							
								## TODO: generate new CHANGELOG entry from commits
							 | 
						||
| 
								 | 
							
								## TODO: commit changes to CHANGELOG
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								## Return to develop
							 | 
						||
| 
								 | 
							
								git checkout develop
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								if [[ -z "${CI}" ]]; then
							 | 
						||
| 
								 | 
							
									echo "Please confirm the release branch is correct."
							 | 
						||
| 
								 | 
							
									read -p "Press enter to continue"
							 | 
						||
| 
								 | 
							
									echo
							 | 
						||
| 
								 | 
							
								fi
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								## Push branch and tags
							 | 
						||
| 
								 | 
							
								git push origin "release/${NEW_VERSION}"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								## TODO: create PR for review
							 |