Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Jan 30, 2026

Description

Adds a new Copilot skill that guides extraction of standalone JIT regression test cases from GitHub issues into src/tests/JIT/Regression/JitBlue/Runtime_<issue_number>/.

Skill contents

  • Step-by-step process for gathering issue information and creating test files
  • Code conventions derived from recent Runtime_* tests (license header, file-scoped namespaces, [Fact] attribute usage)
  • When to create a .csproj file (environment variables, unsafe code, special settings)
  • Common CLRTestEnvironmentVariable patterns (DOTNET_TieredCompilation, DOTNET_TieredPGO, etc.)
  • Real examples from Runtime_99391, Runtime_97625, Runtime_95315

Structure

.github/skills/jit-regression-test/
└── SKILL.md

Follows the same format as the existing performance-benchmark skill.

Original prompt

Create a skill following the instructions at https://docs.github.com/en/copilot/concepts/agents/about-agent-skills#creating-and-adding-skills.

Name: JIT regression test
Description: Extract a standalone JIT regression test case from a given github issue and save under JitBlue folder

The skill should extract a standalone JIT regression test case from a given GitHub issue and save it under <repo_root>/src/tests/JIT/Regression/JitBlue/Runtime_<issue_number>.

In most cases it's just

Runtime_<issue_number>
  Runtime_<issue_number>.cs

However, in some cases, we need to add Runtime_<issue_number>.csproj file as well (e.g. when Environment variables are needed to run the test). Example:

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <DebugType>None</DebugType>
    <Optimize>True</Optimize>
    <!-- Needed for CLRTestEnvironmentVariable -->
    <RequiresProcessIsolation>true</RequiresProcessIsolation>
  </PropertyGroup>
  <ItemGroup>
    <Compile Include="$(MSBuildProjectName).cs" />
    <CLRTestEnvironmentVariable Include="DOTNET_TieredCompilation" Value="0" />
  </ItemGroup>
</Project>

if the issue mentions that Environment variables are needed to run the test.

Look at existing recent tests under src/tests/JIT/Regression/JitBlue/Runtime_* for reference (use newest ones as they follow the latest conventions).


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

…ssues

Co-authored-by: EgorBo <523221+EgorBo@users.noreply.github.com>
Copilot AI changed the title [WIP] Add JIT regression test extraction skill Add JIT regression test extraction skill Jan 30, 2026
Copilot AI requested a review from EgorBo January 30, 2026 12:11
@EgorBo
Copy link
Member

EgorBo commented Jan 30, 2026

@dotnet/jit-contrib @jakobbotsch @stephentoub
Any objection?

The convention for these tests may not be trivial for copilot to figure out itself sometimes. With this skill (I presume it's better than leaving that in copilot-instruction.md because we don't want to pollute its general context with something it doesn't need most of the time) it can extract a repro test from a github issue with just

Create a jit regression test for https://github.com/dotnet/runtime/issues/123790

prompt. Useful for bugs reported by Fuzzlyn, can be used by CCA or locally.
For local use in VSCode, skills have to be enabled by hands currently (see here, available in the latest stable versions of VSCode).

We probably will rewrite the existing prompt-files to skills as well since Skills are an open standard all agentic editors/tools support, while prompt files were VSCode only.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants