Fix some deprecations and misplaced await usage.

Signed-off-by: Brian Fletcher <brian@roadie.io>
This commit is contained in:
Brian Fletcher
2024-02-14 11:09:44 +00:00
parent c2361bda02
commit c25a50022c
11 changed files with 53 additions and 40 deletions
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-scaffolder-backend': patch
---
Fix some deprecations and misplaced `await` usage.
@@ -16,8 +16,10 @@
import { parseEntityRef } from '@backstage/catalog-model';
import { ScmIntegrations } from '@backstage/integration';
import type { JsonObject, JsonValue } from '@backstage/types';
import { TemplateFilter } from '..';
import { parseRepoUrl } from '@backstage/plugin-scaffolder-node';
import {
parseRepoUrl,
TemplateFilter,
} from '@backstage/plugin-scaffolder-node';
import get from 'lodash/get';
export const createDefaultFilters = ({
@@ -22,14 +22,17 @@ import {
GithubCredentialsProvider,
ScmIntegrations,
} from '@backstage/integration';
import { TemplateAction } from '@backstage/plugin-scaffolder-node';
import {
TemplateAction,
TemplateFilter,
TemplateGlobal,
} from '@backstage/plugin-scaffolder-node';
import {
createCatalogRegisterAction,
createCatalogWriteAction,
createFetchCatalogEntityAction,
} from './catalog';
import { TemplateFilter, TemplateGlobal } from '../../../lib';
import { createDebugLogAction, createWaitAction } from './debug';
import {
createFetchPlainAction,
@@ -21,15 +21,13 @@ import { ScmIntegrations } from '@backstage/integration';
import {
createTemplateAction,
fetchContents,
TemplateFilter,
TemplateGlobal,
} from '@backstage/plugin-scaffolder-node';
import globby from 'globby';
import fs from 'fs-extra';
import { isBinaryFile } from 'isbinaryfile';
import {
TemplateFilter,
SecureTemplater,
TemplateGlobal,
} from '../../../../lib/templating/SecureTemplater';
import { SecureTemplater } from '../../../../lib/templating/SecureTemplater';
import { createDefaultFilters } from '../../../../lib/templating/filters';
import { examples } from './template.examples';
@@ -19,12 +19,12 @@ import { NunjucksWorkflowRunner } from './NunjucksWorkflowRunner';
import { TemplateActionRegistry } from '../actions';
import { ScmIntegrations } from '@backstage/integration';
import { ConfigReader } from '@backstage/config';
import { TaskContext } from './types';
import { TaskSpec } from '@backstage/plugin-scaffolder-common';
import {
createTemplateAction,
TaskSecrets,
TemplateAction,
TaskContext,
} from '@backstage/plugin-scaffolder-node';
import { UserEntity } from '@backstage/catalog-model';
import { z } from 'zod';
@@ -15,12 +15,7 @@
*/
import { ScmIntegrations } from '@backstage/integration';
import {
TaskContext,
TaskTrackType,
WorkflowResponse,
WorkflowRunner,
} from './types';
import { TaskTrackType, WorkflowResponse, WorkflowRunner } from './types';
import * as winston from 'winston';
import fs from 'fs-extra';
import path from 'path';
@@ -32,10 +27,8 @@ import { generateExampleOutput, isTruthy } from './helper';
import { validate as validateJsonSchema } from 'jsonschema';
import { TemplateActionRegistry } from '../actions';
import {
TemplateFilter,
SecureTemplater,
SecureTemplateRenderer,
TemplateGlobal,
} from '../../lib/templating/SecureTemplater';
import {
TaskSpec,
@@ -43,7 +36,12 @@ import {
TaskStep,
} from '@backstage/plugin-scaffolder-common';
import { TemplateAction } from '@backstage/plugin-scaffolder-node';
import {
TemplateAction,
TemplateFilter,
TemplateGlobal,
TaskContext,
} from '@backstage/plugin-scaffolder-node';
import { createConditionAuthorizer } from '@backstage/plugin-permission-node';
import { UserEntity } from '@backstage/catalog-model';
import { createCounterMetric, createHistogramMetric } from '../../util/metrics';
@@ -226,7 +224,7 @@ export class NunjucksWorkflowRunner implements WorkflowRunner {
try {
if (step.if) {
const ifResult = await this.render(step.if, context, renderTemplate);
const ifResult = this.render(step.if, context, renderTemplate);
if (!isTruthy(ifResult)) {
await stepTrack.skipFalsy();
return;
@@ -17,10 +17,12 @@
import { getVoidLogger, DatabaseManager } from '@backstage/backend-common';
import { ConfigReader } from '@backstage/config';
import { TaskSpec } from '@backstage/plugin-scaffolder-common';
import { TaskSecrets } from '@backstage/plugin-scaffolder-node';
import {
TaskSecrets,
SerializedTaskEvent,
} from '@backstage/plugin-scaffolder-node';
import { DatabaseTaskStore } from './DatabaseTaskStore';
import { StorageTaskBroker, TaskManager } from './StorageTaskBroker';
import { SerializedTaskEvent } from './types';
async function createStore(): Promise<DatabaseTaskStore> {
const manager = DatabaseManager.fromConfig(
@@ -81,12 +83,12 @@ describe('StorageTaskBroker', () => {
const taskA = await broker.claim();
const taskB = await broker.claim();
const taskC = await broker.claim();
await expect(taskA).toEqual(expect.any(TaskManager as any));
await expect(taskB).toEqual(expect.any(TaskManager as any));
await expect(taskC).toEqual(expect.any(TaskManager as any));
await expect(taskA.spec.steps[0].id).toBe('a');
await expect(taskB.spec.steps[0].id).toBe('b');
await expect(taskC.spec.steps[0].id).toBe('c');
expect(taskA).toEqual(expect.any(TaskManager as any));
expect(taskB).toEqual(expect.any(TaskManager as any));
expect(taskC).toEqual(expect.any(TaskManager as any));
expect(taskA.spec.steps[0].id).toBe('a');
expect(taskB.spec.steps[0].id).toBe('b');
expect(taskC.spec.steps[0].id).toBe('c');
});
it('should store secrets', async () => {
@@ -16,19 +16,19 @@
import { Config } from '@backstage/config';
import { TaskSpec } from '@backstage/plugin-scaffolder-common';
import { TaskSecrets } from '@backstage/plugin-scaffolder-node';
import { JsonObject, Observable } from '@backstage/types';
import { Logger } from 'winston';
import ObservableImpl from 'zen-observable';
import {
TaskSecrets,
SerializedTask,
SerializedTaskEvent,
TaskBroker,
TaskBrokerDispatchOptions,
TaskCompletionState,
TaskContext,
TaskStore,
} from './types';
} from '@backstage/plugin-scaffolder-node';
import { JsonObject, Observable } from '@backstage/types';
import { Logger } from 'winston';
import ObservableImpl from 'zen-observable';
import { TaskStore } from './types';
import { readDuration } from './helper';
/**
@@ -27,8 +27,8 @@ import {
SerializedTaskEvent,
TaskBroker,
TaskContext,
WorkflowRunner,
} from './types';
} from '@backstage/plugin-scaffolder-node';
import { WorkflowRunner } from './types';
import ObservableImpl from 'zen-observable';
import waitForExpect from 'wait-for-expect';
@@ -257,7 +257,7 @@ describe('Cancellable TaskWorker', () => {
},
});
await taskWorker.start();
taskWorker.start();
await taskBroker.cancel(taskId);
await waitForExpect(() => {
@@ -14,14 +14,19 @@
* limitations under the License.
*/
import { TaskContext, TaskBroker, WorkflowRunner } from './types';
import { WorkflowRunner } from './types';
import {
TaskContext,
TaskBroker,
TemplateFilter,
TemplateGlobal,
} from '@backstage/plugin-scaffolder-node';
import PQueue from 'p-queue';
import { NunjucksWorkflowRunner } from './NunjucksWorkflowRunner';
import { Logger } from 'winston';
import { TemplateActionRegistry } from '../actions';
import { ScmIntegrations } from '@backstage/integration';
import { assertError, stringifyError } from '@backstage/errors';
import { TemplateFilter, TemplateGlobal } from '../../lib';
import { PermissionEvaluator } from '@backstage/plugin-permission-common';
/**
@@ -15,7 +15,7 @@
*/
import { trimEventsTillLastRecovery } from './taskRecoveryHelper';
import { SerializedTaskEvent } from './types';
import { SerializedTaskEvent } from '@backstage/plugin-scaffolder-node';
const toLogEvent = (stepId: string) =>
({