diff --git a/.changeset/giant-snakes-watch.md b/.changeset/giant-snakes-watch.md new file mode 100644 index 0000000000..553518b678 --- /dev/null +++ b/.changeset/giant-snakes-watch.md @@ -0,0 +1,5 @@ +--- +'@backstage/backend-test-utils': patch +--- + +Skip running docker tests unless in CI diff --git a/packages/backend-test-utils/src/database/TestDatabases.ts b/packages/backend-test-utils/src/database/TestDatabases.ts index a7b08cd593..ab5846d84d 100644 --- a/packages/backend-test-utils/src/database/TestDatabases.ts +++ b/packages/backend-test-utils/src/database/TestDatabases.ts @@ -56,7 +56,11 @@ export class TestDatabases { disableDocker: isDockerDisabledForTests(), }; - const { ids, disableDocker } = Object.assign(defaultOptions, options ?? {}); + const { ids, disableDocker } = Object.assign( + {}, + defaultOptions, + options ?? {}, + ); const supportedIds = ids.filter(id => { const properties = allDatabases[id]; diff --git a/packages/backend-test-utils/src/util/isDockerDisabledForTests.ts b/packages/backend-test-utils/src/util/isDockerDisabledForTests.ts index 60d27bc154..4aeea59c50 100644 --- a/packages/backend-test-utils/src/util/isDockerDisabledForTests.ts +++ b/packages/backend-test-utils/src/util/isDockerDisabledForTests.ts @@ -15,5 +15,13 @@ */ export function isDockerDisabledForTests() { - return Boolean(process.env.BACKSTAGE_TEST_DISABLE_DOCKER); + // If we are not running in continuous integration, the default is to skip + // the (relatively heavy, long running) docker based tests. If you want to + // still run local tests for all databases, just pass either the CI=1 env + // parameter to your test runner, or individual connection strings per + // database. + return ( + Boolean(process.env.BACKSTAGE_TEST_DISABLE_DOCKER) || + !Boolean(process.env.CI) + ); }