feat: Add seed command support to preview deployments

Run project-specific initialization commands (DB migrations, fixture
loading, etc.) automatically after containers are healthy, before the
preview is marked ready. Configured via per-service `seed` arrays in
.cw-preview.yml.
This commit is contained in:
Lukas May
2026-03-05 12:39:02 +01:00
parent 3913aa2e28
commit 714262fb83
8 changed files with 158 additions and 2 deletions

View File

@@ -133,6 +133,33 @@ services:
expect(config.services.frontend.dev!.workdir).toBe('/app');
});
it('parses seed array on a service', () => {
const raw = `
version: 1
services:
app:
build: "."
port: 3000
seed:
- npm run db:migrate
- npm run db:seed
`;
const config = parseCwPreviewConfig(raw);
expect(config.services.app.seed).toEqual(['npm run db:migrate', 'npm run db:seed']);
});
it('omits seed when not specified', () => {
const raw = `
version: 1
services:
app:
build: "."
port: 3000
`;
const config = parseCwPreviewConfig(raw);
expect(config.services.app.seed).toBeUndefined();
});
it('parses dev section with only image', () => {
const raw = `
version: 1