Misc size regression script improvements. (#16268)
* Misc size regression script improvements. - Sets environment variable SIZE_REGRESSION_EXECUTING during execution so hook scripts like `post-checkout` may skip processing. - Forces checkout of the target branch, including removal of all temporary object files in the process. - Prints out a warning on exit stating that the git repository is in an indeterminate state, and the user needs to swap back to whatever intended branch they were working with originally. * Remove `git clean`
This commit is contained in:
		
							parent
							
								
									87e6c2b06b
								
							
						
					
					
						commit
						a239051c4a
					
				
					 1 changed files with 20 additions and 2 deletions
				
			
		| 
						 | 
				
			
			@ -11,6 +11,8 @@ dest_ref="develop"
 | 
			
		|||
ignore_ref="master"
 | 
			
		||||
unset skip_zero
 | 
			
		||||
 | 
			
		||||
export SIZE_REGRESSION_EXECUTING=1
 | 
			
		||||
 | 
			
		||||
function usage() {
 | 
			
		||||
    echo "Usage: $(basename "$0") [-h] [-j <jobs>] [-s <source>] [-d <dest>] [-n] planck/rev6:default"
 | 
			
		||||
    echo "    -h           : Shows this usage page."
 | 
			
		||||
| 
						 | 
				
			
			@ -23,9 +25,24 @@ function usage() {
 | 
			
		|||
}
 | 
			
		||||
 | 
			
		||||
if [[ ${#} -eq 0 ]]; then
 | 
			
		||||
   usage
 | 
			
		||||
    usage
 | 
			
		||||
    exit 0
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
unset cleanup_completed
 | 
			
		||||
_internal_cleanup() {
 | 
			
		||||
    if [[ -z "${cleanup_completed:-}" ]] ; then
 | 
			
		||||
        echo
 | 
			
		||||
        echo
 | 
			
		||||
        echo 'Your git repository is in an indeterminate state!' >&2
 | 
			
		||||
        echo 'Make sure you swap to your intended branch.' >&2
 | 
			
		||||
        echo
 | 
			
		||||
        unset SIZE_REGRESSION_EXECUTING
 | 
			
		||||
    fi
 | 
			
		||||
    cleanup_completed=1
 | 
			
		||||
}
 | 
			
		||||
trap _internal_cleanup EXIT HUP INT
 | 
			
		||||
 | 
			
		||||
while getopts "hj:s:d:i:n" opt "$@" ; do
 | 
			
		||||
    case "$opt" in
 | 
			
		||||
        h) usage; exit 0;;
 | 
			
		||||
| 
						 | 
				
			
			@ -49,7 +66,8 @@ function build_executor() {
 | 
			
		|||
        revision=$(echo $line | cut -d' ' -f1)
 | 
			
		||||
 | 
			
		||||
        make distclean >/dev/null 2>&1
 | 
			
		||||
        git checkout $revision >/dev/null 2>&1 || { echo "Failed to check out revision ${revision}" >&2 ; exit 1 ; }
 | 
			
		||||
 | 
			
		||||
        git checkout -f $revision >/dev/null 2>&1 || { echo "Failed to check out revision ${revision}" >&2 ; exit 1 ; }
 | 
			
		||||
        make -j${job_count} $keyboard_target >/dev/null 2>&1 || true
 | 
			
		||||
        file_size=$(arm-none-eabi-size .build/*.elf 2>/dev/null | awk '/elf/ {print $1}' 2>/dev/null || true)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue