Files
vscode/build/azure-pipelines/common/checkForArtifact.ts
Matt Bierner 2648263d3e Run our build scripts directly as typescript (#277567)
* Run our build scripts directly as typescript #277567

Follow up on #276864
For #277526

* Remove a few more ts-node references

* Fix linux and script reference

* Remove `_build-script` ref

* Fix script missing closing quote

* use type only import

* Fix export

* Make sure to run copy-policy-dto

* Make sure we run the copy-policy-dto script

* Enable `verbatimModuleSyntax`

* Pipelines fixes

* Try adding explicit ext to path

* Fix bad edit

* Revert extra `--`

---------

Co-authored-by: João Moreno <joaomoreno@users.noreply.github.com>
2025-11-21 14:56:00 +01:00

36 lines
1.3 KiB
TypeScript

/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import { type Artifact, requestAZDOAPI } from './publish.ts';
import { retry } from './retry.ts';
async function getPipelineArtifacts(): Promise<Artifact[]> {
const result = await requestAZDOAPI<{ readonly value: Artifact[] }>('artifacts');
return result.value.filter(a => !/sbom$/.test(a.name));
}
async function main([variableName, artifactName]: string[]): Promise<void> {
if (!variableName || !artifactName) {
throw new Error(`Usage: node checkForArtifact.ts <variableName> <artifactName>`);
}
try {
const artifacts = await retry(() => getPipelineArtifacts());
const artifact = artifacts.find(a => a.name === artifactName);
console.log(`##vso[task.setvariable variable=${variableName}]${artifact ? 'true' : 'false'}`);
} catch (err) {
console.error(`ERROR: Failed to get pipeline artifacts: ${err}`);
console.log(`##vso[task.setvariable variable=${variableName}]false`);
}
}
main(process.argv.slice(2))
.then(() => {
process.exit(0);
}, err => {
console.error(err);
process.exit(1);
});