Files
vscode/build/azure-pipelines/common/checkForArtifact.ts
Ladislau Szomoru 5d1942a398 Engineering - refactor macOS stage (#246059)
* WIP - fold sign steps into the jobs

* Speed up compilation

* Add back tasks

* Remove tasks that are not needed

* Update folder

* Fix universal job

* More work

* Improve script

* Improve logging

* More logging tweaks

* Another fix for the script

* Add back CLI job and run tests

* Fix pipeline condition

* Move testing to the ARM64 stage

* Update Codesign task names

* Run tests after publishing unsigned packages

* Background codesign

* Use bash when running background signing

* Another attempt

* Add error handling to script

* Add more logging

* .

* Pull request feedback

* More feedback

* Remove signature verification condition

* Delete tasks that are not needed

* Fix task display name

* Use VSCODE_ARCH parameter

* Update task display name
2025-04-09 11:22:35 +00: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 { Artifact, requestAZDOAPI } from './publish';
import { retry } from './retry';
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.js <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);
});