Add a basic script to check for release sanity
							parent
							
								
									2d23a848cc
								
							
						
					
					
						commit
						a7234b9c53
					
				| @ -0,0 +1,59 @@ | |||||||
|  | -- basic check for release readiness | ||||||
|  | --[[=begin | ||||||
|  | devel/check-release | ||||||
|  | =================== | ||||||
|  | Basic checks for release readiness | ||||||
|  | =end]] | ||||||
|  | 
 | ||||||
|  | ok = true | ||||||
|  | function err(s) | ||||||
|  | 	dfhack.printerr(s) | ||||||
|  | 	ok = false | ||||||
|  | end | ||||||
|  | function warn(s) | ||||||
|  | 	dfhack.color(COLOR_YELLOW) | ||||||
|  | 	dfhack.print(s .. '\n') | ||||||
|  | 	dfhack.color(nil) | ||||||
|  | end | ||||||
|  | 
 | ||||||
|  | dfhack_ver = dfhack.getDFHackVersion() | ||||||
|  | git_desc = dfhack.getGitDescription() | ||||||
|  | git_commit = dfhack.getGitCommit() | ||||||
|  | if not dfhack.isRelease() then | ||||||
|  | 	err('This build is not tagged as a release') | ||||||
|  | 	print[[ | ||||||
|  | This is probably due to missing git tags. | ||||||
|  | Try running `git fetch origin --tags` in the DFHack source tree. | ||||||
|  | ]] | ||||||
|  | end | ||||||
|  | 
 | ||||||
|  | expected_git_desc = ('%s-0-g%s'):format(dfhack_ver, git_commit:sub(1, 7)) | ||||||
|  | if git_desc:sub(1, #expected_git_desc) ~= expected_git_desc then | ||||||
|  | 	err(([[Bad git description: | ||||||
|  | Expected %s, got %s]]):format(expected_git_desc, git_desc)) | ||||||
|  | 	print[[ | ||||||
|  | Ensure that the DFHack source tree is up-to-date (`git pull`) and CMake is | ||||||
|  | installing DFHack to this DF folder. | ||||||
|  | ]] | ||||||
|  | end | ||||||
|  | 
 | ||||||
|  | if not dfhack.gitXmlMatch() then | ||||||
|  | 	err('library/xml submodule commit does not match tracked commit\n' .. | ||||||
|  | 		('Expected %s, got %s'):format( | ||||||
|  | 			dfhack.getGitXmlCommit():sub(1, 7), | ||||||
|  | 			dfhack.getGitXmlExpectedCommit():sub(1, 7) | ||||||
|  | 		)) | ||||||
|  | 	print('Try running `git submodule update` in the DFHack source tree.') | ||||||
|  | end | ||||||
|  | 
 | ||||||
|  | if dfhack.isPrerelease() then | ||||||
|  | 	warn('This build is marked as a prerelease.') | ||||||
|  | 	print('If this is not intentional, be sure your DFHack tree is up-to-date\n' .. | ||||||
|  | 		'(`git pull`) and try again.') | ||||||
|  | end | ||||||
|  | 
 | ||||||
|  | if not ok then | ||||||
|  | 	err('This build is not release-ready!') | ||||||
|  | else | ||||||
|  | 	print('Release checks succeeded') | ||||||
|  | end | ||||||
		Loading…
	
		Reference in New Issue