mirror of
https://github.com/immich-app/immich.git
synced 2024-12-27 10:58:13 +02:00
56b0643890
* basic changes update version check set ef_search for clip * pgvector compatibility Revert "pgvector compatibility" This reverts commit 2b66a52aa4097dd27da58138c5288fd87cb9b24a. pgvector compatibility: minimal edition pgvector startup check * update extension at startup * wording shortened vector extension variable name * nightly docker * fixed version checks * update tests add tests for updating extension remove unnecessary check * simplify `getRuntimeConfig` * wording * reindex on minor version update * 0.2 upgrade testing update prod compose * acquire lock for init * wip vector down on shutdown * use upgrade helper * update image tag * refine restart check check error message * test reindex testing upstream fix formatting fixed reindexing * use enum in signature * fix tests remove unused code * add reindexing tests * update to official 0.2 remove alpha from version name * add warning test if restart required * update test image to 0.2.0 * linting and test cleanup * formatting * update sql * wording * handle setting search path for new and existing databases * handle new db in reindex check * fix post-update reindexing * get dim size * formatting * use vbase * handle different db name * update sql * linting * fix suggested env
43 lines
1.4 KiB
TypeScript
43 lines
1.4 KiB
TypeScript
import { PostgreSqlContainer } from '@testcontainers/postgresql';
|
|
import { access } from 'fs/promises';
|
|
import path from 'path';
|
|
|
|
export default async () => {
|
|
let IMMICH_TEST_ASSET_PATH: string = '';
|
|
|
|
if (process.env.IMMICH_TEST_ASSET_PATH === undefined) {
|
|
IMMICH_TEST_ASSET_PATH = path.normalize(`${__dirname}/../../test/assets/`);
|
|
process.env.IMMICH_TEST_ASSET_PATH = IMMICH_TEST_ASSET_PATH;
|
|
} else {
|
|
IMMICH_TEST_ASSET_PATH = process.env.IMMICH_TEST_ASSET_PATH;
|
|
}
|
|
|
|
const directoryExists = async (dirPath: string) =>
|
|
await access(dirPath)
|
|
.then(() => true)
|
|
.catch(() => false);
|
|
|
|
if (!(await directoryExists(`${IMMICH_TEST_ASSET_PATH}/albums`))) {
|
|
throw new Error(
|
|
`Test assets not found. Please checkout https://github.com/immich-app/test-assets into ${IMMICH_TEST_ASSET_PATH} before testing`,
|
|
);
|
|
}
|
|
|
|
if (process.env.DB_HOSTNAME === undefined) {
|
|
// DB hostname not set which likely means we're not running e2e through docker compose. Start a local postgres container.
|
|
const pg = await new PostgreSqlContainer('tensorchord/pgvecto-rs:pg14-v0.2.0')
|
|
.withExposedPorts(5432)
|
|
.withDatabase('immich')
|
|
.withUsername('postgres')
|
|
.withPassword('postgres')
|
|
.withReuse()
|
|
.start();
|
|
|
|
process.env.DB_URL = pg.getConnectionUri();
|
|
}
|
|
|
|
process.env.NODE_ENV = 'development';
|
|
process.env.IMMICH_CONFIG_FILE = path.normalize(`${__dirname}/immich-e2e-config.json`);
|
|
process.env.TZ = 'Z';
|
|
};
|