From c5a1e0f0e7da1d716794cb4fb1ec010c41a28689 Mon Sep 17 00:00:00 2001 From: electrovir Date: Tue, 10 Sep 2024 15:46:30 +0000 Subject: [PATCH] fix prisma migrate dev behavior differences in CI --- packages/node/src/docker/docker-image.ts | 2 +- .../node/src/docker/run-docker-test.mock.ts | 14 ------------- .../node/src/prisma/prisma-migrations.test.ts | 21 +++++++------------ 3 files changed, 8 insertions(+), 29 deletions(-) diff --git a/packages/node/src/docker/docker-image.ts b/packages/node/src/docker/docker-image.ts index 02ff0fc4..c75c53c5 100644 --- a/packages/node/src/docker/docker-image.ts +++ b/packages/node/src/docker/docker-image.ts @@ -29,7 +29,7 @@ export async function removeImageFromLocalRegistry( imageName: string, ) { try { - const shellOutput = await runShellCommand(`docker image rm '${imageName}'`, { + await runShellCommand(`docker image rm '${imageName}'`, { rejectOnError: true, }); } catch (caught) { diff --git a/packages/node/src/docker/run-docker-test.mock.ts b/packages/node/src/docker/run-docker-test.mock.ts index 6d2dad77..a98f30cb 100644 --- a/packages/node/src/docker/run-docker-test.mock.ts +++ b/packages/node/src/docker/run-docker-test.mock.ts @@ -1,19 +1,5 @@ import type {MaybePromise} from '@augment-vir/common'; -import {isOperatingSystem, OperatingSystem} from '../augments/os/operating-system.js'; export function dockerTest(callback: () => MaybePromise) { - if (isOperatingSystem(OperatingSystem.Mac) && process.env.CI) { - /** - * We cannot test Docker on macOS GitHub Actions runners. - * - * @see - * - https://github.com/actions/runner-images/issues/8104 - * - https://github.com/douglascamata/setup-docker-macos-action?tab=readme-ov-file#arm64-processors-m1-m2-m3-series-used-on-macos-14-images-are-unsupported - * - https://github.com/actions/runner-images/issues/2150 - * - https://github.com/actions/runner/issues/1456 - */ - return () => {}; - } - return callback; } diff --git a/packages/node/src/prisma/prisma-migrations.test.ts b/packages/node/src/prisma/prisma-migrations.test.ts index 302fe0b7..ff1d5872 100644 --- a/packages/node/src/prisma/prisma-migrations.test.ts +++ b/packages/node/src/prisma/prisma-migrations.test.ts @@ -2,7 +2,6 @@ import {assert} from '@augment-vir/assert'; import {describe, it} from '@augment-vir/test'; import {existsSync} from 'node:fs'; import {readdir, rm} from 'node:fs/promises'; -import {isOperatingSystem, OperatingSystem} from '../augments/os/operating-system.js'; import {prisma} from '../augments/prisma.js'; import { testInvalidPrismaSchemaPath, @@ -143,6 +142,8 @@ describe(prisma.migration.applyDev.name, () => { }); }); it('fails when a new migration is needed', async () => { + const originalCi = process.env; + delete process.env.CI; await clearTestDatabaseOutputs(); await prisma.database.resetDev(testPrismaSchemaPath); @@ -152,19 +153,11 @@ describe(prisma.migration.applyDev.name, () => { unappliedMigrations: [], }); - /** - * This behaves differently in Linux. I don't know why, and at the moment I don't care nor - * do I have an easy way to debug it. - */ - /* node:coverage ignore next 8 */ - if (isOperatingSystem(OperatingSystem.Linux)) { - await prisma.migration.applyDev(testPrismaSchema2Path); - } else { - await assert.throws(prisma.migration.applyDev(testPrismaSchema2Path), { - matchMessage: 'A new Prisma migration is needed for', - matchConstructor: PrismaMigrationNeededError, - }); - } + await assert.throws(prisma.migration.applyDev(testPrismaSchema2Path), { + matchMessage: 'A new Prisma migration is needed for', + matchConstructor: PrismaMigrationNeededError, + }); + process.env = originalCi; }); it('fails when a reset is needed', async () => { await clearTestDatabaseOutputs();