Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
build = await this.checkBuildPipelines();
if (build === null) {
// Pipelines timeout.
await this.release.update({ state: ReleaseState.failed, reason: ReleaseReason.timeout });
// Raise error to retry.
throw new Error(`[id=${this.release.id}] [build_id=${this.release.build_id}] build pipelines timeout.`);
} else if (build.status == BuildStatus.Completed && build.result == BuildResult.Succeeded) {
// Pipelines succeeded.
await this.release.update({ state: ReleaseState.succeeded });
logger.info(`[id=${this.release.id}] [build_id=${this.release.build_id}] build pipelines succeeded.`);
} else {
// Pipelines failed.
await this.release.update({ state: ReleaseState.failed });
let reason = '';
// Update publish_log.
if (build.status == BuildStatus.Completed && build.result == BuildResult.Failed) {
// Fetch build message.
let publishLog = await this.getPublishLog();
// Find reason.
reason = this.getReasonFromPublishLog(publishLog);
// Update to database.
await this.release.update({ publish_log: publishLog, reason });
}
let statusName = BuildStatusEnum.getKeyOrThrow(build.status);
let resultName = typeof build.result === 'undefined'
? 'undefined'
: BuildResultEnum.getKeyOrThrow(build.result);
if (reason != ReleaseReason.badGateway && reason != ReleaseReason.serverError) {
// Acceptable failure reason, just log it.
logger.error(`[id=${this.release.id}] [build_id=${this.release.build_id}] build pipelines failed, status ${statusName}, result ${resultName}, reason ${reason}`);
}
else {