code: func GuessEntrypoint(fs fs.FileSystem, sourceDir string) (string, error) {
  	files, err := fs.ReadDir(sourceDir)
  	if err != nil {
  		return "", err
  	}
  	for _, f := range files {
  		if f.IsDir() || !f.Mode().IsRegular() {
  			continue
  		}
  		if isValidEntrypoint(fs, filepath.Join(sourceDir, f.Name())) {
  			glog.V(2).Infof("Found valid ENTRYPOINT: %s", f.Name())
  			return f.Name(), nil
  		}
  	}
  	return "", errors.New("no valid entrypoint specified")
  }
docs: // GuessEntrypoint tries to guess the valid entrypoint from the source code
  // repository. The valid entrypoints are defined above (run,start,exec,execute)