func()

in controllers/codebasebranch/codebasebranch_controller.go [319:373]


func (r *ReconcileCodebaseBranch) setDefaultValues(
	ctx context.Context,
	cb *codebaseApi.CodebaseBranch,
	codebase *codebaseApi.Codebase,
) (bool, error) {
	if pipelinesIsSet(cb) {
		return false, nil
	}

	gitServer := &codebaseApi.GitServer{}
	if err := r.client.Get(ctx, types.NamespacedName{
		Name:      codebase.Spec.GitServer,
		Namespace: codebase.Namespace,
	}, gitServer); err != nil {
		return false, fmt.Errorf("failed to get GitServer: %w", err)
	}

	var codebaseType string

	if len(codebase.Spec.Type) < codebaseTypeShorLen {
		return false, fmt.Errorf("codebase type is invalid: %v", codebase.Spec.Type)
	}

	codebaseType = codebase.Spec.Type[:codebaseTypeShorLen]
	changed := false

	if cb.Spec.Pipelines == nil {
		cb.Spec.Pipelines = make(map[string]string, 2)
	}

	if _, ok := cb.Spec.Pipelines["build"]; !ok {
		cb.Spec.Pipelines["build"] = fmt.Sprintf(
			"%s-%s-%s-%s-build-%s",
			gitServer.Spec.GitProvider,
			strings.ToLower(codebase.Spec.BuildTool),
			strings.ToLower(codebase.Spec.Framework),
			codebaseType,
			codebase.Spec.Versioning.Type,
		)
		changed = true
	}

	if _, ok := cb.Spec.Pipelines["review"]; !ok {
		cb.Spec.Pipelines["review"] = fmt.Sprintf(
			"%s-%s-%s-%s-review",
			gitServer.Spec.GitProvider,
			strings.ToLower(codebase.Spec.BuildTool),
			strings.ToLower(codebase.Spec.Framework),
			codebaseType,
		)
		changed = true
	}

	return changed, nil
}