func()

in controllers/stage/stage_controller.go [258:280]


func (r *ReconcileStage) isLastStage(ctx context.Context, stage *cdPipeApi.Stage) (bool, error) {
	stages := &cdPipeApi.StageList{}
	if err := r.client.List(
		ctx,
		stages,
		client.InNamespace(stage.Namespace),
		client.MatchingLabels{cdPipeApi.StageCdPipelineLabelName: stage.Spec.CdPipeline},
	); err != nil {
		return false, fmt.Errorf("failed to get stages: %w", err)
	}

	for i := range stages.Items {
		if stages.Items[i].Name == stage.Name {
			continue
		}

		if stages.Items[i].Spec.Order > stage.Spec.Order {
			return false, nil
		}
	}

	return true, nil
}