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
}