diff --git a/build/azure-pipelines/common/publish.ts b/build/azure-pipelines/common/publish.ts index 8665ef8af0..46413f244d 100644 --- a/build/azure-pipelines/common/publish.ts +++ b/build/azure-pipelines/common/publish.ts @@ -43,6 +43,7 @@ function createDefaultConfig(quality: string): Config { } function getConfig(quality: string): Promise { + console.log(`Getting config for quality ${quality}`); const client = new DocumentClient(process.env['AZURE_DOCUMENTDB_ENDPOINT']!, { masterKey: process.env['AZURE_DOCUMENTDB_MASTERKEY'] }); const collection = 'dbs/builds/colls/config'; const query = { @@ -52,13 +53,13 @@ function getConfig(quality: string): Promise { ] }; - return new Promise((c, e) => { + return retry(() => new Promise((c, e) => { client.queryDocuments(collection, query, { enableCrossPartitionQuery: true }).toArray((err, results) => { if (err && err.code !== 409) { return e(err); } c(!results || results.length === 0 ? createDefaultConfig(quality) : results[0] as any as Config); }); - }); + })); } interface Asset { @@ -86,6 +87,7 @@ function createOrUpdate(commit: string, quality: string, platform: string, type: updateTries++; return new Promise((c, e) => { + console.log(`Querying existing documents to update...`); client.queryDocuments(collection, updateQuery, { enableCrossPartitionQuery: true }).toArray((err, results) => { if (err) { return e(err); } if (results.length !== 1) { return e(new Error('No documents')); } @@ -101,6 +103,7 @@ function createOrUpdate(commit: string, quality: string, platform: string, type: release.updates[platform] = type; } + console.log(`Replacing existing document with updated version`); client.replaceDocument(release._self, release, err => { if (err && err.code === 409 && updateTries < 5) { return c(update()); } if (err) { return e(err); } @@ -113,6 +116,7 @@ function createOrUpdate(commit: string, quality: string, platform: string, type: } return retry(() => new Promise((c, e) => { + console.log(`Attempting to create document`); client.createDocument(collection, release, err => { if (err && err.code === 409) { return c(update()); } if (err) { return e(err); }