fix(healthcheck/release): style check
This commit is contained in:
		
							parent
							
								
									a5767cf040
								
							
						
					
					
						commit
						adfd33ea35
					
				| 
						 | 
				
			
			@ -39,7 +39,7 @@ var Version string
 | 
			
		|||
 | 
			
		||||
// Generally, err is used for runtime errors, and checkRes is used for the result of the checks.
 | 
			
		||||
func main() {
 | 
			
		||||
	var gitWhitelist, metaFile []string
 | 
			
		||||
	var gitWhitelist, metaFile, releaseTag []string
 | 
			
		||||
	showVersion := flag.Bool("version", false, "print current version")
 | 
			
		||||
	checkRelease := flag.Bool("checkRelease", true, "trigger release check")
 | 
			
		||||
	rootDir := flag.String("root", "", "")
 | 
			
		||||
| 
						 | 
				
			
			@ -47,12 +47,11 @@ func main() {
 | 
			
		|||
	size := flag.Float64("reposize", 2, "size of the repo")
 | 
			
		||||
	localList := flag.String("localList", "", "")
 | 
			
		||||
	droneBranch := flag.String("droneBranch", "", "")
 | 
			
		||||
	releaseCategories := flag.String("releaseCategories", "", "")
 | 
			
		||||
	releaseNumber := flag.Int("releaseNumber", 0, "")
 | 
			
		||||
	checkFileNameList := flag.String("checkFileNameList", "", "Comma-separated list of files to check.")
 | 
			
		||||
	checkFileSumList := flag.String("checkFileSumList", "", "Comma-separated list of expected checksums.")
 | 
			
		||||
	parseMultiValueFlag(&gitWhitelist, "whitelist", "")
 | 
			
		||||
	parseMultiValueFlag(&metaFile, "meta", "")
 | 
			
		||||
	parseMultiValueFlag(&releaseTag, "releaseTag", "Recommended tags")
 | 
			
		||||
	flag.Parse()
 | 
			
		||||
	if *showVersion {
 | 
			
		||||
		fmt.Println(Version)
 | 
			
		||||
| 
						 | 
				
			
			@ -80,7 +79,7 @@ func main() {
 | 
			
		|||
	if err != nil {
 | 
			
		||||
		fmt.Printf("### Non-ASCII Characters Commit Message Check Failed:\n%s\n", err.Error())
 | 
			
		||||
	}
 | 
			
		||||
	err = healthcheck.CheckTags(*rootDir, *checkRelease, *releaseCategories, *releaseNumber)
 | 
			
		||||
	err = healthcheck.CheckTags(*rootDir, *checkRelease, *releaseTag)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		fmt.Printf("### Release Tag Check Failed:\n%s\n", err.Error())
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -77,33 +77,21 @@ func checkConsist(tags []string, target string) (err error) {
 | 
			
		|||
}
 | 
			
		||||
 | 
			
		||||
// INFO: check whether release tag follow the tag list we give
 | 
			
		||||
func checkStyle(tags []string, category string, n int) (err error) {
 | 
			
		||||
	var prefix string
 | 
			
		||||
	switch category {
 | 
			
		||||
	case "exam":
 | 
			
		||||
		prefix = "e"
 | 
			
		||||
	case "project":
 | 
			
		||||
		prefix = "p"
 | 
			
		||||
	case "homework":
 | 
			
		||||
		prefix = "h"
 | 
			
		||||
	default:
 | 
			
		||||
		prefix = "a"
 | 
			
		||||
	}
 | 
			
		||||
	target := prefix + fmt.Sprintf("%d", n)
 | 
			
		||||
func checkStyle(target string, recommendTag []string) (err error) {
 | 
			
		||||
	found := false
 | 
			
		||||
	for _, tag := range tags {
 | 
			
		||||
	for _, tag := range recommendTag {
 | 
			
		||||
		if tag == target {
 | 
			
		||||
			found = true
 | 
			
		||||
			break
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	if !found {
 | 
			
		||||
		return fmt.Errorf("Wrong release tag '%s' or missing release tags. Please use one of '%s'.", strings.Join(tags, "', '"), target)
 | 
			
		||||
		return fmt.Errorf("Wrong release tag '%s' or missing release tags. Please use one of '%s'.", target, strings.Join(recommendTag, "', '"))
 | 
			
		||||
	}
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func CheckTags(repoPath string, skip bool, category string, n int) error {
 | 
			
		||||
func CheckTags(repoPath string, skip bool, recommendTag []string) error {
 | 
			
		||||
	if skip {
 | 
			
		||||
		return nil
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			@ -120,7 +108,7 @@ func CheckTags(repoPath string, skip bool, category string, n int) error {
 | 
			
		|||
	if err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
	err = checkStyle(tags, category, n)
 | 
			
		||||
	err = checkStyle(target, recommendTag)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue
	
	Block a user