Some checks failed
Deploy analytics worker / Deploy analytics worker to ${{ (github.ref == 'refs/heads/production' && 'production') || (github.ref == 'refs/heads/main' && 'staging') || 'preview' }} (push) Failing after 1s
i18n upload strings / Upload latest strings (push) Failing after 1s
Deploy bemo / Deploy bemo to ${{ (github.ref == 'refs/heads/bemo-production' && 'production') || (github.ref == 'refs/heads/main' && 'staging') || 'preview' }} (push) Failing after 1s
Deploy grafana resources / ${{ github.event_name == 'push' && 'Deploy grafana resources' || 'Validate grafana resources (dry run)' }} (push) Failing after 0s
End to end tests (dotcom) / Check for relevant changes (push) Failing after 0s
End to end tests (examples) / Check for relevant changes (push) Failing after 0s
End to end tests (mermaid readability) / Check for relevant changes (push) Failing after 1s
End to end tests (perf) / Check for relevant changes (push) Failing after 0s
Publish editor extensions / Publish editor extensions (push) Failing after 1s
Publish SDK packages / Remove the publish-packages label (push) Has been skipped
Checks / Tests & checks (push) Has been cancelled
Checks / Build all projects (push) Has been cancelled
Deploy templates / Deploy templates (push) Has been cancelled
End to end tests (dotcom) / End to end tests (dotcom) (push) Has been cancelled
End to end tests (mermaid readability) / End to end tests (mermaid readability) (push) Has been cancelled
End to end tests (perf) / End to end tests (perf) (push) Has been cancelled
Deploy .com / Deploy dotcom to ${{ (github.ref == 'refs/heads/production' && 'production') || (github.ref == 'refs/heads/main' && 'staging') || 'preview' }} (push) Has been cancelled
End to end tests (examples) / End to end tests (examples) (push) Has been cancelled
Publish SDK packages / Publish SDK packages (push) Has been cancelled
Publish SDK packages / Tell user released version (push) Has been cancelled
Publish SDK packages / Publishes code templates to separate repositories (push) Has been cancelled
Publish SDK packages / Deploys the template demos with the new SDK version (push) Has been cancelled
29 lines
1.1 KiB
TypeScript
29 lines
1.1 KiB
TypeScript
/* eslint-disable no-console */
|
|
import { spawnSync } from 'child_process'
|
|
import path from 'path'
|
|
|
|
/**
|
|
* In CI the Playwright `webServer` boots the full dotcom dev stack (`VITE_PREVIEW=1 yarn dev-app`),
|
|
* which process-compose runs as host processes plus the postgres container. Playwright reaps the
|
|
* process-compose process it spawned, but the postgres container is daemon-managed and can survive,
|
|
* so `yarn dev-app:clean` removes the container, its volume, and the rest of the dev state.
|
|
*
|
|
* Gated to CI: locally `reuseExistingServer` means we are sharing the developer's own running stack,
|
|
* which we must not tear down.
|
|
*/
|
|
async function globalTeardown() {
|
|
if (!process.env.CI) return
|
|
|
|
const repoRoot = path.join(__dirname, '../../../../')
|
|
const result = spawnSync('yarn', ['dev-app:clean'], { cwd: repoRoot, stdio: 'inherit' })
|
|
if (result.error) {
|
|
console.warn(`Could not run yarn dev-app:clean: ${result.error.message}`)
|
|
} else if (result.status !== 0) {
|
|
console.warn(
|
|
`yarn dev-app:clean exited with ${result.signal ? `signal ${result.signal}` : `code ${result.status}`}; dev state may have leaked`
|
|
)
|
|
}
|
|
}
|
|
|
|
export default globalTeardown
|