diff --git a/packages/server-commands/src/server/servers-command.ts b/packages/server-commands/src/server/servers-command.ts index b6190e6ce..bf95db819 100644 --- a/packages/server-commands/src/server/servers-command.ts +++ b/packages/server-commands/src/server/servers-command.ts @@ -8,7 +8,6 @@ import { basename, join } from 'path' import { AbstractCommand, OverrideCommandOptions } from '../shared/index.js' export class ServersCommand extends AbstractCommand { - static flushTests (internalServerNumber: number) { return new Promise((res, rej) => { const suffix = ` -- ${internalServerNumber}` @@ -46,9 +45,20 @@ export class ServersCommand extends AbstractCommand { await copy(origin, join('artifacts', destname)) } + const saveDBIfNeeded = async () => { + if (!isGithubCI()) return + + await ensureDir('artifacts') + const destname = join('databases', `peertube-${this.server.internalServerNumber}.sql`) + console.log('Saving database %s.', destname) + + exec(`pg_dump peertube_test${this.server.internalServerNumber} > ${destname}`) + } + if (this.server.parallel) { const promise = saveGithubLogsIfNeeded() - .then(() => ServersCommand.flushTests(this.server.internalServerNumber)) + .then(() => saveDBIfNeeded()) + .then(() => ServersCommand.flushTests(this.server.internalServerNumber)) promises.push(promise) } diff --git a/support/docker/production/.env b/support/docker/production/.env index e0ea5e73b..1bbe6ff86 100644 --- a/support/docker/production/.env +++ b/support/docker/production/.env @@ -47,6 +47,7 @@ OPENDKIM_DOMAINS==peertube # see https://github.com/wader/postfix-relay/pull/18 OPENDKIM_RequireSafeKeys=no +# Comment these variables if your S3 provider does not support object ACL PEERTUBE_OBJECT_STORAGE_UPLOAD_ACL_PUBLIC="public-read" PEERTUBE_OBJECT_STORAGE_UPLOAD_ACL_PRIVATE="private"