jit-diff: automatically discover configuration

Open
#72 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
30/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Stale
Tech stack
csharp, git
Domain
cli, tooling

Research direction

Start by locating the jit-diff entry point and the existing cijobs integration, then trace how configuration and output directories are currently handled. Implement the checklist: discover CoreCLR and the branch fork-point, obtain the baseline build, populate the config, and run diff; done means the full automatic-discovery flow works from the command line.

Written by the indexing model from the issue text.

Description

This addition would allow for automatic discovery of a typical configuration for diff'ing. When jit-diff is run in this mode it builds up a context and fills out the config file. At the high level this looks in some default locations, finds the current branch and fork-point, downloads the baseline build via 'cijobs', and writes out the config file to track this point. As of this writing I think that all the features we need are currently in the tool and just need to be wrapped up together.

Steps:

  • Look for default locations for coreclr adjacent to the jitutils folder.
  • Set up default output directory
  • Use "git name-rev HEAD" or the like to discover the branch that the repo is on.
  • Use "git merge-base $feature master" to discover the fork point from the mainline
  • Download build associated with the fork-point via cijobs from the ci and install it in the tools area of the output directory.
  • Set all defaults into the config file.
  • Run diff.
Dominant language
C#
Stars
161
Forks
69
Avg merge
1h 56m
Merged PRs (30d)
1

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from dotnet/jitutils

All issues in dotnet/jitutils

Similar issues

More C# issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.