mirror of
https://github.com/Microsoft/vscode
synced 2024-09-13 21:55:38 +00:00
build: check quality frozen state
This commit is contained in:
parent
f692972925
commit
6b31c8421e
|
@ -17,13 +17,46 @@ function getEnv(name: string): string {
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
interface Config {
|
||||||
|
id: string;
|
||||||
|
frozen: boolean;
|
||||||
|
}
|
||||||
|
|
||||||
|
function createDefaultConfig(quality: string): Config {
|
||||||
|
return {
|
||||||
|
id: quality,
|
||||||
|
frozen: false
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
async function getConfig(client: CosmosClient, quality: string): Promise<Config> {
|
||||||
|
const query = `SELECT TOP 1 * FROM c WHERE c.id = "${quality}"`;
|
||||||
|
|
||||||
|
const res = await client.database('builds').container('config').items.query(query).fetchAll();
|
||||||
|
|
||||||
|
if (res.resources.length === 0) {
|
||||||
|
return createDefaultConfig(quality);
|
||||||
|
}
|
||||||
|
|
||||||
|
return res.resources[0] as Config;
|
||||||
|
}
|
||||||
|
|
||||||
async function main(): Promise<void> {
|
async function main(): Promise<void> {
|
||||||
const commit = getEnv('BUILD_SOURCEVERSION');
|
const commit = getEnv('BUILD_SOURCEVERSION');
|
||||||
const quality = getEnv('VSCODE_QUALITY');
|
const quality = getEnv('VSCODE_QUALITY');
|
||||||
|
|
||||||
|
const client = new CosmosClient({ endpoint: process.env['AZURE_DOCUMENTDB_ENDPOINT']!, key: process.env['AZURE_DOCUMENTDB_MASTERKEY'] });
|
||||||
|
const config = await getConfig(client, quality);
|
||||||
|
|
||||||
|
console.log('Quality config:', config);
|
||||||
|
|
||||||
|
if (config.frozen) {
|
||||||
|
console.log(`Skipping release because quality ${quality} is frozen.`);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
console.log(`Releasing build ${commit}...`);
|
console.log(`Releasing build ${commit}...`);
|
||||||
|
|
||||||
const client = new CosmosClient({ endpoint: process.env['AZURE_DOCUMENTDB_ENDPOINT']!, key: process.env['AZURE_DOCUMENTDB_MASTERKEY'] });
|
|
||||||
const scripts = client.database('builds').container(quality).scripts;
|
const scripts = client.database('builds').container(quality).scripts;
|
||||||
await scripts.storedProcedure('releaseBuild').execute('', [commit]);
|
await scripts.storedProcedure('releaseBuild').execute('', [commit]);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue