Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
9e37b2c
Add regression test for #6750: Mutually recursive DU values initializ…
T-Gro Mar 24, 2026
1cd0ca0
Add regression tests for #14308 and #14310: Signature generation impr…
T-Gro Mar 24, 2026
5ee6d09
Add regression test for #16410: no spurious FS3570 with KeyValue acti…
T-Gro Mar 24, 2026
632a0ab
Add regression test for #3841: Hash directive indentation in nested m…
T-Gro Mar 24, 2026
fb1ca7e
Add regression test for #14152: nowarn directive before module declar…
T-Gro Mar 25, 2026
0db49dd
Add regression test: #6929, Literal bindings preserve units of measur…
T-Gro Mar 25, 2026
251aaf2
Add regression test: #3660, array of functions invocation correctness…
T-Gro Mar 25, 2026
a02a655
Infra: Update gh aw (#19495)
T-Gro Mar 26, 2026
880dda8
Fix CLIEvent properties to be recognized as events in Symbol API (#18…
Copilot Mar 26, 2026
2292274
Add regression test: #12067, signature generation preserves FSharp. p…
T-Gro Mar 26, 2026
f647072
Add regression test for #11331: accessibility error for internal type…
T-Gro Mar 26, 2026
1dafcf3
Add regression test for #14216: No FS2303 warning for DU in FSI (#19465)
T-Gro Mar 26, 2026
cbab748
Add regression test for #13697: typeof in attribute should report FS0…
T-Gro Mar 26, 2026
01fe483
Add regression test for #9382: SRTP stress test with matrix inverse (…
T-Gro Mar 26, 2026
a21c12f
Add regression test: #12023, FSI can load System.Drawing.Common via n…
T-Gro Mar 26, 2026
63294d7
Add documentation and tests that maxBy/minBy return the first max/min…
Copilot Mar 27, 2026
0b80769
Bugfix :: Fix type definition metadata: duplicate methods, event flag…
T-Gro Mar 27, 2026
a0cce49
resolve integrity issues in gh aw (#19510)
T-Gro Mar 27, 2026
0c868a5
Add Regression PR Shepherd workflow (#19500)
T-Gro Mar 30, 2026
2adf45d
Improve repo-assist: regression test verification, windows-only revis…
T-Gro Mar 30, 2026
bf62ec0
Update dependencies from https://github.com/dotnet/arcade build 20260…
dotnet-maestro[bot] Mar 30, 2026
df38aef
[main] Update dependencies from dotnet/msbuild (#19493)
dotnet-maestro[bot] Mar 30, 2026
358d088
Add regression test for #3532: FSharpEntity.IsByRef is false for byre…
T-Gro Mar 30, 2026
3ee2a3e
Add regression test for #15655: error codes 999 and 3217 are distinct…
T-Gro Mar 30, 2026
f540da5
Add regression test: #13519, C# optional parameters from F# (#19473)
T-Gro Mar 30, 2026
68fb63d
Add regression test: #6648, DU of DUs with inline static members (#19…
T-Gro Mar 31, 2026
f3b6407
Fix repo-assist: add safe output discipline and iteration limits (#19…
Copilot Mar 31, 2026
7d031d3
Update dependencies from https://github.com/dotnet/msbuild build 2026…
dotnet-maestro[bot] Mar 31, 2026
b0bb2f0
Update dependencies from https://dev.azure.com/dnceng/internal/_git/d…
dotnet-maestro[bot] Mar 31, 2026
8254128
Add aw-auto-update workflow + upgrade to v0.64.4 (#19519)
T-Gro Mar 31, 2026
1775f42
Add regression test for #6715: land is a valid identifier (#19478)
T-Gro Mar 31, 2026
4e25902
[main] Update dependencies from dotnet/roslyn (#19494)
dotnet-maestro[bot] Apr 1, 2026
4b57615
Add regression test: #15987, SRTP overload resolution returns correct…
github-actions[bot] Apr 1, 2026
af3a8eb
Add regression test: #15070, hash-load with dot-slash prefix no longe…
github-actions[bot] Apr 1, 2026
7e0ab7a
Add regression test: #16056, auto property DeclarationLocation correc…
github-actions[bot] Apr 1, 2026
af6c784
Add regression test: #19456, nested let bang in plain let inside task…
github-actions[bot] Apr 1, 2026
02b1081
Add regression test: #16007, SRTP ctor constraint no longer causes va…
github-actions[bot] Apr 1, 2026
9b016f5
Add regression test: #7177, never-matched warning with active pattern…
github-actions[bot] Apr 1, 2026
7580b31
Tests: prevent in-proc fsi from killing test host with "exit" (#19407)
majocha Apr 1, 2026
3550f3c
Add regression test: #9878, SRTP with phantom type parameter (#19467)
T-Gro Apr 1, 2026
6a5df48
Fix FS0452 for empty string pattern matching in quotations (#19532)
Copilot Apr 1, 2026
599a99f
Fix regression-pr-shepherd: bound PR processing per run to prevent co…
Copilot Apr 1, 2026
d507366
Make fsharp-diagnostics skill a directive, not a suggestion (#19520)
T-Gro Apr 1, 2026
d85a74c
Update agentic workflows to v0.67.2 and fix merge conflict (#19556)
T-Gro Apr 8, 2026
6f0e1ed
Fix Regression PR Shepherd: restrict push scope and strengthen PR sel…
Copilot Apr 9, 2026
1f46886
[main] Source code updates from dotnet/dotnet (#19546)
dotnet-maestro[bot] Apr 9, 2026
a88269a
[main] Update dependencies from dotnet/roslyn (#19544)
dotnet-maestro[bot] Apr 10, 2026
85d7cb1
[main] Update dependencies from dotnet/msbuild (#19543)
dotnet-maestro[bot] Apr 10, 2026
0539af7
Add regression test: #16154, task CE with IQueryable filters no longe…
github-actions[bot] Apr 10, 2026
ead77d1
[main] Update dependencies from dotnet/arcade (#19542)
dotnet-maestro[bot] Apr 10, 2026
98c4774
Add regression tests for #10043: backtick, @, and ! in type annotatio…
T-Gro Apr 10, 2026
5bcca43
Fix wrong warning 20 range in sequential expressions (#5735) (#19504)
Copilot Apr 11, 2026
bd2823e
Fix completion inconsistently filtering obsolete fields and events (#…
Copilot Apr 11, 2026
f1b1a57
Map this branch to rel/insiders, set VSMinorVersion=7
abonie May 6, 2026
dba9a97
Merge branch 'release/dev18.6' into release/dev18.6
abonie May 7, 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
Prev Previous commit
Next Next commit
Fix Regression PR Shepherd: restrict push scope and strengthen PR sel…
…ection (#19558)

* Initial plan

* Fix Regression PR Shepherd: add allowed-files restriction and strengthen instructions

Add frontmatter guardrails:
- allowed-files: restricts push-to-pull-request-branch to tests/**, vsintegration/tests/**, *.fsproj
- protected-files: fallback-to-issue for graceful failure

Strengthen agentic instructions:
- Explicit prohibition on modifying .github/ files (managed by aw-auto-update)
- Pre-push verification step: git diff --name-only check before every push
- Rebase step includes scope verification to catch unrelated files

Agent-Logs-Url: https://github.com/dotnet/fsharp/sessions/b356f0ee-75da-4a9b-9517-8be6278d62ed

Co-authored-by: T-Gro <46543583+T-Gro@users.noreply.github.com>

* Address review: remove *.fsproj from allowed-files, add strict PR eligibility checks

- Remove *.fsproj from allowed-files (already covered by tests/** patterns)
- Add strict eligibility filters: title must start with "Add regression test:",
  PR must not be a draft, PR must originate from dotnet/fsharp (no forks)
- Add isDraft and headRepository to gh pr list JSON fields
- Add guideline: never touch draft PRs or PRs from external forks
- Recompile lock file

Agent-Logs-Url: https://github.com/dotnet/fsharp/sessions/2049e905-31bd-4a7d-b2be-5e81a1a2b2ee

Co-authored-by: T-Gro <46543583+T-Gro@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: T-Gro <46543583+T-Gro@users.noreply.github.com>
  • Loading branch information
Copilot and T-Gro authored Apr 9, 2026
commit 6f0e1ed26713d172d3375570276f74b2c25696b7
38 changes: 19 additions & 19 deletions .github/workflows/regression-pr-shepherd.lock.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

22 changes: 19 additions & 3 deletions .github/workflows/regression-pr-shepherd.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,10 @@ safe-outputs:
title-prefix: "Add regression test: "
labels: [AI-Issue-Regression-PR]
max: 10
allowed-files:
- "tests/**"
- "vsintegration/tests/**"
protected-files: fallback-to-issue
remove-labels:
allowed: ["AI-thinks-issue-fixed"]
max: 5
Expand Down Expand Up @@ -58,9 +62,17 @@ You shepherd open regression test PRs to completion. These PRs add tests for iss

List all open PRs with the `AI-Issue-Regression-PR` label:
```bash
gh pr list --label "AI-Issue-Regression-PR" --state open --json number,title,headRefName,updatedAt
gh pr list --label "AI-Issue-Regression-PR" --state open --json number,title,headRefName,updatedAt,isDraft,headRepository
```

**Strict eligibility check — apply ALL of these filters before processing a PR:**
1. The PR **must** have the `AI-Issue-Regression-PR` label (enforced by the `gh pr list` filter above).
2. The PR title **must** start with `Add regression test:`. If it does not, skip it — it is not a regression test PR.
3. The PR **must not** be a draft (`isDraft: false`). Draft PRs are work-in-progress and must not be touched.
4. The PR **must** originate from `dotnet/fsharp` — the `headRepository` owner must be `dotnet` and name must be `fsharp`. Never touch PRs from external forks.

**If a PR fails any of these checks, skip it silently — do not comment, do not attempt any changes.**

**Process at most 3 PRs per run.** Prioritize PRs that have unaddressed review feedback (Category A) or CI failures (Category B) over healthy PRs (Category C). If more than 3 PRs need work, the next scheduled run will pick up the rest.

For each PR, determine which category it falls into (check in this order):
Expand All @@ -86,8 +98,9 @@ Check the PR's check runs and mergeable state.
1. Check out the PR branch: `gh pr checkout {number}`
2. Rebase onto main: `git fetch origin main && git rebase origin/main`
3. Resolve conflicts — for `.fsproj` conflicts, keep both entries in alphabetical order. For test file conflicts, keep both tests.
4. Build the test project to verify: `dotnet build tests/{TestProject}/{TestProject}.fsproj -c Release`
5. Push the rebased branch to update the PR
4. **Verify scope**: Run `git diff --name-only origin/main` and confirm only files under `tests/` or `vsintegration/tests/` are changed. If unrelated files appear (e.g., `.github/` files from main), reset them: `git checkout origin/main -- .github/`
5. Build the test project to verify: `dotnet build tests/{TestProject}/{TestProject}.fsproj -c Release`
6. Push the rebased branch to update the PR

If any checks failed:

Expand Down Expand Up @@ -143,6 +156,9 @@ Track which PRs you've processed and the last review comment timestamp you addre
## Guidelines

- **Never modify files outside `tests/` or `vsintegration/tests/`** — if a fix requires changing `src/`, that's beyond scope. Comment explaining this and tag maintainers.
- **Never modify `.github/` files** — workflow definitions, agent configs, skills, and lock files are managed by the dedicated `aw-auto-update` workflow. Do not touch `.github/workflows/`, `.github/agents/`, `.github/aw/`, or `.github/skills/`.
- **Never touch draft PRs or PRs from external forks** — these are out of scope even if they have the right label. Skip them silently.
- **Verify before pushing**: After making changes or rebasing, run `git diff --name-only` and confirm every changed file is under `tests/` or `vsintegration/tests/`. If unrelated files appear in the diff (e.g., from a rebase picking up main's changes), use `git checkout origin/main -- <file>` to restore them before committing.
- **Only comment on PRs with the `AI-Issue-Regression-PR` label or their linked issues** — never comment on any other issue or PR in the repository. If you need to tag maintainers about a bug that still exists, comment on the linked issue only.
- Begin every comment with: `🤖 *This is an automated response from Regression PR Shepherd.*`
- When fixing review feedback, keep changes minimal — address exactly what was requested.
Expand Down
Loading