Add PyYAML 5.3.1 as a dependency to Helix machines running the Python scripts
See original GitHub issueOverview and Motivation
As part of the effort for the Merge-on-Red project, a new YAML-based logger was implemented to the runtime repo’s test source generators. Now, each test run outputs the usual Xml results file, as well as a new Yaml one alongside it. The motivation for this effort is that when a test run crashes and/or freezes terribly badly, we end up with an incomplete Xml file, which is not readable by parsers. On the other hand, even if it’s incomplete, a YAML file is still valid and parseable thanks to its lack of closing indicators.
What we need from Arcade
Add PyYAML version 5.3.1 to the list of requirements that have to be satisfied by pip
in the Helix machines.
Why we need this
Now that we have our YAML-based logger, we have to “teach” the Helix machines how to interpret it (this will be done in a separate PR currently in the works). However, Python does not have native support for YAML processing, so we need an external library. For this purpose, we are opting to use PyYAML, which is one of the most stable and widely used YAML libraries for Python. And therefore, we need to have it installed on the machines that run the tests.
Detailed Information on the Project
- Merge-on-Red is thoroughly explained here: https://github.com/dotnet/runtime/issues/75243
- As for this particular work item, we are tracking it here: https://github.com/dotnet/runtime/issues/77735 (This one is also linked in the Merge-on-Red issue specified above)
Release Note Category
- Feature changes/additions
- Bug fixes
- Internal Infrastructure Improvements
Release Note Description
Add PyYaml to python packages preinstalled on Helix agents
Issue Analytics
- State:
- Created 10 months ago
- Comments:11 (11 by maintainers)
Top GitHub Comments
https://dnceng.visualstudio.com/internal/_git/dotnet-helix-machines/pullrequest/27390
Thanks a lot @MattGal! I’ll let you know if we hit any issues.