fix(healthcheck/forbidden): relative path
This commit is contained in:
		
							parent
							
								
									83b6cb6b2c
								
							
						
					
					
						commit
						64cbeef111
					
				|  | @ -59,7 +59,7 @@ func main() { | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		fmt.Printf("### Repo Size Check Failed:\n%s\n", err.Error()) | 		fmt.Printf("### Repo Size Check Failed:\n%s\n", err.Error()) | ||||||
| 	} | 	} | ||||||
| 	err = healthcheck.ForbiddenCheck(*rootDir, gitWhitelist) | 	err = healthcheck.ForbiddenCheck(*rootDir) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		fmt.Printf("### Forbidden File Check Failed:\n%s\n", err.Error()) | 		fmt.Printf("### Forbidden File Check Failed:\n%s\n", err.Error()) | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
|  | @ -11,11 +11,12 @@ import ( | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| // getForbiddens retrieves a list of forbidden files in the specified root directory.
 | // getForbiddens retrieves a list of forbidden files in the specified root directory.
 | ||||||
| // It searches for files that do not match the specified regex patterns in the given file list.
 | // It searches for files that match the specified ignore patterns in the .gitignore file.
 | ||||||
| func getForbiddens(root string, fileList []string) ([]string, error) { | func getForbiddens(root string) ([]string, error) { | ||||||
| 	var matches []string | 	var matches []string | ||||||
| 
 | 
 | ||||||
| 	ignore, err := gitignore.NewFromFile("./.gitignore") | 	// Create a gitignore instance from the .gitignore file
 | ||||||
|  | 	ignore, err := gitignore.NewFromFile(filepath.Join(root, ".gitignore")) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return nil, err | 		return nil, err | ||||||
| 	} | 	} | ||||||
|  | @ -25,29 +26,36 @@ func getForbiddens(root string, fileList []string) ([]string, error) { | ||||||
| 			return err | 			return err | ||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
| 		if info.IsDir() && (info.Name() == ".") { | 		if info.IsDir() { | ||||||
| 			return nil | 			if info.Name() == ".git" { | ||||||
| 		} | 				return filepath.SkipDir | ||||||
| 		if info.IsDir() && (info.Name() == ".git") { | 			} else if info.Name() == root { | ||||||
| 			return filepath.SkipDir | 				return nil | ||||||
| 		} else { |  | ||||||
| 			match := ignore.Relative(info.Name(), true) |  | ||||||
| 			if match != nil { |  | ||||||
| 				if match.Ignore() { |  | ||||||
| 					matches = append(matches, path) |  | ||||||
| 				} |  | ||||||
| 			} | 			} | ||||||
| 		} | 		} | ||||||
|  | 
 | ||||||
|  | 		// Get the relative path to the git repo root
 | ||||||
|  | 		relPath, err := filepath.Rel(root, path) | ||||||
|  | 		if err != nil { | ||||||
|  | 			return err | ||||||
|  | 		} | ||||||
|  | 		match := ignore.Relative(relPath, true) | ||||||
|  | 
 | ||||||
|  | 		// Check if the relative file path should be ignored based on the .gitignore rules
 | ||||||
|  | 		if match != nil && match.Ignore() { | ||||||
|  | 			matches = append(matches, path) | ||||||
|  | 		} | ||||||
|  | 
 | ||||||
| 		return nil | 		return nil | ||||||
| 	}) | 	}) | ||||||
| 
 | 
 | ||||||
| 	return matches, err | 	return matches, err | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // forbiddenCheck checks for forbidden files in the specified root directory.
 | // ForbiddenCheck checks for forbidden files in the specified root directory.
 | ||||||
| // It prints the list of forbidden files found, along with instructions on how to fix them.
 | // It prints the list of forbidden files found, along with instructions on how to fix them.
 | ||||||
| func ForbiddenCheck(rootDir string, regexList []string) error { | func ForbiddenCheck(rootDir string) error { | ||||||
| 	forbids, err := getForbiddens(rootDir, regexList) | 	forbids, err := getForbiddens(rootDir) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		slog.Error("getting forbiddens", "error", err) | 		slog.Error("getting forbiddens", "error", err) | ||||||
| 		return fmt.Errorf("error getting forbiddens: %w", err) | 		return fmt.Errorf("error getting forbiddens: %w", err) | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 zzjc1234
						zzjc1234