From 1a3481a87ed7af202b627e8fec9956f5fb8a56ff Mon Sep 17 00:00:00 2001 From: Nicole White Date: Mon, 4 Mar 2024 20:17:03 -0500 Subject: [PATCH] rearrange --- src/handlers/testing/exec/emitter.ts | 2 +- src/handlers/testing/exec/index.ts | 30 +++++++++++++++++++-------- src/handlers/testing/exec/util/net.ts | 2 +- 3 files changed, 23 insertions(+), 11 deletions(-) diff --git a/src/handlers/testing/exec/emitter.ts b/src/handlers/testing/exec/emitter.ts index 9c8e76f..4aab3c4 100644 --- a/src/handlers/testing/exec/emitter.ts +++ b/src/handlers/testing/exec/emitter.ts @@ -12,7 +12,7 @@ export enum EventName { // Zod schemas for event data const zConsoleLogSchema = z.object({ - ctx: z.enum(['cmd', 'cli', 'cli-server']), + ctx: z.enum(['cmd', 'cli']), level: z.enum(['debug', 'info', 'warn', 'error']), message: z.string(), }); diff --git a/src/handlers/testing/exec/index.ts b/src/handlers/testing/exec/index.ts index 5dab61a..654178b 100644 --- a/src/handlers/testing/exec/index.ts +++ b/src/handlers/testing/exec/index.ts @@ -140,13 +140,25 @@ class RunManager { async handleEndRun(args: { testExternalId: string }): Promise { emitter.emit(EventName.RUN_ENDED, { testExternalId: args.testExternalId }); const runId = this.currentRunId({ testExternalId: args.testExternalId }); - await this.post(`/runs/${runId}/end`); - delete this.testExternalIdToRunId[args.testExternalId]; if (this.ciContext) { - await commentOnPullRequest({ - context: this.ciContext, - evaluations: this.evaluations, - }); + try { + await commentOnPullRequest({ + context: this.ciContext, + evaluations: this.evaluations, + }); + } catch (err) { + emitter.emit(EventName.CONSOLE_LOG, { + ctx: 'cli', + level: 'error', + message: `Failed to comment on PR: ${err}`, + }); + } + } + + try { + await this.post(`/runs/${runId}/end`); + } finally { + delete this.testExternalIdToRunId[args.testExternalId]; } } @@ -319,7 +331,7 @@ function createHonoApp(runManager: RunManager): Hono { app.onError((err, c) => { emitter.emit(EventName.CONSOLE_LOG, { - ctx: 'cli-server', + ctx: 'cli', level: 'error', message: `${c.req.method} ${c.req.path}: ${err.message}`, }); @@ -332,7 +344,7 @@ function createHonoApp(runManager: RunManager): Hono { ) => { if (!result.success) { emitter.emit(EventName.CONSOLE_LOG, { - ctx: 'cli-server', + ctx: 'cli', level: 'error', message: `${c.req.method} ${c.req.path}: ${result.error}`, }); @@ -558,7 +570,7 @@ export async function exec(args: { const serverAddress = `http://localhost:${addressInfo.port}`; emitter.emit(EventName.CONSOLE_LOG, { - ctx: 'cli-server', + ctx: 'cli', level: 'info', message: `Listening on ${serverAddress}`, }); diff --git a/src/handlers/testing/exec/util/net.ts b/src/handlers/testing/exec/util/net.ts index b1a36e7..3112cda 100644 --- a/src/handlers/testing/exec/util/net.ts +++ b/src/handlers/testing/exec/util/net.ts @@ -19,7 +19,7 @@ export async function findAvailablePort(args: { if ((err as { code?: string } | undefined)?.code === 'EADDRINUSE') { const nextPort = port + 1; emitter.emit(EventName.CONSOLE_LOG, { - ctx: 'cli-server', + ctx: 'cli', level: 'info', message: `Port ${port} is in use, trying port ${nextPort}...`, });