microsoft / azure-pipelines-vscode

VS Code extension for working with Azure Pipelines YAML files
MIT License
163 stars 102 forks source link

Simulate template expansion locally #562

Closed ChristopherHX closed 6 months ago

ChristopherHX commented 9 months ago

Imagine you are working on a big azure pipeline yaml file collection which are heavily relying on template files and you don't want to commit everything to see if your change is syntactically correct.

For the entrypoint yaml file this official endpoint can be used for this purpose https://learn.microsoft.com/en-us/rest/api/azure/devops/pipelines/preview/preview?view=azure-devops-rest-6.1

I started reimplementing the Azure Pipelines Template Engine (last year in 2022) to do what the official api endpoint does locally in .net6.0+ (my vscode extension currently consumes it via the net8.0 browser-wasm target and a javascript binding, ca. 11 MB of compiled wasm files)

What I'm currently working on can be found here and on the vscode marketplace https://github.com/ChristopherHX/runner.server/blob/main/src/azure-pipelines-vscode-ext/README.md

azure-pipelines-vscode-ext is an univeral vscode extension, which means it runs both in vscode desktop and web on any vscode platform, these are more platforms than the official extension is available on

@50Wliu Suggested that this (I have only provided a very short summary) would be great addition to the official extension

(Btw, in response to "I'm working on another vscode extension, which can simulate template expansion locally", I would gladly take that as a contribution into azure-pipelines-vscode, if you're interested!)

https://github.com/microsoft/azure-pipelines-language-server/pull/157#discussion_r1438433612

To make what I'm currently building part as a contribution into azure-pipelines-vscode, requires some discussion with the maintainers of this vscode extensions.

Currently this can be installed side by side with this extension and both can enhance each other without beeing in the same extension.