microsoft / PTVS

Python Tools for Visual Studio
https://aka.ms/PTVS
Apache License 2.0
2.52k stars 673 forks source link

Enable ingesting preview builds of pylance #7886

Closed AdamYoblick closed 2 months ago

AdamYoblick commented 2 months ago

I've changed the logic in PreBuild.ps1 to no longer rely on npm's behavior when specifying "latest" for the version. "Latest" only seems to pull latest stable, which is what we want most of the time. But if there's a stable hotfix, "latest" won't pull it, which is bad.

Here's how the new logic works:

The release pipeline change isn't visible in this PR because it's done directly in azdo. That pipeline is at https://devdiv.visualstudio.com/DevDiv/_releaseDefinition?definitionId=2762&_a=environments-editor-preview

I tested this by running the full build from my PR branch two times.

I still need to modify the pylance release process to pass in the appropriate release type once this PR is merged and to launch the PTVS pipeline on every pylance release (stable, hotfix, and preview)

StellaHuang95 commented 2 months ago

On the pylance side, was the changed done to push all stable, hot fix stable and prerelease to the msft_consumption feed?

AdamYoblick commented 2 months ago

On the pylance side, was the changed done to push all stable, hot fix stable and prerelease to the msft_consumption feed?

Actually, no change was needed here. Erik told me we already do this, and I verified it myself as well. If you run the following command from your repo, you can see all the stable, hotfix, and preview versions of pylance: npm view @pylance/pylance versions

StellaHuang95 commented 2 months ago

On the pylance side, was the changed done to push all stable, hot fix stable and prerelease to the msft_consumption feed?

Actually, no change was needed here. Erik told me we already do this, and I verified it myself as well. If you run the following command from your repo, you can see all the stable, hotfix, and preview versions of pylance: npm view @pylance/pylance versions

I see, but when the pylance release pipeline triggers PTVS build pipeline to run, it will provide the argument that specifies stable or prerelease right?

The end result is that the PTVS build pipeline will run for all new Pylance release, but the PTVS release pipeline will only be triggered by stable Pylance, is my understanding correct?

AdamYoblick commented 2 months ago

On the pylance side, was the changed done to push all stable, hot fix stable and prerelease to the msft_consumption feed?

Actually, no change was needed here. Erik told me we already do this, and I verified it myself as well. If you run the following command from your repo, you can see all the stable, hotfix, and preview versions of pylance: npm view @pylance/pylance versions

I see, but when the pylance release pipeline triggers PTVS build pipeline to run, it will provide the argument that specifies stable or prerelease right?

The end result is that the PTVS build pipeline will run for all new Pylance release, but the PTVS release pipeline will only be triggered by stable Pylance, is my understanding correct?

Correct. 😄

sonarcloud[bot] commented 2 months ago

Quality Gate Passed Quality Gate passed

Issues
0 New issues
0 Accepted issues

Measures
0 Security Hotspots
No data about Coverage
No data about Duplication

See analysis details on SonarCloud