提交 0d3682e6 编写于 作者: M Matt Bierner

Fix strict null errors in tfs

上级 ddc5eeee
...@@ -43,7 +43,7 @@ function createDefaultConfig(quality: string): Config { ...@@ -43,7 +43,7 @@ function createDefaultConfig(quality: string): Config {
} }
function getConfig(quality: string): Promise<Config> { function getConfig(quality: string): Promise<Config> {
const client = new DocumentClient(process.env['AZURE_DOCUMENTDB_ENDPOINT'], { masterKey: process.env['AZURE_DOCUMENTDB_MASTERKEY'] }); const client = new DocumentClient(process.env['AZURE_DOCUMENTDB_ENDPOINT']!, { masterKey: process.env['AZURE_DOCUMENTDB_MASTERKEY'] });
const collection = 'dbs/builds/colls/config'; const collection = 'dbs/builds/colls/config';
const query = { const query = {
query: `SELECT TOP 1 * FROM c WHERE c.id = @quality`, query: `SELECT TOP 1 * FROM c WHERE c.id = @quality`,
...@@ -73,7 +73,7 @@ interface Asset { ...@@ -73,7 +73,7 @@ interface Asset {
} }
function createOrUpdate(commit: string, quality: string, platform: string, type: string, release: NewDocument, asset: Asset, isUpdate: boolean): Promise<void> { function createOrUpdate(commit: string, quality: string, platform: string, type: string, release: NewDocument, asset: Asset, isUpdate: boolean): Promise<void> {
const client = new DocumentClient(process.env['AZURE_DOCUMENTDB_ENDPOINT'], { masterKey: process.env['AZURE_DOCUMENTDB_MASTERKEY'] }); const client = new DocumentClient(process.env['AZURE_DOCUMENTDB_ENDPOINT']!, { masterKey: process.env['AZURE_DOCUMENTDB_MASTERKEY'] });
const collection = 'dbs/builds/colls/' + quality; const collection = 'dbs/builds/colls/' + quality;
const updateQuery = { const updateQuery = {
query: 'SELECT TOP 1 * FROM c WHERE c.id = @id', query: 'SELECT TOP 1 * FROM c WHERE c.id = @id',
...@@ -127,7 +127,7 @@ async function assertContainer(blobService: azure.BlobService, quality: string): ...@@ -127,7 +127,7 @@ async function assertContainer(blobService: azure.BlobService, quality: string):
await new Promise((c, e) => blobService.createContainerIfNotExists(quality, { publicAccessLevel: 'blob' }, err => err ? e(err) : c())); await new Promise((c, e) => blobService.createContainerIfNotExists(quality, { publicAccessLevel: 'blob' }, err => err ? e(err) : c()));
} }
async function doesAssetExist(blobService: azure.BlobService, quality: string, blobName: string): Promise<boolean> { async function doesAssetExist(blobService: azure.BlobService, quality: string, blobName: string): Promise<boolean | undefined> {
const existsResult = await new Promise<azure.BlobService.BlobResult>((c, e) => blobService.doesBlobExist(quality, blobName, (err, r) => err ? e(err) : c(r))); const existsResult = await new Promise<azure.BlobService.BlobResult>((c, e) => blobService.doesBlobExist(quality, blobName, (err, r) => err ? e(err) : c(r)));
return existsResult.exists; return existsResult.exists;
} }
...@@ -150,8 +150,8 @@ interface PublishOptions { ...@@ -150,8 +150,8 @@ interface PublishOptions {
async function publish(commit: string, quality: string, platform: string, type: string, name: string, version: string, _isUpdate: string, file: string, opts: PublishOptions): Promise<void> { async function publish(commit: string, quality: string, platform: string, type: string, name: string, version: string, _isUpdate: string, file: string, opts: PublishOptions): Promise<void> {
const isUpdate = _isUpdate === 'true'; const isUpdate = _isUpdate === 'true';
const queuedBy = process.env['BUILD_QUEUEDBY']; const queuedBy = process.env['BUILD_QUEUEDBY']!;
const sourceBranch = process.env['BUILD_SOURCEBRANCH']; const sourceBranch = process.env['BUILD_SOURCEBRANCH']!;
const isReleased = (quality === 'insider' || quality === 'exploration') const isReleased = (quality === 'insider' || quality === 'exploration')
&& /^master$|^refs\/heads\/master$/.test(sourceBranch) && /^master$|^refs\/heads\/master$/.test(sourceBranch)
&& /Project Collection Service Accounts|Microsoft.VisualStudio.Services.TFS/.test(queuedBy); && /Project Collection Service Accounts|Microsoft.VisualStudio.Services.TFS/.test(queuedBy);
...@@ -179,12 +179,12 @@ async function publish(commit: string, quality: string, platform: string, type: ...@@ -179,12 +179,12 @@ async function publish(commit: string, quality: string, platform: string, type:
console.log('SHA256:', sha256hash); console.log('SHA256:', sha256hash);
const blobName = commit + '/' + name; const blobName = commit + '/' + name;
const storageAccount = process.env['AZURE_STORAGE_ACCOUNT_2']; const storageAccount = process.env['AZURE_STORAGE_ACCOUNT_2']!;
const blobService = azure.createBlobService(storageAccount, process.env['AZURE_STORAGE_ACCESS_KEY_2']) const blobService = azure.createBlobService(storageAccount, process.env['AZURE_STORAGE_ACCESS_KEY_2']!)
.withFilter(new azure.ExponentialRetryPolicyFilter(20)); .withFilter(new azure.ExponentialRetryPolicyFilter(20));
const mooncakeBlobService = azure.createBlobService(storageAccount, process.env['MOONCAKE_STORAGE_ACCESS_KEY'], `${storageAccount}.blob.core.chinacloudapi.cn`) const mooncakeBlobService = azure.createBlobService(storageAccount, process.env['MOONCAKE_STORAGE_ACCESS_KEY']!, `${storageAccount}.blob.core.chinacloudapi.cn`)
.withFilter(new azure.ExponentialRetryPolicyFilter(20)); .withFilter(new azure.ExponentialRetryPolicyFilter(20));
// mooncake is fussy and far away, this is needed! // mooncake is fussy and far away, this is needed!
...@@ -200,7 +200,7 @@ async function publish(commit: string, quality: string, platform: string, type: ...@@ -200,7 +200,7 @@ async function publish(commit: string, quality: string, platform: string, type:
doesAssetExist(mooncakeBlobService, quality, blobName) doesAssetExist(mooncakeBlobService, quality, blobName)
]); ]);
const promises = []; const promises: Array<Promise<void>> = [];
if (!blobExists) { if (!blobExists) {
promises.push(uploadBlob(blobService, quality, blobName, file)); promises.push(uploadBlob(blobService, quality, blobName, file));
...@@ -249,7 +249,7 @@ async function publish(commit: string, quality: string, platform: string, type: ...@@ -249,7 +249,7 @@ async function publish(commit: string, quality: string, platform: string, type:
isReleased: config.frozen ? false : isReleased, isReleased: config.frozen ? false : isReleased,
sourceBranch, sourceBranch,
queuedBy, queuedBy,
assets: [], assets: [] as Array<Asset>,
updates: {} as any updates: {} as any
}; };
......
...@@ -20,7 +20,7 @@ interface Asset { ...@@ -20,7 +20,7 @@ interface Asset {
function queueSigningRequest(quality: string, commit: string): Promise<void> { function queueSigningRequest(quality: string, commit: string): Promise<void> {
const retryOperations = new azure.ExponentialRetryPolicyFilter(); const retryOperations = new azure.ExponentialRetryPolicyFilter();
const queueSvc = azure const queueSvc = azure
.createQueueService(process.env['AZURE_STORAGE_ACCOUNT_2'], process.env['AZURE_STORAGE_ACCESS_KEY_2']) .createQueueService(process.env['AZURE_STORAGE_ACCOUNT_2']!, process.env['AZURE_STORAGE_ACCESS_KEY_2']!)
.withFilter(retryOperations); .withFilter(retryOperations);
queueSvc.messageEncoder = new azure.QueueMessageEncoder.TextBase64QueueMessageEncoder(); queueSvc.messageEncoder = new azure.QueueMessageEncoder.TextBase64QueueMessageEncoder();
...@@ -31,7 +31,7 @@ function queueSigningRequest(quality: string, commit: string): Promise<void> { ...@@ -31,7 +31,7 @@ function queueSigningRequest(quality: string, commit: string): Promise<void> {
} }
function isBuildSigned(quality: string, commit: string): Promise<boolean> { function isBuildSigned(quality: string, commit: string): Promise<boolean> {
const client = new DocumentClient(process.env['AZURE_DOCUMENTDB_ENDPOINT'], { masterKey: process.env['AZURE_DOCUMENTDB_MASTERKEY'] }); const client = new DocumentClient(process.env['AZURE_DOCUMENTDB_ENDPOINT']!, { masterKey: process.env['AZURE_DOCUMENTDB_MASTERKEY'] });
const collection = 'dbs/builds/colls/' + quality; const collection = 'dbs/builds/colls/' + quality;
const updateQuery = { const updateQuery = {
query: 'SELECT TOP 1 * FROM c WHERE c.id = @id', query: 'SELECT TOP 1 * FROM c WHERE c.id = @id',
......
...@@ -20,7 +20,7 @@ function createDefaultConfig(quality: string): Config { ...@@ -20,7 +20,7 @@ function createDefaultConfig(quality: string): Config {
} }
function getConfig(quality: string): Promise<Config> { function getConfig(quality: string): Promise<Config> {
const client = new DocumentClient(process.env['AZURE_DOCUMENTDB_ENDPOINT'], { masterKey: process.env['AZURE_DOCUMENTDB_MASTERKEY'] }); const client = new DocumentClient(process.env['AZURE_DOCUMENTDB_ENDPOINT']!, { masterKey: process.env['AZURE_DOCUMENTDB_MASTERKEY'] });
const collection = 'dbs/builds/colls/config'; const collection = 'dbs/builds/colls/config';
const query = { const query = {
query: `SELECT TOP 1 * FROM c WHERE c.id = @quality`, query: `SELECT TOP 1 * FROM c WHERE c.id = @quality`,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册