You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Arcade has mostly focused on providing shared infrastructure to build the product but is primarily focused on addressing the managed code needs and thus doesn't provide the same kind of support when it comes to building and testing native code.
On top of that, the dotnet/runtime repo merges code and different build infrastructures from various historical repositories (coreclr, corefx, core-setup, mono) that had onboarded to the Arcade infrastructure on different levels with introduction of many custom, non-standard steps and workarounds (from the Arcade perspective).
Based on the reasons above, as well as the feedback form the CLR and mono teams, the dotnet/runtime repo doesn't fully utilize the features offered by Arcade, which makes work with the repository more complex. There are also gaps in Arcade support of building the native code managing the native dependencies in reliable, reproducible and secure way.
The goal of this epic is to team-up with the clients, the CLR and Mono teams and identify and address these issues.
Areas of focus
These are the areas that we have determined based on discussion with the Runtime team and from our own investigation. More areas may be found as we investigate each space.
Native Toolset Acquisition
Acquisition of Xcopy-able toolsets.
Acquisition of C++ toolset.
Acquisition of the Windows sdk.
Close the gaps between arcade standard packages and tasks, and dotnet/runtime specific implementations
Address limitations of current shared infrastructure.
Minimize usage of custom packages within the runtime repository.
increase adoption of arcade distributed build templates to simplify runtime's template matrix.
Simplify the Runtime Helix scenarios.
Improve reproducibility of build / test failures
Clear way for a developer to obtain an environment "close enough" to where the failure occurred.
Incremental build performance improvements
Provide Mono and CLR teams with build telemetry so that it's possible to reason about build efficiency.
Determine next steps based on acquired data
Explore improvements for the acquisition of dumps and native symbols for debugging failures
Business Objectives
Identify the areas of focus with the clients to deliver the most impact from their perspective.
Ensure that developers can clone and build the runtime repository with minimal possible prerequisites (e.g., Windows SDK) to set up.
Ensure local and CI builds run with a well defined set of dependencies
Ensure the build always runs with safe native dependencies
Ensure the dependency acquisition is reproducible
Standardize the repo-specific infrastructure in the runtime repository in favor of using the shared infrastructure.
Developers working in the runtime repository know how to investigate and, when possible, reproduce failures that occur in CI / Helix.
Identify the future improvements that are out of scope of this epic (e.g., better native dump and symbol acquisition experience)
Provide monitoring and tooling to facilitate long-term health and correctness of runtime's incremental build
Milestones
Initial formulation of areas of focus with the CLR and Mono teams.
Investigation of dump and symbol acquisition improvements.
Addition of build time measurements for the clean build and no-op rebuild scenarios.
Recently Triaged Issues
All issues in this section should be triaged by the v-team into one of their business objectives or features.
Motivation and Business Impact
Arcade has mostly focused on providing shared infrastructure to build the product but is primarily focused on addressing the managed code needs and thus doesn't provide the same kind of support when it comes to building and testing native code.
On top of that, the
dotnet/runtime
repo merges code and different build infrastructures from various historical repositories (coreclr
,corefx
,core-setup
,mono
) that had onboarded to the Arcade infrastructure on different levels with introduction of many custom, non-standard steps and workarounds (from the Arcade perspective).Based on the reasons above, as well as the feedback form the CLR and mono teams, the
dotnet/runtime
repo doesn't fully utilize the features offered by Arcade, which makes work with the repository more complex. There are also gaps in Arcade support of building the native code managing the native dependencies in reliable, reproducible and secure way.The goal of this epic is to team-up with the clients, the CLR and Mono teams and identify and address these issues.
Areas of focus
These are the areas that we have determined based on discussion with the Runtime team and from our own investigation. More areas may be found as we investigate each space.
Business Objectives
Milestones
Recently Triaged Issues
All issues in this section should be triaged by the v-team into one of their business objectives or features.
The text was updated successfully, but these errors were encountered: