Azure / azure-sdk-for-js

This repository is for active development of the Azure SDK for JavaScript (NodeJS & Browser). For consumers of the SDK we recommend visiting our public developer docs at https://docs.microsoft.com/javascript/azure/ or our versioned developer docs at https://azure.github.io/azure-sdk-for-js.
MIT License
2.09k stars 1.2k forks source link

[Perf] Packages are incorrectly being used for "from source" run #23123

Closed mikeharder closed 2 years ago

mikeharder commented 2 years ago

Starting with the following build, packages are incorrectly being used for the "from source" run:

https://dev.azure.com/azure-sdk/internal/_build/results?buildId=1776649&view=logs&j=42ded549-05ee-5cdb-7ba7-7a948a0cc056&t=a103fa30-9714-51c6-dfba-9bd5390ed023&l=56

Correct

Name Requested Runtime
@azure/storage-blob 12.11.0 12.11.0 -> /mnt/vss/_work/1/s/common/temp/node_modules/.pnpm/@azure+storage-blob@12.11.0/node_modules/@azure/storage-blob
@azure/storage-blob source 12.11.1 -> /mnt/vss/_work/1/s/sdk/storage/storage-blob

Incorrect

Name Requested Runtime
@azure/storage-blob 12.11.0 12.11.0 -> /mnt/vss/_work/1/s/common/temp/node_modules/.pnpm/@azure+storage-blob@12.11.0/node_modules/@azure/storage-blob
@azure/storage-blob source 12.11.0 -> /mnt/vss/_work/1/s/common/temp/node_modules/.pnpm/@azure+storage-blob@12.11.0/node_modules/@azure/storage-blob
mikeharder commented 2 years ago

This broke on 8/12/22 due to this PR, which changed the version of storage-blob in main from 12.11.1 to 12.12.0-beta.1:

https://github.com/Azure/azure-sdk-for-js/pull/22773/files#diff-de7b5e6e1ff8eda205737db6068c27ba295162f90b36a38c8d19ffffaf6d6470L4

However, the perf project was not updated, and still depends on ^12.10.0-beta.1, which doesn't match 12.12.0-beta.1 due to how semver works with pre-releases.

https://github.com/Azure/azure-sdk-for-js/blob/d65a6bfaa0ace337b792ff561ef56b1fe0c8015c/sdk/storage/perf-tests/storage-blob/package.json#L13

In the short term, this can be fixed by updating the storage perf project deps to match the SDK package versions in main. In the longer term, we will either need a better solution or a check to keep the versions in sync.