Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Helix Client Testability and Stability Improvements #7377

Open
4 of 5 tasks
missymessa opened this issue May 11, 2021 · 4 comments
Open
4 of 5 tasks

Helix Client Testability and Stability Improvements #7377

missymessa opened this issue May 11, 2021 · 4 comments

Comments

@missymessa
Copy link
Member

missymessa commented May 11, 2021

We want to improve the testability of the Helix Scripts. I included issue #7107 in this epic that was the result of a discussion with SMEs on the team regarding the lack of ability to test and dependency inject into our scripts.

A suggestion for improving the testability of the Helix Scripts would be to rewrite them using .NET Core. Since .NET Core is more stable than it was when the Helix Script were originally written, this is preferable to refactoring the existing Python scripts.

Recently Triaged Issues

All issues in this section should be triaged by the v-team into one of their business objectives or features.

@premun
Copy link
Member

premun commented May 21, 2021

It would be super cool to have .NET Helix client but how are we addressing the fact we need to bootstrap new platforms where there is no .NET available?

@tkapin
Copy link
Member

tkapin commented May 21, 2021

I support rewriting the Helix client in C#, primarily because of difficulties with deployment of Python solutions (venvs, pip dependency in runtime, etc.). As for supporting platforms where .NET Core is not running yet, I'm not that much worried about *Nix systems as mono covers really broad range of platforms and architectures already (see https://www.mono-project.com/docs/about-mono/supported-platforms/) as we could have leveraged that to run the new client on these platforms if we decided to support them.

@missymessa missymessa changed the title Helix Scripts Tech Debt Helix Client Testability and Stability Improvements Jun 25, 2021
@missymessa
Copy link
Member Author

Following up on this, while adding functionality to allow retries of tests, @ChadNedzlek attempted to refactor the existing Python scripts to have dependency injection support. Unfortunately, the attempt was scrapped as it was becoming unwieldly (among other issues). Based on that, I've also been in favor of rewriting these scripts using .NET Core.

@dougbu
Copy link
Member

dougbu commented May 1, 2023

This epic came up today in relation to dotnet/dnceng#427 and #13186. Python on older platforms (those that are out of support from the provider's perspective but in support from .NET's perspective /fyi @richlander) is not currently looking like a sustainable approach. If we can't switch gears and migrate to CloudTest, we likely need to invest in porting the Helix client.

Note this is not an immediate problem because (a) we haven't looked enough at workarounds for current Python issues and (b) we haven't given ourselves enough time to finish the CloudTest exploration. Put another way, CloudTest is Plan A and this issue is Plan C or so.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants
@dougbu @premun @mmitche @tkapin @missymessa and others