Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
a26daf4
[main] Update dependencies from dotnet/arcade (#5783)
dotnet-maestro[bot] Apr 3, 2026
7512518
Update MicrosoftOneCollectRecordTraceVersions to 0.1.33841 (#5794)
hoyosjs Apr 9, 2026
70560c5
Remove duplicate @ prefix from issueAuthor in GitOps (#5792)
akoeplinger Apr 10, 2026
e461e8e
[main] Update dependencies from dotnet/arcade (#5796)
dotnet-maestro[bot] Apr 10, 2026
5ee6390
Bump clrmd to 4.0.0-beta.26210.1 (#5789)
max-charlamb Apr 11, 2026
45da16b
Change image for fedora and remove debian leg (#5800)
hoyosjs Apr 14, 2026
1ee2459
[main] Update dependencies from microsoft/clrmd (#5805)
dotnet-maestro[bot] Apr 16, 2026
9695c17
Look up TEB from OS thread ID instead of DacpThreadData.teb (#5804)
max-charlamb Apr 16, 2026
e82b80e
Add TestCDACNoFallback flag for cDAC-only testing (#5806)
max-charlamb Apr 17, 2026
aeb2371
Change path lookup algorithm in PAL (#5803)
hoyosjs Apr 17, 2026
adc8458
[main] Update dependencies from microsoft/clrmd (#5807)
dotnet-maestro[bot] Apr 17, 2026
598140e
[main] Update dependencies from microsoft/clrmd (#5809)
dotnet-maestro[bot] Apr 18, 2026
96bb196
Remove gcdesc copy from source (#5815)
hoyosjs Apr 27, 2026
32fdb4e
Add simple release note creation skill (#5813)
hoyosjs Apr 28, 2026
f0759bc
[main] Update dependencies from microsoft/clrmd (#5817)
dotnet-maestro[bot] Apr 29, 2026
6a7a3db
[main] Update dependencies from dotnet/arcade (#5810)
dotnet-maestro[bot] May 1, 2026
7bc1e19
Changes to improve SOS test perf (#5821)
hoyosjs May 1, 2026
c24ca60
[main] Update dependencies from microsoft/clrmd (#5820)
dotnet-maestro[bot] May 5, 2026
32043f8
[main] Update dependencies from microsoft/clrmd (#5826)
dotnet-maestro[bot] May 5, 2026
96222e8
Restore correct Version.Details.xml Source Sha (#5818)
adamzip May 6, 2026
8093677
Replace dn-bot-all-drop-rw-code-rw-release-all PAT with WIF token (#5…
missymessa May 8, 2026
0ae47e0
Add SOS interpreter-frame test infrastructure (#5829)
max-charlamb May 8, 2026
ddb7e28
Elide version string extraction from dyld cache (#5824)
hoyosjs May 9, 2026
771c124
Disable Fedora test leg (#5836)
hoyosjs May 9, 2026
47b4530
[main] Update dependencies from dotnet/arcade (#5830)
dotnet-maestro[bot] May 9, 2026
db04688
Fix native to IL line number mappings in SOS test scripts (#5740)
leculver May 10, 2026
9c40506
macOS SOS-in-lldb: speed up ReadVirtual and fix arm64 SpecialDiagInfo…
steveisok May 12, 2026
11411fa
[main] Update dependencies from microsoft/clrmd (#5833)
dotnet-maestro[bot] May 12, 2026
bdf7ed0
Separate debuggee/tracee build from product build (#5767)
hoyosjs May 12, 2026
753fc3c
Upgrade one-collect libraries to 0.1.34131 (#5841)
hoyosjs May 14, 2026
7021006
[main] Source code updates from dotnet/dotnet (#5845)
dotnet-maestro[bot] May 14, 2026
2584db8
Pin riscv64 to march=rv64gc baseline (#5842)
am11 May 14, 2026
b9b2283
Add sourcelink support for SOS native libraries (#5703)
hoyosjs May 15, 2026
d3b8f49
Update Microsoft.OneCollect.RecordTrace to 0.1.34191 (#5846)
hoyosjs May 18, 2026
8e5b9c3
[main] Source code updates from dotnet/dotnet (#5847)
dotnet-maestro[bot] May 18, 2026
a819d6c
[main] Update dependencies from dotnet/arcade (#5849)
dotnet-maestro[bot] May 21, 2026
e39ebc8
[main] Update dependencies from microsoft/clrmd (#5844)
dotnet-maestro[bot] May 21, 2026
6bae602
[main] Update dependencies from microsoft/clrmd (#5852)
dotnet-maestro[bot] May 22, 2026
657cedd
[main] Source code updates from dotnet/dotnet (#5848)
dotnet-maestro[bot] May 26, 2026
edf66fc
Update Microsoft.OneCollect.RecordTrace to 0.1.34271 (#5855)
hoyosjs May 26, 2026
0c0dba7
[main] Update dependencies from dotnet/arcade (#5854)
dotnet-maestro[bot] May 26, 2026
b1b0010
Cleanup unused `used` attribute (#5856)
am11 May 27, 2026
f28745a
Only label SOS tests .interpreter when they actually use the interpre…
max-charlamb May 27, 2026
aee7d82
[main] Source code updates from dotnet/dotnet (#5859)
dotnet-maestro[bot] May 28, 2026
7b2a66d
Produce better error messages in gcdump convert command (#5814)
pavelsavara May 30, 2026
21fb10f
Enable dotnet-arcade-skills Copilot plugin (#5863)
steveisok Jun 7, 2026
620755d
[main] Source code updates from dotnet/dotnet (#5861)
dotnet-maestro[bot] Jun 8, 2026
f224119
Avoid duplicate definition of CONTEXT_UNWOUND_TO_CALL with SDK v10.0.…
max-charlamb Jun 8, 2026
d9243b8
Enumerate assignable ThreadPool work queues (#5867)
leculver Jun 9, 2026
5527439
Synchronize GC info decoder sources (#5862)
jakobbotsch Jun 9, 2026
dc96962
Merge remote-tracking branch 'origin/main' into juhoyosa/release-merge
hoyosjs Jun 9, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions .github/copilot/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"extraKnownMarketplaces": {
"dotnet-arcade-skills": {
"source": {
"source": "github",
"repo": "dotnet/arcade-skills"
}
}
},
"enabledPlugins": {
"dotnet-dnceng@dotnet-arcade-skills": true
}
}
4 changes: 2 additions & 2 deletions .github/policies/resourceManagement.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ configuration:
days: 3
actions:
- addReply:
reply: Hi @${issueAuthor}. We are closing this issue due to inactivity. If you comment within 30 days it will automatically reopen. If you are not the author of this issue and you're facing the same problem, feel free to open a new issue referencing this one.
reply: Hi ${issueAuthor}. We are closing this issue due to inactivity. If you comment within 30 days it will automatically reopen. If you are not the author of this issue and you're facing the same problem, feel free to open a new issue referencing this one.
- closeIssue
- description: '[Idle Issue Management] Add no recent activity label to issues'
frequencies:
Expand Down Expand Up @@ -174,7 +174,7 @@ configuration:
label: 'Needs: Author Feedback'
then:
- addReply:
reply: 'Hi @${issueAuthor}. We have added the "Needs: Author Feedback" label to this issue, which indicates that we have an open question for you before we can take further action. This issue will be closed automatically in 7 days if we do not hear back from you by then - please feel free to re-open it if you come back to this issue after that time.'
reply: 'Hi ${issueAuthor}. We have added the "Needs: Author Feedback" label to this issue, which indicates that we have an open question for you before we can take further action. This issue will be closed automatically in 7 days if we do not hear back from you by then - please feel free to re-open it if you come back to this issue after that time.'
triggerOnOwnActions: false
onFailure:
onSuccess:
101 changes: 101 additions & 0 deletions .github/skills/release-notes/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
---
name: release-notes
description: Generate release notes for the dotnet/diagnostics repository. Use when asked to generate release notes, a release summary, or a changelog.
---

# Release Notes Generation

## Process

### 1. Determine the baseline

Find the **last published GitHub release** — not the latest git tag. This repo may have many version tags (e.g., `v10.0.*`, `v11.0.*`) that don't correspond to published releases.

```bash
# Get the most recent published GitHub release tag for dotnet/diagnostics
release_tag=$(gh release list --repo dotnet/diagnostics --limit 1 --json tagName --jq '.[0].tagName')
echo "$release_tag"
```

The last published release may be on a different branch (e.g., `release/9.0`). Even so, use the tag directly in `git log` — **do NOT use `git merge-base`**. The release branch often contains snap/backport merges that bring `main` commits into the release, so `merge-base` returns an ancestor that is already included in the release tag. Instead:

```bash
# Correct: use the tag directly — git handles cross-branch reachability
git log <release-tag>..HEAD --oneline --first-parent
```

This ensures commits already reachable from the release tag (via snap merges or backports) are excluded.

### 2. Get the commit list

List all first-parent commits from the release tag to HEAD, excluding dependency flow PRs:

```bash
git log <release-tag>..HEAD --oneline --first-parent
```

Filter out:
- `[main] Update dependencies from *`
- `Update dependencies from *`
- Pure test infrastructure changes (test reorganization, CI image updates, SDK bumps)
- Build/CI plumbing (SDK updates, pipeline config, dependabot changes)

### 3. Investigate each PR

For each user-facing PR, launch **parallel explore agents** (one per group of 3-5 related PRs) to read:
- PR body (`get` method)
- Review comments (`get_review_comments` method)
- General comments (`get_comments` method)

Focus on:
- **What** user-visible behavior changed
- **Why** — what issue it solves, what feature it adds
- **Breaking changes** or UX surprises discussed in review threads
- Concrete examples (before/after output, error messages)

### 4. Write the release notes

Follow the format used in the latest release to get a sense of the current format used. For example, for `v9.0.661903` the structure follows the following pattern:

```markdown
### General announcements

Brief summary.

### dotnet-dump / SOS

- **Feature/fix name**: Description focusing on WHY and user impact. (#PR)

#### SOS Bug Fixes

- **Command affected**: What was wrong, what's fixed. (#PR)

### dotnet-trace

- **collect-linux improvements**: Group related sub-items.

### dotnet-counters

- **Feature**: Description. (#PR)

### Microsoft.Diagnostics.NETCore.Client

- **Feature**: Description. (#PR)

### Other notable changes

- Items that don't fit above categories.
```

### 5. Style guidelines

- Focus on **why** a change matters to users, not implementation details
- Include issue references where available: `([#1234](https://github.com/dotnet/diagnostics/issues/1234), #5678)`
- Group related fixes (e.g., all `collect-linux` terminal fixes together)
- Call out breaking changes or UX changes explicitly
- Omit purely internal changes (refactors, test moves, CI config) unless they have user impact
- Use bold for command names and flags: **`!dumpheap -stat -bycount`**

## Example output

See the release at https://github.com/dotnet/diagnostics/releases/tag/v9.0.661903 for format reference.
3 changes: 2 additions & 1 deletion Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
</PropertyGroup>

<PropertyGroup>
<RepositoryUrl>https://github.com/dotnet/diagnostics</RepositoryUrl>
<PackageIconUrl>http://go.microsoft.com/fwlink/?LinkID=288859</PackageIconUrl>
<RepositoryType>git</RepositoryType>
<PackageLicenseExpression>MIT</PackageLicenseExpression>
Expand Down Expand Up @@ -72,7 +73,7 @@
<NetCoreAppMinVersion>8.0</NetCoreAppMinVersion>
<NetCoreAppMinTargetFramework>net$(NetCoreAppMinVersion)</NetCoreAppMinTargetFramework>
<!-- This is the list of TFMs we build our debuggees and tracees as. -->
<SupportedSubProcessTargetFrameworks>net8.0;net9.0;net10.0</SupportedSubProcessTargetFrameworks>
<SupportedSubProcessTargetFrameworks>net8.0;net9.0;net10.0;net11.0</SupportedSubProcessTargetFrameworks>
<!-- This is the list of TFMs we build our unit tests as. -->
<SupportedXUnitTestTargetFrameworks>net8.0</SupportedXUnitTestTargetFrameworks>
<!-- Arcade wants to be opinionated and use embedded PDBs for CI/local builds.
Expand Down
2 changes: 2 additions & 0 deletions NuGet.config
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@
<!-- Begin: Package sources from dotnet-runtime -->
<!-- End: Package sources from dotnet-runtime -->
<!--End: Package sources managed by Dependency Flow automation. Do not edit the sources above.-->
<add key="dotnet11" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet11/nuget/v3/index.json" />
<add key="dotnet11-transport" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet11-transport/nuget/v3/index.json" />
<add key="dotnet10" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet10/nuget/v3/index.json" />
<add key="dotnet10-transport" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet10-transport/nuget/v3/index.json" />
<add key="dotnet9" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet9/nuget/v3/index.json" />
Expand Down
63 changes: 63 additions & 0 deletions build.sln
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,12 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "GCPOH", "src\tests\SOS.Unit
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "GCWhere", "src\tests\SOS.UnitTests\Debuggees\GCWhere\GCWhere.csproj", "{BCBCA951-17AC-43C3-BC1F-ED8137C08923}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "InterpreterStackInterleavedTest", "src\tests\SOS.UnitTests\Debuggees\InterpreterStackInterleavedTest\InterpreterStackInterleavedTest.csproj", "{89B0E999-8ED6-442B-B813-6B85DE1A779C}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Trampoline", "src\tests\SOS.UnitTests\Debuggees\InterpreterStackInterleavedTest\Trampoline\Trampoline.csproj", "{34467429-F20A-4EE0-A895-25A601F28AFC}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "InterpreterStackTest", "src\tests\SOS.UnitTests\Debuggees\InterpreterStackTest\InterpreterStackTest.csproj", "{0D4641C7-EA69-41EC-847A-16266D2A40F8}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LineNums", "src\tests\SOS.UnitTests\Debuggees\LineNums\LineNums.csproj", "{D39F4E7C-558C-4697-8692-9DD92DB97D92}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MiniDumpLocalVarLookup", "src\tests\SOS.UnitTests\Debuggees\MiniDumpLocalVarLookup\MiniDumpLocalVarLookup.csproj", "{57A8B0FF-5FD9-4E8E-806F-3F25E30B3E74}"
Expand Down Expand Up @@ -1021,6 +1027,60 @@ Global
{BCBCA951-17AC-43C3-BC1F-ED8137C08923}.RelWithDebInfo|Any CPU.ActiveCfg = Debug|Any CPU
{BCBCA951-17AC-43C3-BC1F-ED8137C08923}.RelWithDebInfo|x64.ActiveCfg = Debug|Any CPU
{BCBCA951-17AC-43C3-BC1F-ED8137C08923}.RelWithDebInfo|x86.ActiveCfg = Debug|Any CPU
{89B0E999-8ED6-442B-B813-6B85DE1A779C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{89B0E999-8ED6-442B-B813-6B85DE1A779C}.Debug|Any CPU.Build.0 = Debug|Any CPU
{89B0E999-8ED6-442B-B813-6B85DE1A779C}.Debug|x64.ActiveCfg = Debug|Any CPU
{89B0E999-8ED6-442B-B813-6B85DE1A779C}.Debug|x64.Build.0 = Debug|Any CPU
{89B0E999-8ED6-442B-B813-6B85DE1A779C}.Debug|x86.ActiveCfg = Debug|Any CPU
{89B0E999-8ED6-442B-B813-6B85DE1A779C}.Debug|x86.Build.0 = Debug|Any CPU
{89B0E999-8ED6-442B-B813-6B85DE1A779C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{89B0E999-8ED6-442B-B813-6B85DE1A779C}.Release|Any CPU.Build.0 = Release|Any CPU
{89B0E999-8ED6-442B-B813-6B85DE1A779C}.Release|x64.ActiveCfg = Release|Any CPU
{89B0E999-8ED6-442B-B813-6B85DE1A779C}.Release|x64.Build.0 = Release|Any CPU
{89B0E999-8ED6-442B-B813-6B85DE1A779C}.Release|x86.ActiveCfg = Release|Any CPU
{89B0E999-8ED6-442B-B813-6B85DE1A779C}.Release|x86.Build.0 = Release|Any CPU
{89B0E999-8ED6-442B-B813-6B85DE1A779C}.Checked|Any CPU.ActiveCfg = Debug|Any CPU
{89B0E999-8ED6-442B-B813-6B85DE1A779C}.Checked|x64.ActiveCfg = Debug|Any CPU
{89B0E999-8ED6-442B-B813-6B85DE1A779C}.Checked|x86.ActiveCfg = Debug|Any CPU
{89B0E999-8ED6-442B-B813-6B85DE1A779C}.RelWithDebInfo|Any CPU.ActiveCfg = Debug|Any CPU
{89B0E999-8ED6-442B-B813-6B85DE1A779C}.RelWithDebInfo|x64.ActiveCfg = Debug|Any CPU
{89B0E999-8ED6-442B-B813-6B85DE1A779C}.RelWithDebInfo|x86.ActiveCfg = Debug|Any CPU
{34467429-F20A-4EE0-A895-25A601F28AFC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{34467429-F20A-4EE0-A895-25A601F28AFC}.Debug|Any CPU.Build.0 = Debug|Any CPU
{34467429-F20A-4EE0-A895-25A601F28AFC}.Debug|x64.ActiveCfg = Debug|Any CPU
{34467429-F20A-4EE0-A895-25A601F28AFC}.Debug|x64.Build.0 = Debug|Any CPU
{34467429-F20A-4EE0-A895-25A601F28AFC}.Debug|x86.ActiveCfg = Debug|Any CPU
{34467429-F20A-4EE0-A895-25A601F28AFC}.Debug|x86.Build.0 = Debug|Any CPU
{34467429-F20A-4EE0-A895-25A601F28AFC}.Release|Any CPU.ActiveCfg = Release|Any CPU
{34467429-F20A-4EE0-A895-25A601F28AFC}.Release|Any CPU.Build.0 = Release|Any CPU
{34467429-F20A-4EE0-A895-25A601F28AFC}.Release|x64.ActiveCfg = Release|Any CPU
{34467429-F20A-4EE0-A895-25A601F28AFC}.Release|x64.Build.0 = Release|Any CPU
{34467429-F20A-4EE0-A895-25A601F28AFC}.Release|x86.ActiveCfg = Release|Any CPU
{34467429-F20A-4EE0-A895-25A601F28AFC}.Release|x86.Build.0 = Release|Any CPU
{34467429-F20A-4EE0-A895-25A601F28AFC}.Checked|Any CPU.ActiveCfg = Debug|Any CPU
{34467429-F20A-4EE0-A895-25A601F28AFC}.Checked|x64.ActiveCfg = Debug|Any CPU
{34467429-F20A-4EE0-A895-25A601F28AFC}.Checked|x86.ActiveCfg = Debug|Any CPU
{34467429-F20A-4EE0-A895-25A601F28AFC}.RelWithDebInfo|Any CPU.ActiveCfg = Debug|Any CPU
{34467429-F20A-4EE0-A895-25A601F28AFC}.RelWithDebInfo|x64.ActiveCfg = Debug|Any CPU
{34467429-F20A-4EE0-A895-25A601F28AFC}.RelWithDebInfo|x86.ActiveCfg = Debug|Any CPU
{0D4641C7-EA69-41EC-847A-16266D2A40F8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0D4641C7-EA69-41EC-847A-16266D2A40F8}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0D4641C7-EA69-41EC-847A-16266D2A40F8}.Debug|x64.ActiveCfg = Debug|Any CPU
{0D4641C7-EA69-41EC-847A-16266D2A40F8}.Debug|x64.Build.0 = Debug|Any CPU
{0D4641C7-EA69-41EC-847A-16266D2A40F8}.Debug|x86.ActiveCfg = Debug|Any CPU
{0D4641C7-EA69-41EC-847A-16266D2A40F8}.Debug|x86.Build.0 = Debug|Any CPU
{0D4641C7-EA69-41EC-847A-16266D2A40F8}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0D4641C7-EA69-41EC-847A-16266D2A40F8}.Release|Any CPU.Build.0 = Release|Any CPU
{0D4641C7-EA69-41EC-847A-16266D2A40F8}.Release|x64.ActiveCfg = Release|Any CPU
{0D4641C7-EA69-41EC-847A-16266D2A40F8}.Release|x64.Build.0 = Release|Any CPU
{0D4641C7-EA69-41EC-847A-16266D2A40F8}.Release|x86.ActiveCfg = Release|Any CPU
{0D4641C7-EA69-41EC-847A-16266D2A40F8}.Release|x86.Build.0 = Release|Any CPU
{0D4641C7-EA69-41EC-847A-16266D2A40F8}.Checked|Any CPU.ActiveCfg = Debug|Any CPU
{0D4641C7-EA69-41EC-847A-16266D2A40F8}.Checked|x64.ActiveCfg = Debug|Any CPU
{0D4641C7-EA69-41EC-847A-16266D2A40F8}.Checked|x86.ActiveCfg = Debug|Any CPU
{0D4641C7-EA69-41EC-847A-16266D2A40F8}.RelWithDebInfo|Any CPU.ActiveCfg = Debug|Any CPU
{0D4641C7-EA69-41EC-847A-16266D2A40F8}.RelWithDebInfo|x64.ActiveCfg = Debug|Any CPU
{0D4641C7-EA69-41EC-847A-16266D2A40F8}.RelWithDebInfo|x86.ActiveCfg = Debug|Any CPU
{D39F4E7C-558C-4697-8692-9DD92DB97D92}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D39F4E7C-558C-4697-8692-9DD92DB97D92}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D39F4E7C-558C-4697-8692-9DD92DB97D92}.Debug|x64.ActiveCfg = Debug|Any CPU
Expand Down Expand Up @@ -1506,6 +1566,9 @@ Global
{79B6C88E-00FC-4990-A4AC-1EB1549F3542} = {C02DE277-7341-4C63-B105-BA695F40277F}
{C69F541A-82B2-4545-A371-72D38218C569} = {C02DE277-7341-4C63-B105-BA695F40277F}
{BCBCA951-17AC-43C3-BC1F-ED8137C08923} = {C02DE277-7341-4C63-B105-BA695F40277F}
{89B0E999-8ED6-442B-B813-6B85DE1A779C} = {C02DE277-7341-4C63-B105-BA695F40277F}
{34467429-F20A-4EE0-A895-25A601F28AFC} = {C02DE277-7341-4C63-B105-BA695F40277F}
{0D4641C7-EA69-41EC-847A-16266D2A40F8} = {C02DE277-7341-4C63-B105-BA695F40277F}
{D39F4E7C-558C-4697-8692-9DD92DB97D92} = {C02DE277-7341-4C63-B105-BA695F40277F}
{57A8B0FF-5FD9-4E8E-806F-3F25E30B3E74} = {C02DE277-7341-4C63-B105-BA695F40277F}
{A39F9BC5-892F-4B68-9B2A-C9EF99EEDBF0} = {C02DE277-7341-4C63-B105-BA695F40277F}
Expand Down
30 changes: 15 additions & 15 deletions diagnostics.yml
Original file line number Diff line number Diff line change
Expand Up @@ -251,21 +251,21 @@ extends:
- configuration: Debug
architecture: x64

- ${{ if ne(variables['System.TeamProject'], 'public') }}:
- template: /eng/pipelines/build.yml
parameters:
jobTemplate: ${{ variables.jobTemplate }}
name: Fedora_43
osGroup: Linux
container: test_fedora
dependsOn: Linux
testOnly: true
buildConfigs:
- configuration: Release
architecture: x64
- ${{ if in(variables['Build.Reason'], 'PullRequest') }}:
- configuration: Debug
architecture: x64
# - ${{ if ne(variables['System.TeamProject'], 'public') }}:
# - template: /eng/pipelines/build.yml
# parameters:
# jobTemplate: ${{ variables.jobTemplate }}
# name: Fedora_43
# osGroup: Linux
# container: test_fedora
# dependsOn: Linux
# testOnly: true
# buildConfigs:
# - configuration: Release
# architecture: x64
# - ${{ if in(variables['Build.Reason'], 'PullRequest') }}:
# - configuration: Debug
# architecture: x64

- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
- stage: package
Expand Down
15 changes: 15 additions & 0 deletions documentation/privatebuildtesting.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,3 +54,18 @@ Because the DAC is not properly signed for a private runtime build there are a c
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\MiniDumpAuxiliaryDlls]
"C:\diagnostics\.dotnet\shared\Microsoft.NETCore.App\5.0.0-alpha.1.20102.3\coreclr.dll"="C:\diagnostics\.dotnet\shared\Microsoft.NETCore.App\5.0.0-alpha.1.20102.3\mscordaccore.dll"
```

#### Interpreter-frame tests

The interpreter-frame SOS tests (`SOSInterpreterTests`) are skipped by default because `FEATURE_INTERPRETER` is only compiled into Debug/Checked CoreCLR drops (see `src/coreclr/clrfeatures.cmake` in dotnet/runtime) and is therefore unavailable on the public Release runtimes the SOS tests download by default.

The opt-in is layered:

1. **Per-debuggee csproj flag.** `Debuggees/InterpreterStackTest/InterpreterStackTest.csproj` declares `<InterpreterTest>true</InterpreterTest>` to mark itself as an interpreter SOS test. Methods that should run on the interpreter follow the convention of being named with the prefix `InterpTestMethod` (e.g. `InterpTestMethodRunNested`). The csproj does not need to specify the method-name pattern; it is shared across all interpreter-test debuggees.
2. **Per-test gate.** `SOS_TEST_INTERPRETER=true` (or `-testInterpreter` to `Build.cmd`/`build.sh`) unskips the `SOSInterpreterTests.InterpreterStackTest` test method. SOSRunner sets `DOTNET_Interpreter=InterpTestMethod*` on the debuggee process at launch when this gate is on. The shared `Debuggees/Directory.Build.targets` additionally no-ops any direct `dotnet build` of an interpreter-test debuggee when the gate is unset, emitting a message rather than producing a binary that wouldn't exercise the interpreter. Other SOS tests are unaffected.

To run them:

1. Build the runtime as Checked: `build.cmd -subset clr -c Checked` (or `-c Debug`).
2. Overlay that drop onto each `artifacts\dotnet-test\shared\Microsoft.NETCore.App\<version>` directory exactly as for any private build (see the example scripts above).
3. Set `SOS_TEST_INTERPRETER=true` (or pass `-testInterpreter` to `Build.cmd`/`build.sh` when running with `-test`).
3 changes: 0 additions & 3 deletions dotnet.cmd
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,6 @@ set /p dotnetPath=<%~dp0artifacts\toolset\sdk.txt
:: misleading value (such as 'MCD' in HP PCs) may lead to build breakage (issue: #69).
set Platform=

:: Don't resolve runtime, shared framework, or SDK from other locations to ensure build determinism
set DOTNET_MULTILEVEL_LOOKUP=0

:: Disable first run since we want to control all package sources
set DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1

Expand Down
3 changes: 0 additions & 3 deletions dotnet.sh
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,6 @@ while [[ -h $source ]]; do
done
scriptroot="$( cd -P "$( dirname "$source" )" && pwd )"

# Don't resolve runtime, shared framework, or SDK from other locations to ensure build determinism
export DOTNET_MULTILEVEL_LOOKUP=0

# Disable first run since we want to control all package sources
export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1

Expand Down
Loading
Loading