Files
mygit/e2e/helpers/environment/service-availability.ts
T
DuckQ1u 93d1b7c3d3
Copilot Setup Steps / copilot-setup-steps (push) Has been cancelled
first commit
2026-04-22 19:51:20 +07:00

29 lines
1.0 KiB
TypeScript

import Docker from 'dockerode';
import baseDebug from '@tryghost/debug';
import {DEV_ENVIRONMENT, TINYBIRD} from './constants';
const debug = baseDebug('e2e:ServiceAvailability');
async function isServiceAvailable(docker: Docker, serviceName: string) {
const containers = await docker.listContainers({
filters: {
label: [
`com.docker.compose.service=${serviceName}`,
`com.docker.compose.project=${DEV_ENVIRONMENT.projectNamespace}`
],
status: ['running']
}
});
return containers.length > 0;
}
/**
* Check if Tinybird is running.
* Checks for tinybird-local service in ghost-dev compose project.
*/
export async function isTinybirdAvailable(): Promise<boolean> {
const docker = new Docker();
const tinybirdAvailable = await isServiceAvailable(docker, TINYBIRD.LOCAL_HOST);
debug(`Tinybird availability for compose project ${DEV_ENVIRONMENT.projectNamespace}:`, tinybirdAvailable);
return tinybirdAvailable;
}