@backstage-community/plugin-tekton-react 0.1.0 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# @backstage-community/plugin-tekton-react
|
|
2
2
|
|
|
3
|
+
## 0.1.2
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 536b783: Updated dependency `@kubernetes/client-node` to `1.4.0`.
|
|
8
|
+
|
|
9
|
+
## 0.1.1
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- 2f3a66b: Add missing Topology shared-react usage to tekton-react
|
|
14
|
+
|
|
3
15
|
## 0.1.0
|
|
4
16
|
|
|
5
17
|
### Minor Changes
|
package/dist/index.d.ts
CHANGED
|
@@ -228,6 +228,17 @@ type Condition = {
|
|
|
228
228
|
message?: string;
|
|
229
229
|
lastTransitionTime?: string;
|
|
230
230
|
};
|
|
231
|
+
/**
|
|
232
|
+
* The kind for the pipeline.
|
|
233
|
+
*
|
|
234
|
+
* @public
|
|
235
|
+
*/
|
|
236
|
+
type PipelineKind = {
|
|
237
|
+
apiVersion?: string;
|
|
238
|
+
kind?: string;
|
|
239
|
+
metadata?: V1ObjectMeta;
|
|
240
|
+
spec: PipelineSpec;
|
|
241
|
+
};
|
|
231
242
|
|
|
232
243
|
/**
|
|
233
244
|
* The reasons for the terminated status.
|
|
@@ -580,6 +591,12 @@ declare const TaskStatusTooltip: ({ taskStatus }: TaskStatusToolTipProps) => rea
|
|
|
580
591
|
* @public
|
|
581
592
|
*/
|
|
582
593
|
declare const getRunStatusColor: (status: string) => StatusMessage;
|
|
594
|
+
/**
|
|
595
|
+
* The function to get the latest pipeline run.
|
|
596
|
+
*
|
|
597
|
+
* @public
|
|
598
|
+
*/
|
|
599
|
+
declare const getLatestPipelineRun: (runs: PipelineRunKind[], field: string) => PipelineRunKind | null;
|
|
583
600
|
/**
|
|
584
601
|
* The function to get the status for the pipeline run.
|
|
585
602
|
*
|
|
@@ -598,6 +615,18 @@ declare const pipelineRunFilterReducer: (pipelineRun: PipelineRunKind | TaskRunK
|
|
|
598
615
|
* @public
|
|
599
616
|
*/
|
|
600
617
|
declare const updateTaskStatus: (pipelinerun: PipelineRunKind | null, taskRuns: TaskRunKind[]) => TaskStatusTypes;
|
|
618
|
+
/**
|
|
619
|
+
* The function to get the total number of tasks in the pipeline run.
|
|
620
|
+
*
|
|
621
|
+
* @public
|
|
622
|
+
*/
|
|
623
|
+
declare const totalPipelineRunTasks: (pipelinerun: PipelineRunKind | null) => number;
|
|
624
|
+
/**
|
|
625
|
+
* The function to get the task status.
|
|
626
|
+
*
|
|
627
|
+
* @public
|
|
628
|
+
*/
|
|
629
|
+
declare const getTaskStatus: (pipelinerun: PipelineRunKind, taskRuns: TaskRunKind[]) => TaskStatusTypes;
|
|
601
630
|
|
|
602
631
|
/**
|
|
603
632
|
* The function to get the task runs for the pipeline run.
|
|
@@ -606,5 +635,5 @@ declare const updateTaskStatus: (pipelinerun: PipelineRunKind | null, taskRuns:
|
|
|
606
635
|
*/
|
|
607
636
|
declare const getTaskRunsForPipelineRun: (pipelinerun: PipelineRunKind | null, taskRuns: TaskRunKind[]) => TaskRunKind[];
|
|
608
637
|
|
|
609
|
-
export { ComputedStatus, HorizontalStackedBars, SucceedConditionReason, TaskStatusTooltip, TerminatedReasons, getRunStatusColor, getTaskRunsForPipelineRun, pipelineRunFilterReducer, pipelineRunStatus, updateTaskStatus };
|
|
610
|
-
export type { Condition, HorizontalStackedBarsProps, PLRTaskRunData, PLRTaskRunStep, PLRTaskRuns, PipelineResult, PipelineRunEmbeddedResource, PipelineRunEmbeddedResourceParam, PipelineRunKind, PipelineRunParam, PipelineRunReferenceResource, PipelineRunResource, PipelineRunStatus, PipelineRunWorkspace, PipelineSpec, PipelineTask, PipelineTaskParam, PipelineTaskRef, PipelineTaskResource, PipelineTaskWithStatus, PipelineTaskWorkspace, StackedValue, StatusMessage, TaskResult, TaskRunKind, TaskRunStatus, TaskRunWorkspace, TaskStatusToolTipProps, TaskStatusTypes, TektonParam, TektonResource, TektonResourceGroup, TektonResultsRun, TektonTaskSpec, TektonTaskSteps, TektonWorkspace, VolumeTypePVC, WhenExpression };
|
|
638
|
+
export { ComputedStatus, HorizontalStackedBars, SucceedConditionReason, TaskStatusTooltip, TerminatedReasons, getLatestPipelineRun, getRunStatusColor, getTaskRunsForPipelineRun, getTaskStatus, pipelineRunFilterReducer, pipelineRunStatus, totalPipelineRunTasks, updateTaskStatus };
|
|
639
|
+
export type { Condition, HorizontalStackedBarsProps, PLRTaskRunData, PLRTaskRunStep, PLRTaskRuns, PipelineKind, PipelineResult, PipelineRunEmbeddedResource, PipelineRunEmbeddedResourceParam, PipelineRunKind, PipelineRunParam, PipelineRunReferenceResource, PipelineRunResource, PipelineRunStatus, PipelineRunWorkspace, PipelineSpec, PipelineTask, PipelineTaskParam, PipelineTaskRef, PipelineTaskResource, PipelineTaskWithStatus, PipelineTaskWorkspace, StackedValue, StatusMessage, TaskResult, TaskRunKind, TaskRunStatus, TaskRunWorkspace, TaskStatusToolTipProps, TaskStatusTypes, TektonParam, TektonResource, TektonResourceGroup, TektonResultsRun, TektonTaskSpec, TektonTaskSteps, TektonWorkspace, VolumeTypePVC, WhenExpression };
|
package/dist/index.esm.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { HorizontalStackedBars } from './components/pipeline/HorizontalStackedBars.esm.js';
|
|
2
2
|
export { TaskStatusTooltip } from './components/pipeline/TaskStatusTooltip.esm.js';
|
|
3
3
|
export { ComputedStatus, SucceedConditionReason, TerminatedReasons } from './types/pipeline/computedStatus.esm.js';
|
|
4
|
-
export { getRunStatusColor, pipelineRunFilterReducer, pipelineRunStatus, updateTaskStatus } from './utils/pipeline/pipeline.esm.js';
|
|
4
|
+
export { getLatestPipelineRun, getRunStatusColor, getTaskStatus, pipelineRunFilterReducer, pipelineRunStatus, totalPipelineRunTasks, updateTaskStatus } from './utils/pipeline/pipeline.esm.js';
|
|
5
5
|
export { getTaskRunsForPipelineRun } from './utils/pipeline/task-run.esm.js';
|
|
6
6
|
//# sourceMappingURL=index.esm.js.map
|
|
@@ -32,6 +32,34 @@ const getRunStatusColor = (status) => {
|
|
|
32
32
|
};
|
|
33
33
|
}
|
|
34
34
|
};
|
|
35
|
+
const getDate = (run, field) => {
|
|
36
|
+
if (field === "creationTimestamp") {
|
|
37
|
+
return run?.metadata?.creationTimestamp ?? "";
|
|
38
|
+
}
|
|
39
|
+
if (field === "startTime" || field === "completionTime") {
|
|
40
|
+
return run?.status?.[field] ?? "";
|
|
41
|
+
}
|
|
42
|
+
return "";
|
|
43
|
+
};
|
|
44
|
+
const getLatestRun = (runs, field) => {
|
|
45
|
+
let latestRun = runs[0];
|
|
46
|
+
for (let i = 1; i < runs.length; i++) {
|
|
47
|
+
latestRun = new Date(getDate(runs?.[i], field)) > new Date(getDate(latestRun, field)) ? runs[i] : latestRun;
|
|
48
|
+
}
|
|
49
|
+
return latestRun;
|
|
50
|
+
};
|
|
51
|
+
const getLatestPipelineRun = (runs, field) => {
|
|
52
|
+
if (runs?.length > 0 && field) {
|
|
53
|
+
let latestRun;
|
|
54
|
+
if (field === "completionTime" || field === "startTime" || field === "creationTimestamp") {
|
|
55
|
+
latestRun = getLatestRun(runs, field);
|
|
56
|
+
} else {
|
|
57
|
+
latestRun = runs[runs.length - 1];
|
|
58
|
+
}
|
|
59
|
+
return latestRun;
|
|
60
|
+
}
|
|
61
|
+
return null;
|
|
62
|
+
};
|
|
35
63
|
const getSucceededStatus = (status) => {
|
|
36
64
|
if (status === "True") {
|
|
37
65
|
return ComputedStatus.Succeeded;
|
|
@@ -120,6 +148,37 @@ const updateTaskStatus = (pipelinerun, taskRuns) => {
|
|
|
120
148
|
...taskStatus
|
|
121
149
|
};
|
|
122
150
|
};
|
|
151
|
+
const totalPipelineRunTasks = (pipelinerun) => {
|
|
152
|
+
if (!pipelinerun?.status?.pipelineSpec) {
|
|
153
|
+
return 0;
|
|
154
|
+
}
|
|
155
|
+
const totalTasks = (pipelinerun.status.pipelineSpec?.tasks || []).length;
|
|
156
|
+
const finallyTasks = (pipelinerun.status.pipelineSpec?.finally || []).length ?? 0;
|
|
157
|
+
return totalTasks + finallyTasks;
|
|
158
|
+
};
|
|
159
|
+
const getTaskStatus = (pipelinerun, taskRuns) => {
|
|
160
|
+
const totalTasks = totalPipelineRunTasks(pipelinerun);
|
|
161
|
+
const plrTaskLength = taskRuns.length;
|
|
162
|
+
const skippedTaskLength = pipelinerun?.status?.skippedTasks?.length || 0;
|
|
163
|
+
const taskStatus = updateTaskStatus(pipelinerun, taskRuns);
|
|
164
|
+
if (taskRuns?.length > 0) {
|
|
165
|
+
const pipelineRunHasFailure = taskStatus[ComputedStatus.Failed] > 0;
|
|
166
|
+
const pipelineRunIsCancelled = pipelineRunFilterReducer(pipelinerun) === ComputedStatus.Cancelled;
|
|
167
|
+
const unhandledTasks = totalTasks >= plrTaskLength ? totalTasks - plrTaskLength - skippedTaskLength : totalTasks;
|
|
168
|
+
if (pipelineRunHasFailure || pipelineRunIsCancelled) {
|
|
169
|
+
taskStatus[ComputedStatus.Cancelled] += unhandledTasks;
|
|
170
|
+
} else {
|
|
171
|
+
taskStatus[ComputedStatus.Pending] += unhandledTasks;
|
|
172
|
+
}
|
|
173
|
+
} else if (pipelinerun?.status?.conditions?.[0]?.status === "False" || pipelinerun?.spec.status === SucceedConditionReason.PipelineRunCancelled) {
|
|
174
|
+
taskStatus[ComputedStatus.Cancelled] = totalTasks;
|
|
175
|
+
} else if (pipelinerun?.spec.status === SucceedConditionReason.PipelineRunPending) {
|
|
176
|
+
taskStatus[ComputedStatus.Pending] += totalTasks;
|
|
177
|
+
} else {
|
|
178
|
+
taskStatus[ComputedStatus.PipelineNotStarted]++;
|
|
179
|
+
}
|
|
180
|
+
return taskStatus;
|
|
181
|
+
};
|
|
123
182
|
|
|
124
|
-
export { getRunStatusColor, pipelineRunFilterReducer, pipelineRunStatus, updateTaskStatus };
|
|
183
|
+
export { getLatestPipelineRun, getRunStatusColor, getTaskStatus, pipelineRunFilterReducer, pipelineRunStatus, totalPipelineRunTasks, updateTaskStatus };
|
|
125
184
|
//# sourceMappingURL=pipeline.esm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline.esm.js","sources":["../../../src/utils/pipeline/pipeline.ts"],"sourcesContent":["/*\n * Copyright 2025 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { colors } from '../../constants';\nimport {\n ComputedStatus,\n PipelineRunKind,\n PipelineTaskWithStatus,\n StatusMessage,\n SucceedConditionReason,\n TaskRunKind,\n TaskStatusTypes,\n} from '../../types';\nimport { getTaskRunsForPipelineRun } from './task-run';\n\n/**\n * The function to get the status color for the run.\n *\n * @public\n */\nexport const getRunStatusColor = (status: string): StatusMessage => {\n switch (status) {\n case ComputedStatus.Succeeded:\n return { message: 'Succeeded', color: colors.success };\n case ComputedStatus.Failed:\n return { message: 'Failed', color: colors.failure };\n case ComputedStatus.FailedToStart:\n return {\n message: 'PipelineRun failed to start',\n color: colors.failure,\n };\n case ComputedStatus.Running:\n case ComputedStatus['In Progress']:\n return { message: 'Running', color: colors.running };\n\n case ComputedStatus.Skipped:\n return { message: 'Skipped', color: colors.skipped };\n case ComputedStatus.Cancelled:\n return { message: 'Cancelled', color: colors.cancelled };\n case ComputedStatus.Cancelling:\n return { message: 'Cancelling', color: colors.cancelled };\n case ComputedStatus.Idle:\n case ComputedStatus.Pending:\n return { message: 'Pending', color: colors.pending };\n default:\n return {\n message: 'PipelineRun not started yet',\n color: colors.pending,\n };\n }\n};\n\nconst getSucceededStatus = (status: string): ComputedStatus => {\n if (status === 'True') {\n return ComputedStatus.Succeeded;\n } else if (status === 'False') {\n return ComputedStatus.Failed;\n }\n return ComputedStatus.Running;\n};\n\n/**\n * The function to get the status for the pipeline run.\n *\n * @public\n */\nexport const pipelineRunStatus = (\n pipelineRun: PipelineRunKind | TaskRunKind | PipelineTaskWithStatus | null,\n) => {\n const conditions = pipelineRun?.status?.conditions || [];\n if (conditions.length === 0) return null;\n\n const succeedCondition = conditions.find((c: any) => c.type === 'Succeeded');\n const cancelledCondition = conditions.find(\n (c: any) => c.reason === 'Cancelled',\n );\n const failedCondition = conditions.find((c: any) => c.reason === 'Failed');\n\n if (\n [\n SucceedConditionReason.PipelineRunStopped,\n SucceedConditionReason.PipelineRunCancelled,\n ].includes(\n (pipelineRun as PipelineRunKind)?.spec?.status as SucceedConditionReason,\n ) &&\n !cancelledCondition &&\n !failedCondition\n ) {\n return ComputedStatus.Cancelling;\n }\n\n if (!succeedCondition?.status) {\n return null;\n }\n\n const status = getSucceededStatus(succeedCondition.status);\n\n if (succeedCondition.reason && succeedCondition.reason !== status) {\n switch (succeedCondition.reason) {\n case SucceedConditionReason.PipelineRunCancelled:\n case SucceedConditionReason.TaskRunCancelled:\n case SucceedConditionReason.Cancelled:\n case SucceedConditionReason.PipelineRunStopped:\n return ComputedStatus.Cancelled;\n case SucceedConditionReason.PipelineRunStopping:\n case SucceedConditionReason.TaskRunStopping:\n return ComputedStatus.Failed;\n case SucceedConditionReason.CreateContainerConfigError:\n case SucceedConditionReason.ExceededNodeResources:\n case SucceedConditionReason.ExceededResourceQuota:\n case SucceedConditionReason.PipelineRunPending:\n return ComputedStatus.Pending;\n case SucceedConditionReason.ConditionCheckFailed:\n return ComputedStatus.Skipped;\n default:\n return status;\n }\n }\n return status;\n};\n\n/**\n * The function to filter the pipeline run.\n *\n * @public\n */\nexport const pipelineRunFilterReducer = (\n pipelineRun: PipelineRunKind | TaskRunKind,\n): ComputedStatus => {\n const status = pipelineRunStatus(pipelineRun);\n return status || ComputedStatus.Other;\n};\n\n/**\n * The function to update the task status.\n *\n * @public\n */\nexport const updateTaskStatus = (\n pipelinerun: PipelineRunKind | null,\n taskRuns: TaskRunKind[],\n): TaskStatusTypes => {\n const skippedTaskLength = pipelinerun?.status?.skippedTasks?.length || 0;\n const PLRTaskRuns = getTaskRunsForPipelineRun(pipelinerun, taskRuns);\n const taskStatus: TaskStatusTypes = {\n PipelineNotStarted: 0,\n Pending: 0,\n Running: 0,\n Succeeded: 0,\n Failed: 0,\n Cancelled: 0,\n Skipped: skippedTaskLength,\n };\n\n if (!PLRTaskRuns || PLRTaskRuns.length === 0) {\n return taskStatus;\n }\n\n PLRTaskRuns.forEach((taskRun: TaskRunKind) => {\n const status = taskRun && pipelineRunFilterReducer(taskRun);\n if (status === 'Succeeded') {\n taskStatus[ComputedStatus.Succeeded]++;\n } else if (status === 'Running') {\n taskStatus[ComputedStatus.Running]++;\n } else if (status === 'Failed') {\n taskStatus[ComputedStatus.Failed]++;\n } else if (status === 'Cancelled') {\n taskStatus[ComputedStatus.Cancelled]++;\n } else {\n taskStatus[ComputedStatus.Pending]++;\n }\n });\n\n return {\n ...taskStatus,\n };\n};\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pipeline.esm.js","sources":["../../../src/utils/pipeline/pipeline.ts"],"sourcesContent":["/*\n * Copyright 2025 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { colors } from '../../constants';\nimport {\n ComputedStatus,\n PipelineRunKind,\n PipelineTaskWithStatus,\n StatusMessage,\n SucceedConditionReason,\n TaskRunKind,\n TaskStatusTypes,\n} from '../../types';\nimport { getTaskRunsForPipelineRun } from './task-run';\n\n/**\n * The function to get the status color for the run.\n *\n * @public\n */\nexport const getRunStatusColor = (status: string): StatusMessage => {\n switch (status) {\n case ComputedStatus.Succeeded:\n return { message: 'Succeeded', color: colors.success };\n case ComputedStatus.Failed:\n return { message: 'Failed', color: colors.failure };\n case ComputedStatus.FailedToStart:\n return {\n message: 'PipelineRun failed to start',\n color: colors.failure,\n };\n case ComputedStatus.Running:\n case ComputedStatus['In Progress']:\n return { message: 'Running', color: colors.running };\n\n case ComputedStatus.Skipped:\n return { message: 'Skipped', color: colors.skipped };\n case ComputedStatus.Cancelled:\n return { message: 'Cancelled', color: colors.cancelled };\n case ComputedStatus.Cancelling:\n return { message: 'Cancelling', color: colors.cancelled };\n case ComputedStatus.Idle:\n case ComputedStatus.Pending:\n return { message: 'Pending', color: colors.pending };\n default:\n return {\n message: 'PipelineRun not started yet',\n color: colors.pending,\n };\n }\n};\n\nconst getDate = (\n run: PipelineRunKind,\n field: 'completionTime' | 'startTime' | 'creationTimestamp',\n) => {\n if (field === 'creationTimestamp') {\n return run?.metadata?.creationTimestamp ?? '';\n }\n if (field === 'startTime' || field === 'completionTime') {\n return run?.status?.[field] ?? '';\n }\n return '';\n};\n\nconst getLatestRun = (\n runs: PipelineRunKind[],\n field: 'completionTime' | 'startTime' | 'creationTimestamp',\n) => {\n let latestRun = runs[0];\n for (let i = 1; i < runs.length; i++) {\n latestRun =\n new Date(getDate(runs?.[i], field)) > new Date(getDate(latestRun, field))\n ? runs[i]\n : latestRun;\n }\n return latestRun;\n};\n\n/**\n * The function to get the latest pipeline run.\n *\n * @public\n */\nexport const getLatestPipelineRun = (\n runs: PipelineRunKind[],\n field: string,\n): PipelineRunKind | null => {\n if (runs?.length > 0 && field) {\n let latestRun;\n if (\n field === 'completionTime' ||\n field === 'startTime' ||\n field === 'creationTimestamp'\n ) {\n latestRun = getLatestRun(runs, field);\n } else {\n latestRun = runs[runs.length - 1];\n }\n return latestRun;\n }\n return null;\n};\n\nconst getSucceededStatus = (status: string): ComputedStatus => {\n if (status === 'True') {\n return ComputedStatus.Succeeded;\n } else if (status === 'False') {\n return ComputedStatus.Failed;\n }\n return ComputedStatus.Running;\n};\n\n/**\n * The function to get the status for the pipeline run.\n *\n * @public\n */\nexport const pipelineRunStatus = (\n pipelineRun: PipelineRunKind | TaskRunKind | PipelineTaskWithStatus | null,\n) => {\n const conditions = pipelineRun?.status?.conditions || [];\n if (conditions.length === 0) return null;\n\n const succeedCondition = conditions.find((c: any) => c.type === 'Succeeded');\n const cancelledCondition = conditions.find(\n (c: any) => c.reason === 'Cancelled',\n );\n const failedCondition = conditions.find((c: any) => c.reason === 'Failed');\n\n if (\n [\n SucceedConditionReason.PipelineRunStopped,\n SucceedConditionReason.PipelineRunCancelled,\n ].includes(\n (pipelineRun as PipelineRunKind)?.spec?.status as SucceedConditionReason,\n ) &&\n !cancelledCondition &&\n !failedCondition\n ) {\n return ComputedStatus.Cancelling;\n }\n\n if (!succeedCondition?.status) {\n return null;\n }\n\n const status = getSucceededStatus(succeedCondition.status);\n\n if (succeedCondition.reason && succeedCondition.reason !== status) {\n switch (succeedCondition.reason) {\n case SucceedConditionReason.PipelineRunCancelled:\n case SucceedConditionReason.TaskRunCancelled:\n case SucceedConditionReason.Cancelled:\n case SucceedConditionReason.PipelineRunStopped:\n return ComputedStatus.Cancelled;\n case SucceedConditionReason.PipelineRunStopping:\n case SucceedConditionReason.TaskRunStopping:\n return ComputedStatus.Failed;\n case SucceedConditionReason.CreateContainerConfigError:\n case SucceedConditionReason.ExceededNodeResources:\n case SucceedConditionReason.ExceededResourceQuota:\n case SucceedConditionReason.PipelineRunPending:\n return ComputedStatus.Pending;\n case SucceedConditionReason.ConditionCheckFailed:\n return ComputedStatus.Skipped;\n default:\n return status;\n }\n }\n return status;\n};\n\n/**\n * The function to filter the pipeline run.\n *\n * @public\n */\nexport const pipelineRunFilterReducer = (\n pipelineRun: PipelineRunKind | TaskRunKind,\n): ComputedStatus => {\n const status = pipelineRunStatus(pipelineRun);\n return status || ComputedStatus.Other;\n};\n\n/**\n * The function to update the task status.\n *\n * @public\n */\nexport const updateTaskStatus = (\n pipelinerun: PipelineRunKind | null,\n taskRuns: TaskRunKind[],\n): TaskStatusTypes => {\n const skippedTaskLength = pipelinerun?.status?.skippedTasks?.length || 0;\n const PLRTaskRuns = getTaskRunsForPipelineRun(pipelinerun, taskRuns);\n const taskStatus: TaskStatusTypes = {\n PipelineNotStarted: 0,\n Pending: 0,\n Running: 0,\n Succeeded: 0,\n Failed: 0,\n Cancelled: 0,\n Skipped: skippedTaskLength,\n };\n\n if (!PLRTaskRuns || PLRTaskRuns.length === 0) {\n return taskStatus;\n }\n\n PLRTaskRuns.forEach((taskRun: TaskRunKind) => {\n const status = taskRun && pipelineRunFilterReducer(taskRun);\n if (status === 'Succeeded') {\n taskStatus[ComputedStatus.Succeeded]++;\n } else if (status === 'Running') {\n taskStatus[ComputedStatus.Running]++;\n } else if (status === 'Failed') {\n taskStatus[ComputedStatus.Failed]++;\n } else if (status === 'Cancelled') {\n taskStatus[ComputedStatus.Cancelled]++;\n } else {\n taskStatus[ComputedStatus.Pending]++;\n }\n });\n\n return {\n ...taskStatus,\n };\n};\n\n/**\n * The function to get the total number of tasks in the pipeline run.\n *\n * @public\n */\nexport const totalPipelineRunTasks = (\n pipelinerun: PipelineRunKind | null,\n): number => {\n if (!pipelinerun?.status?.pipelineSpec) {\n return 0;\n }\n const totalTasks = (pipelinerun.status.pipelineSpec?.tasks || []).length;\n const finallyTasks =\n (pipelinerun.status.pipelineSpec?.finally || []).length ?? 0;\n return totalTasks + finallyTasks;\n};\n\n/**\n * The function to get the task status.\n *\n * @public\n */\nexport const getTaskStatus = (\n pipelinerun: PipelineRunKind,\n taskRuns: TaskRunKind[],\n) => {\n const totalTasks = totalPipelineRunTasks(pipelinerun);\n const plrTaskLength = taskRuns.length;\n const skippedTaskLength = pipelinerun?.status?.skippedTasks?.length || 0;\n\n const taskStatus: TaskStatusTypes = updateTaskStatus(pipelinerun, taskRuns);\n\n if (taskRuns?.length > 0) {\n const pipelineRunHasFailure = taskStatus[ComputedStatus.Failed] > 0;\n const pipelineRunIsCancelled =\n pipelineRunFilterReducer(pipelinerun) === ComputedStatus.Cancelled;\n const unhandledTasks =\n totalTasks >= plrTaskLength\n ? totalTasks - plrTaskLength - skippedTaskLength\n : totalTasks;\n\n if (pipelineRunHasFailure || pipelineRunIsCancelled) {\n taskStatus[ComputedStatus.Cancelled] += unhandledTasks;\n } else {\n taskStatus[ComputedStatus.Pending] += unhandledTasks;\n }\n } else if (\n pipelinerun?.status?.conditions?.[0]?.status === 'False' ||\n pipelinerun?.spec.status === SucceedConditionReason.PipelineRunCancelled\n ) {\n taskStatus[ComputedStatus.Cancelled] = totalTasks;\n } else if (\n pipelinerun?.spec.status === SucceedConditionReason.PipelineRunPending\n ) {\n taskStatus[ComputedStatus.Pending] += totalTasks;\n } else {\n taskStatus[ComputedStatus.PipelineNotStarted]++;\n }\n return taskStatus;\n};\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@backstage-community/plugin-tekton-react",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"description": "Web library for the tekton plugin",
|
|
6
6
|
"main": "dist/index.esm.js",
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
38
|
"@backstage/core-plugin-api": "^1.12.0",
|
|
39
|
-
"@kubernetes/client-node": "1.
|
|
39
|
+
"@kubernetes/client-node": "1.4.0",
|
|
40
40
|
"@material-ui/core": "^4.9.13"
|
|
41
41
|
},
|
|
42
42
|
"peerDependencies": {
|