func()

in cmd/generateworkflow.go [59:95]


func (gwc *generateWorkflowCmd) generateWorkflows() error {
	var err error

	flagVariablesMap = flagVariablesToMap(gwc.flagVariables)

	if gwc.deployType == "" {
		selection := &promptui.Select{
			Label: "Select k8s Deployment Type",
			Items: []string{"helm", "kustomize", "manifests"},
		}

		_, gwc.deployType, err = selection.Run()
		if err != nil {
			return err
		}
	}

	t, err := handlers.GetTemplate(fmt.Sprintf("github-workflow-%s", gwc.deployType), "", gwc.dest, gwc.templateWriter)
	if err != nil {
		return fmt.Errorf("failed to get template: %e", err)
	}
	if t == nil {
		return fmt.Errorf("template is nil")
	}

	t.Config.VariableMapToDraftConfig(flagVariablesMap)

	if err = prompts.RunPromptsFromConfigWithSkips(t.Config); err != nil {
		return err
	}

	if err := cmdhelpers.UpdateProductionDeployments(gwc.deployType, gwc.dest, t.Config, gwc.templateWriter); err != nil {
		return fmt.Errorf("update production deployments: %w", err)
	}

	return t.Generate()
}