diff --git a/plugins/scaffolder-backend/sample-templates/all-templates.yaml b/plugins/scaffolder-backend/sample-templates/all-templates.yaml index a3c81f8af0..6637c9479b 100644 --- a/plugins/scaffolder-backend/sample-templates/all-templates.yaml +++ b/plugins/scaffolder-backend/sample-templates/all-templates.yaml @@ -6,7 +6,6 @@ metadata: spec: targets: - ./remote-templates.yaml - - ./longrunning-demo/wait-action.yaml # For local development of a template, you can reference your local templates here. # Examples: # diff --git a/plugins/scaffolder-backend/sample-templates/longrunning-demo/wait-action.yaml b/plugins/scaffolder-backend/sample-templates/longrunning-demo/wait-action.yaml deleted file mode 100644 index 56032408b7..0000000000 --- a/plugins/scaffolder-backend/sample-templates/longrunning-demo/wait-action.yaml +++ /dev/null @@ -1,43 +0,0 @@ -apiVersion: scaffolder.backstage.io/v1beta3 -# https://backstage.io/docs/features/software-catalog/descriptor-format#kind-template -kind: Template -metadata: - name: wait-action - title: wait-action - description: template with a waiting task for a long running action -spec: - owner: user:guest - type: service - - # These parameters are used to generate the input form in the frontend, and are - # used to gather input data for the execution of the template. - parameters: - - title: Fill in some steps - required: - - name - properties: - name: - title: Name - type: string - description: Unique name of the component - default: some value - ui:autofocus: true - ui:options: - rows: 5 - - # These steps are executed in the scaffolder backend, using data that we gathered - # via the parameters above. - steps: - - id: someAsyncCall - name: Some Async Call - action: debug:log - input: - message: Some async call that return a tickedId (guid, for instance, that identifies a process) - - - id: waitWorkflow - name: Wait Creation - action: stress:waitWorkflow - input: - name: 'test' #${{ steps.someAsyncCall.output.ticketId }} - delayMilliseconds: 1000 - maxCalls: 30 diff --git a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/createBuiltinActions.ts b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/createBuiltinActions.ts index 8f1fd056e0..e388a70f00 100644 --- a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/createBuiltinActions.ts +++ b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/createBuiltinActions.ts @@ -55,7 +55,6 @@ import { createPublishGitlabAction, createPublishGitlabMergeRequestAction, } from './publish'; -import { waitWorkflow } from './stress'; /** * The options passed to {@link createBuiltinActions} @@ -185,7 +184,6 @@ export const createBuiltinActions = ( config, githubCredentialsProvider, }), - waitWorkflow(), ]; return actions as TemplateAction[]; diff --git a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/stress/index.ts b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/stress/index.ts deleted file mode 100644 index 9260f41e2c..0000000000 --- a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/stress/index.ts +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright 2021 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -export { waitWorkflow } from './waitWorkflow'; diff --git a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/stress/waitWorkflow.ts b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/stress/waitWorkflow.ts deleted file mode 100644 index eeb5603e19..0000000000 --- a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/stress/waitWorkflow.ts +++ /dev/null @@ -1,102 +0,0 @@ -/* - * Copyright 2021 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { createTemplateAction } from '../../createTemplateAction'; - -export function waitWorkflow() { - type InputParameters = { - name: string; - delayMilliseconds: number; - maxCalls: number; - }; - - return createTemplateAction({ - id: 'stress:waitWorkflow', - schema: { - input: { - required: ['name'], - type: 'object', - properties: { - name: { - type: 'string', - title: 'Name', - description: - 'The Ticket Number used to check the status of the Workflow.', - }, - delayMilliseconds: { - type: 'number', - title: 'Delay', - description: - 'The amount of milliseconds to delay before the next checkStatus call.', - }, - maxCalls: { - type: 'number', - title: 'Max Calls', - description: - 'The amount of maximum calls allowed to check a status before stopping.', - }, - }, - }, - output: { - type: 'object', - properties: { - status: { - title: 'Status', - type: 'object', - properties: { - message: { - title: 'Status Message', - type: 'string', - }, - }, - }, - results: { - title: 'Results from Ticket execution', - type: 'object', - }, - }, - }, - }, - async handler(ctx) { - const { name, maxCalls, delayMilliseconds } = getParameters(ctx.input); - - ctx.logger.info(`Running the long running workflow: ${name}...`); - - let i = 1; - - for (;;) { - ctx.logger.info(`waiting... [${i}/${maxCalls}]`); - - if (i++ >= maxCalls) { - break; - } - - await new Promise(res => setTimeout(res, delayMilliseconds)); - } - - ctx.output('status.message', 'Workflow completed'); - }, - }); - - function getParameters(input: InputParameters) { - const { name, delayMilliseconds, maxCalls } = input; - return { - name, - maxCalls: maxCalls ?? 30, - delayMilliseconds: delayMilliseconds ?? 2000, - }; - } -}