From 9aec3e0d2853af4cd9b134d6b2fdf7be13abe32d Mon Sep 17 00:00:00 2001 From: Wooseung Sim Date: Wed, 11 Sep 2024 10:45:41 -0400 Subject: [PATCH 1/2] feat(evaluateVariables stage): Made fetch exec history on evaluateVariables stage configurable --- packages/app/src/settings.js | 1 + packages/core/src/config/settings.ts | 2 ++ .../stages/evaluateVariables/ExecutionAndStagePicker.tsx | 6 +++++- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/app/src/settings.js b/packages/app/src/settings.js index 6736b825d60..8e63c28777e 100644 --- a/packages/app/src/settings.js +++ b/packages/app/src/settings.js @@ -148,6 +148,7 @@ window.spinnakerSettings = { defaultManifest: 'spinnaker.yml', manifestBasePath: '.spinnaker', }, + maxFetchHistoryOnEvaluateVariables: 100, maxPipelineAgeDays: 14, newApplicationDefaults: { chaosMonkey: false, diff --git a/packages/core/src/config/settings.ts b/packages/core/src/config/settings.ts index 733b8eaf2cf..8cfaea047ba 100644 --- a/packages/core/src/config/settings.ts +++ b/packages/core/src/config/settings.ts @@ -127,6 +127,7 @@ export interface ISpinnakerSettings { manifestBasePath: string; urls?: Partial; }; + maxFetchHistoryOnEvaluateVariables?: number; maxPipelineAgeDays: number; newApplicationDefaults: INewApplicationDefaults; notifications: INotificationSettings; @@ -175,6 +176,7 @@ SETTINGS.managedDelivery = SETTINGS.managedDelivery || { defaultManifest: 'spinnaker.yml', manifestBasePath: '.spinnaker', }; +SETTINGS.maxFetchHistoryOnEvaluateVariables = SETTINGS.maxFetchHistoryOnEvaluateVariables ?? 100; // A helper to make resetting settings to steady state after running tests easier const originalSettings: ISpinnakerSettings = cloneDeep(SETTINGS); diff --git a/packages/core/src/pipeline/config/stages/evaluateVariables/ExecutionAndStagePicker.tsx b/packages/core/src/pipeline/config/stages/evaluateVariables/ExecutionAndStagePicker.tsx index 60065fdbf11..c7aa1151faf 100644 --- a/packages/core/src/pipeline/config/stages/evaluateVariables/ExecutionAndStagePicker.tsx +++ b/packages/core/src/pipeline/config/stages/evaluateVariables/ExecutionAndStagePicker.tsx @@ -2,6 +2,7 @@ import { isEqual, keyBy } from 'lodash'; import React from 'react'; import type { Option } from 'react-select'; +import { SETTINGS } from '../../../../config'; import type { IExecution, IPipeline, IStage } from '../../../../domain'; import type { IStageForSpelPreview } from '../../../../presentation'; import { FormField, ReactSelectInput, useData } from '../../../../presentation'; @@ -23,7 +24,10 @@ export function ExecutionAndStagePicker(props: IExecutionAndStagePickerProps) { const [showStageSelector, setShowStageSelector] = React.useState(false); const fetchExecutions = useData( - () => executionService.getExecutionsForConfigIds([pipeline.id], { limit: 100 }), + () => + executionService.getExecutionsForConfigIds([pipeline.id], { + limit: SETTINGS.maxFetchHistoryOnEvaluateVariables + }), [], [], ); From 68116559f8cad4dd014ab0adedad31f9a8bf7aad Mon Sep 17 00:00:00 2001 From: Wooseung Sim Date: Thu, 12 Sep 2024 10:08:25 -0400 Subject: [PATCH 2/2] feat(evaluateVariables stage): fixed prettier violation --- .../config/stages/evaluateVariables/ExecutionAndStagePicker.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/core/src/pipeline/config/stages/evaluateVariables/ExecutionAndStagePicker.tsx b/packages/core/src/pipeline/config/stages/evaluateVariables/ExecutionAndStagePicker.tsx index c7aa1151faf..fd722e9d954 100644 --- a/packages/core/src/pipeline/config/stages/evaluateVariables/ExecutionAndStagePicker.tsx +++ b/packages/core/src/pipeline/config/stages/evaluateVariables/ExecutionAndStagePicker.tsx @@ -26,7 +26,7 @@ export function ExecutionAndStagePicker(props: IExecutionAndStagePickerProps) { const fetchExecutions = useData( () => executionService.getExecutionsForConfigIds([pipeline.id], { - limit: SETTINGS.maxFetchHistoryOnEvaluateVariables + limit: SETTINGS.maxFetchHistoryOnEvaluateVariables, }), [], [],