func GetProjects()

in cmd/release/utils/projects/projects.go [18:42]


func GetProjects() ([]Project, error) {
	orgDirs, err := os.ReadDir(projectPathRoot)
	if err != nil {
		return []Project{}, fmt.Errorf("reading projects path: %w", err)
	}

	var projects []Project
	// Iterate through projects/<org>
	for _, orgDir := range orgDirs {
		if !orgDir.IsDir() {
			continue
		}
		repoDirs, err := os.ReadDir(filepath.Join(projectPathRoot, orgDir.Name()))
		if err != nil {
			return []Project{}, fmt.Errorf("reading repos paths: %w", err)
		}
		// Iterate through projects/<org>/<repo>
		for _, repoDir := range repoDirs {
			if repoDir.IsDir() {
				projects = append(projects, Project{org: orgDir.Name(), repo: repoDir.Name()})
			}
		}
	}
	return projects, nil
}