Skip to content

Commit d291735

Browse files
abonieT-GroCopilotCopilotdotnet-maestro[bot]
authored
Syncing release/dev18.6 with VS rel/insiders (#19699)
* Add regression test for #6750: Mutually recursive DU values initialization (#19483) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Add regression tests for #14308 and #14310: Signature generation improvements (#19490) Test 1 (#14310): Verify struct with private field roundtrips correctly when signature includes the private field (as generated by --sig). Test 2 (#14308): Verify Sealed, AbstractClass, Interface and Class attributes roundtrip correctly in signature generation. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Add regression test for #16410: no spurious FS3570 with KeyValue active pattern (#19481) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Add regression test for #3841: Hash directive indentation in nested module (#19489) Verify that a hash directive (#r) at column 0 inside a nested module produces FS0058 indentation error with F# 8 strict indentation rules. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Add regression test for #14152: nowarn directive before module declaration (#19477) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Add regression test: #6929, Literal bindings preserve units of measure (#19463) * Add regression test for #6929: Literal bindings preserve units of measure Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Fix: use local shouldSucceed wrapper instead of redundant pipeline The test was calling asLibrary |> typecheck |> shouldSucceed, but the local shouldSucceed function (which already does asLibrary/typecheck) was shadowing FSharp.Test.Compiler.shouldSucceed, causing a type mismatch (FS0001). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Add regression test: #3660, array of functions invocation correctness (#19479) * Add regression test for #3660: array of functions invocation without closure allocation - Runtime correctness test: compiles and runs the indexed array function invocation pattern, verifying correct results - IL verification test: compiles runAll as a library with optimizations and asserts no closure class (extending FSharpFunc) is emitted, ensuring the compiler does not generate needless allocations for fArr.[i] x Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: Adam Boniecki <20281641+abonie@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: Adam Boniecki <20281641+abonie@users.noreply.github.com> * Infra: Update gh aw (#19495) * Fix CLIEvent properties to be recognized as events in Symbol API (#18584) * Add regression test: #12067, signature generation preserves FSharp. prefix for external types (#19496) Fixes #12067 Adds a regression test verifying that signature file generation preserves the fully-qualified FSharp.Control.AsyncSeq<'t> type name when the type comes from an external assembly in a FSharp.* namespace, rather than incorrectly trimming the FSharp. prefix to produce Control.AsyncSeq<'t>. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Add regression test for #11331: accessibility error for internal type in public constructor sig (#19475) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Add regression test for #14216: No FS2303 warning for DU in FSI (#19465) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Add regression test for #13697: typeof in attribute should report FS0039 (#19474) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Add regression test for #9382: SRTP stress test with matrix inverse (#19469) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Add regression test: #12023, FSI can load System.Drawing.Common via nuget (#19497) Fixes #12023 Verifies that FSI can load System.Drawing.Common via #r "nuget:" without FS0193 assembly loading errors. The original issue was that FSI did not probe the Microsoft.WindowsDesktop.App runtime folder. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Add documentation and tests that maxBy/minBy return the first max/min element (#19464) * Bugfix :: Fix type definition metadata: duplicate methods, event flags (#19341) * resolve integrity issues in gh aw (#19510) * Add Regression PR Shepherd workflow (#19500) * Add Regression PR Shepherd agentic workflow Shepherds open AI-Issue-Regression-PR pull requests to completion: - Fixes CI failures and addresses review feedback - Detects when a test proves the bug still exists (removes label, tags maintainers) - Runs 6x/day, only touches tests/ files Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Add min-integrity: none * Add min-integrity: none Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Improve repo-assist: regression test verification, windows-only revisit, stricter labeling (#19499) - Enable create-pull-request and push-to-pull-request-branch for regression test PRs - Enable remove-labels for AI-thinks-issue-fixed and AI-thinks-windows-only - Add Task 2: Regression Test Verification with adversarial dispute step - Add Task 3: Systematic revisit of AI-thinks-windows-only claims - Reorder tasks: Task 1 → Task 3 → Task 2 → FINAL (Task 3 feeds into Task 2) - Strict windows-only rules with explicit FCS-testable feature list - Fix memory section to match actual state.json schema - Remove close-issue actions (closure happens via PR merge with Fixes link) - Fix stale references, contradictory instructions, date cutoff to 2024 - Clarify anti-spam rules for multi-task commenting Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Update dependencies from https://github.com/dotnet/arcade build 20260327.7 (#19512) On relative base path root Microsoft.DotNet.Arcade.Sdk From Version 10.0.0-beta.26168.1 -> To Version 10.0.0-beta.26177.7 Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> * [main] Update dependencies from dotnet/msbuild (#19493) * Update dependencies from https://github.com/dotnet/msbuild build 20260324.4 On relative base path root Microsoft.Build , Microsoft.Build.Framework , Microsoft.Build.Tasks.Core , Microsoft.Build.Utilities.Core From Version 18.6.0-preview-26173-02 -> To Version 18.6.0-preview-26174-04 * Update dependencies from https://github.com/dotnet/msbuild build 20260325.1 On relative base path root Microsoft.Build , Microsoft.Build.Framework , Microsoft.Build.Tasks.Core , Microsoft.Build.Utilities.Core From Version 18.6.0-preview-26173-02 -> To Version 18.6.0-preview-26175-01 * Update dependencies from https://github.com/dotnet/msbuild build 20260326.1 On relative base path root Microsoft.Build , Microsoft.Build.Framework , Microsoft.Build.Tasks.Core , Microsoft.Build.Utilities.Core From Version 18.6.0-preview-26173-02 -> To Version 18.6.0-preview-26176-01 * Update dependencies from https://github.com/dotnet/msbuild build 20260327.2 On relative base path root Microsoft.Build , Microsoft.Build.Framework , Microsoft.Build.Tasks.Core , Microsoft.Build.Utilities.Core From Version 18.6.0-preview-26173-02 -> To Version 18.6.0-preview-26177-02 --------- Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> * Add regression test for #3532: FSharpEntity.IsByRef is false for byref`1 (#19485) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Add regression test for #15655: error codes 999 and 3217 are distinct (#19480) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Add regression test: #13519, C# optional parameters from F# (#19473) * Add regression test for #13519: C# optional parameters from F# Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Add ParamArray + optional params regression test for #13519 Addresses reviewer feedback: the original issue was specifically about the intersection of omitted optional arguments and ParamArray arguments, as identified by Don Syme. This adds a test covering that exact scenario. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Add regression test: #6648, DU of DUs with inline static members (#19470) * Add regression test for #6648: DU of DUs with inline static members Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Fix unclosed triple-quoted string in Issue 6648 regression test Add missing closing triple-quote and assertion pipeline to the DU of DUs with inline static members test. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Fix repo-assist: add safe output discipline and iteration limits (#19516) * Initial plan * Fix repo-assist: add safe output discipline, iteration limits, and noop fallback Root cause: Agent spent ~37 minutes creating ~25 test files across 5+ issues without calling any safe output MCP tools, resulting in empty agent_output.json. - Add "Safe Output Discipline" section with incremental output, noop fallback, 3-attempt iteration limit per issue, and time awareness rules - Task 1: call safe output tools immediately after each issue - Task 2: limit build-and-test cycles to 3 per issue, create PRs immediately, do not create multiple test file variants Agent-Logs-Url: https://github.com/dotnet/fsharp/sessions/cf589816-f234-44e2-9245-742907ee5d27 Co-authored-by: T-Gro <46543583+T-Gro@users.noreply.github.com> * Run gh aw upgrade and gh aw compile to regenerate lock files Updates gh-aw from v0.64.2 to v0.64.4: - Regenerate repo-assist.lock.yml with new frontmatter hash - Regenerate regression-pr-shepherd.lock.yml - Update actions-lock.json with new action SHAs - Update agentic-workflows.agent.md version references Agent-Logs-Url: https://github.com/dotnet/fsharp/sessions/0f6b9ce7-da31-403c-b633-6bb5f004484e 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> Co-authored-by: Tomas Grosup <Tomas.Grosup@gmail.com> Co-authored-by: Adam Boniecki <20281641+abonie@users.noreply.github.com> * Update dependencies from https://github.com/dotnet/msbuild build 20260330.8 (#19525) On relative base path root Microsoft.Build , Microsoft.Build.Framework , Microsoft.Build.Tasks.Core , Microsoft.Build.Utilities.Core From Version 18.6.0-preview-26177-02 -> To Version 18.6.0-preview-26180-08 Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> * Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-optimization build 20260330.1 (#19523) On relative base path root optimization.linux-arm64.MIBC.Runtime , optimization.linux-x64.MIBC.Runtime , optimization.windows_nt-arm64.MIBC.Runtime , optimization.windows_nt-x64.MIBC.Runtime , optimization.windows_nt-x86.MIBC.Runtime From Version 1.0.0-prerelease.26153.1 -> To Version 1.0.0-prerelease.26180.1 Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> * Add aw-auto-update workflow + upgrade to v0.64.4 (#19519) * Add aw-auto-update workflow for daily gh aw upgrade/compile Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Update agentic workflows via gh aw upgrade (v0.64.2 → v0.64.4) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Add regression test for #6715: land is a valid identifier (#19478) Verifies that land, lor, lxor, lsl, lsr, and asr can be used as valid identifiers after the ML compatibility removal in PR #19143. Fixes #6715 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * [main] Update dependencies from dotnet/roslyn (#19494) * Update dependencies from https://github.com/dotnet/roslyn build 20260324.12 On relative base path root Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.Compilers , Microsoft.CodeAnalysis.CSharp , Microsoft.CodeAnalysis.EditorFeatures , Microsoft.CodeAnalysis.EditorFeatures.Text , Microsoft.CodeAnalysis.ExternalAccess.FSharp , Microsoft.CodeAnalysis.Features , Microsoft.VisualStudio.LanguageServices From Version 5.6.0-2.26173.11 -> To Version 5.6.0-2.26174.12 * Update dependencies from https://github.com/dotnet/roslyn build 20260325.12 On relative base path root Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.Compilers , Microsoft.CodeAnalysis.CSharp , Microsoft.CodeAnalysis.EditorFeatures , Microsoft.CodeAnalysis.EditorFeatures.Text , Microsoft.CodeAnalysis.ExternalAccess.FSharp , Microsoft.CodeAnalysis.Features , Microsoft.VisualStudio.LanguageServices From Version 5.6.0-2.26173.11 -> To Version 5.6.0-2.26175.12 * Update dependencies from https://github.com/dotnet/roslyn build 20260326.1 On relative base path root Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.Compilers , Microsoft.CodeAnalysis.CSharp , Microsoft.CodeAnalysis.EditorFeatures , Microsoft.CodeAnalysis.EditorFeatures.Text , Microsoft.CodeAnalysis.ExternalAccess.FSharp , Microsoft.CodeAnalysis.Features , Microsoft.VisualStudio.LanguageServices From Version 5.6.0-2.26173.11 -> To Version 5.6.0-2.26176.1 * Update dependencies from https://github.com/dotnet/roslyn build 20260327.5 On relative base path root Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.Compilers , Microsoft.CodeAnalysis.CSharp , Microsoft.CodeAnalysis.EditorFeatures , Microsoft.CodeAnalysis.EditorFeatures.Text , Microsoft.CodeAnalysis.ExternalAccess.FSharp , Microsoft.CodeAnalysis.Features , Microsoft.VisualStudio.LanguageServices From Version 5.6.0-2.26173.11 -> To Version 5.6.0-2.26177.5 * Update dependencies from https://github.com/dotnet/roslyn build 20260328.1 On relative base path root Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.Compilers , Microsoft.CodeAnalysis.CSharp , Microsoft.CodeAnalysis.EditorFeatures , Microsoft.CodeAnalysis.EditorFeatures.Text , Microsoft.CodeAnalysis.ExternalAccess.FSharp , Microsoft.CodeAnalysis.Features , Microsoft.VisualStudio.LanguageServices From Version 5.6.0-2.26173.11 -> To Version 5.6.0-2.26178.1 * Update dependencies from https://github.com/dotnet/roslyn build 20260330.1 On relative base path root Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.Compilers , Microsoft.CodeAnalysis.CSharp , Microsoft.CodeAnalysis.EditorFeatures , Microsoft.CodeAnalysis.EditorFeatures.Text , Microsoft.CodeAnalysis.ExternalAccess.FSharp , Microsoft.CodeAnalysis.Features , Microsoft.VisualStudio.LanguageServices From Version 5.6.0-2.26173.11 -> To Version 5.6.0-2.26180.1 * Update dependencies from https://github.com/dotnet/roslyn build 20260331.7 On relative base path root Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.Compilers , Microsoft.CodeAnalysis.CSharp , Microsoft.CodeAnalysis.EditorFeatures , Microsoft.CodeAnalysis.EditorFeatures.Text , Microsoft.CodeAnalysis.ExternalAccess.FSharp , Microsoft.CodeAnalysis.Features , Microsoft.VisualStudio.LanguageServices From Version 5.6.0-2.26173.11 -> To Version 5.7.0-1.26181.7 --------- Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Tomas Grosup <tomasgrosup@microsoft.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Add regression test: #15987, SRTP overload resolution returns correct typed value (#19535) Verifies that SRTP trait call selects the correct overload based on argument type: float -> float overload, decimal -> decimal overload, 't -> int fallback overload. Previously returned obj (null) instead of the expected typed value. Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Add regression test: #15070, hash-load with dot-slash prefix no longer causes FS1141 (#19534) Verifies that #load "./path/file.fsx" with a dot-slash prefix is accepted by the parser (no FS1141 error), producing a file-not-found error rather than the former 'Identifiers followed by ! are reserved' parse error. Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Add regression test: #16056, auto property DeclarationLocation correct location (#19533) Verifies that FSharpMemberOrFunctionOrValue.DeclarationLocation for a property used as T().Prop points to the property name, not the get accessor. Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Add regression test: #19456, nested let bang in plain let inside task CE raises FS0750 (#19531) Fixes #19456 Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Add regression test: #16007, SRTP ctor constraint no longer causes value restriction (#19529) Fixes #16007 Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Add regression test: #7177, never-matched warning with active patterns (#19528) Fixes #7177 Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Tests: prevent in-proc fsi from killing test host with "exit" (#19407) * wip * fix test * use FSharpScript everywhere, remove ScriptingShims.fsx * cleanup - this can run in parallel * cleanup * fix * Add regression test: #9878, SRTP with phantom type parameter (#19467) * Add regression test for #9878: SRTP with phantom type parameter Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Fix unclosed triple-quoted string in Issue 9878 regression test Add missing closing triple-quote and assertion pipeline to the SRTP with phantom type parameter test. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Rebase: add missing Issue 6648 test from main to resolve merge conflict Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Fix FS0452 for empty string pattern matching in quotations (#19532) * Initial plan * Fix FS0452: Handle non-null test IL pattern in quotation translator for empty string matching Agent-Logs-Url: https://github.com/dotnet/fsharp/sessions/213130f0-37c1-4efc-ab4d-e6f9b324a252 Co-authored-by: T-Gro <46543583+T-Gro@users.noreply.github.com> * Add runtime verification test for empty string pattern in quotation Agent-Logs-Url: https://github.com/dotnet/fsharp/sessions/213130f0-37c1-4efc-ab4d-e6f9b324a252 Co-authored-by: T-Gro <46543583+T-Gro@users.noreply.github.com> * Add test for empty string pattern match in quotation with outer variable Agent-Logs-Url: https://github.com/dotnet/fsharp/sessions/24c1fabb-ab83-45af-ab77-d9ca97cc8d69 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> * Fix regression-pr-shepherd: bound PR processing per run to prevent context overflow (#19526) * Make fsharp-diagnostics skill a directive, not a suggestion (#19520) Change wording from 'use this to get...' to 'Always invoke after editing .fs files. Prefer this over dotnet build for iterative changes.' The agent treats suggestions as optional but directives as requirements. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Update agentic workflows to v0.67.2 and fix merge conflict (#19556) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Fix Regression PR Shepherd: restrict push scope and strengthen PR selection (#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> * [main] Source code updates from dotnet/dotnet (#19546) * Backflow from https://github.com/dotnet/dotnet / 185a5cc build 308823 [[ commit created by automation ]] * Update dependencies from build 308823 No dependency updates to commit [[ commit created by automation ]] * Update dependencies from build 309010 No dependency updates to commit [[ commit created by automation ]] * Update dependencies from build 309188 No dependency updates to commit [[ commit created by automation ]] --------- Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> * [main] Update dependencies from dotnet/roslyn (#19544) * Update dependencies from https://github.com/dotnet/roslyn build 20260401.1 On relative base path root Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.Compilers , Microsoft.CodeAnalysis.CSharp , Microsoft.CodeAnalysis.EditorFeatures , Microsoft.CodeAnalysis.EditorFeatures.Text , Microsoft.CodeAnalysis.ExternalAccess.FSharp , Microsoft.CodeAnalysis.Features , Microsoft.VisualStudio.LanguageServices From Version 5.7.0-1.26181.7 -> To Version 5.7.0-1.26201.1 * Update dependencies from https://github.com/dotnet/roslyn build 20260402.12 On relative base path root Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.Compilers , Microsoft.CodeAnalysis.CSharp , Microsoft.CodeAnalysis.EditorFeatures , Microsoft.CodeAnalysis.EditorFeatures.Text , Microsoft.CodeAnalysis.ExternalAccess.FSharp , Microsoft.CodeAnalysis.Features , Microsoft.VisualStudio.LanguageServices From Version 5.7.0-1.26181.7 -> To Version 5.7.0-1.26202.12 * Update dependencies from https://github.com/dotnet/roslyn build 20260403.6 On relative base path root Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.Compilers , Microsoft.CodeAnalysis.CSharp , Microsoft.CodeAnalysis.EditorFeatures , Microsoft.CodeAnalysis.EditorFeatures.Text , Microsoft.CodeAnalysis.ExternalAccess.FSharp , Microsoft.CodeAnalysis.Features , Microsoft.VisualStudio.LanguageServices From Version 5.7.0-1.26181.7 -> To Version 5.7.0-1.26203.6 * Update dependencies from https://github.com/dotnet/roslyn build 20260408.14 On relative base path root Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.Compilers , Microsoft.CodeAnalysis.CSharp , Microsoft.CodeAnalysis.EditorFeatures , Microsoft.CodeAnalysis.EditorFeatures.Text , Microsoft.CodeAnalysis.ExternalAccess.FSharp , Microsoft.CodeAnalysis.Features , Microsoft.VisualStudio.LanguageServices From Version 5.7.0-1.26181.7 -> To Version 5.7.0-1.26208.14 * Bump FSBuildVersion to 101 FSharp.Core 11.0.100 and FSharp.Compiler.Service 43.12.100 have already been published to NuGet, causing Check_Published_Package_Versions CI failures. Bump FSBuildVersion from 100 to 101. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Fix flaky StartAsTaskCancellation test by increasing thread pool wait timeout The test fails intermittently on loaded CI machines with 'Async body did not start within 5 seconds' because the thread pool cannot schedule the async computation in time. Increase the wait from 5s to 30s — this doesn't slow down normal runs since the event is signaled almost immediately when the thread pool picks up the work. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Update dependencies from https://github.com/dotnet/roslyn build 20260409.5 On relative base path root Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.Compilers , Microsoft.CodeAnalysis.CSharp , Microsoft.CodeAnalysis.EditorFeatures , Microsoft.CodeAnalysis.EditorFeatures.Text , Microsoft.CodeAnalysis.ExternalAccess.FSharp , Microsoft.CodeAnalysis.Features , Microsoft.VisualStudio.LanguageServices From Version 5.7.0-1.26181.7 -> To Version 5.7.0-1.26209.5 --------- Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Tomas Grosup <tomasgrosup@microsoft.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * [main] Update dependencies from dotnet/msbuild (#19543) * Update dependencies from https://github.com/dotnet/msbuild build 20260401.1 On relative base path root Microsoft.Build , Microsoft.Build.Framework , Microsoft.Build.Tasks.Core , Microsoft.Build.Utilities.Core From Version 18.6.0-preview-26180-08 -> To Version 18.6.0-preview-26201-01 * Update dependencies from https://github.com/dotnet/msbuild build 20260402.4 On relative base path root Microsoft.Build , Microsoft.Build.Framework , Microsoft.Build.Tasks.Core , Microsoft.Build.Utilities.Core From Version 18.6.0-preview-26180-08 -> To Version 18.6.0 * Update dependencies from https://github.com/dotnet/msbuild build 20260408.4 On relative base path root Microsoft.Build , Microsoft.Build.Framework , Microsoft.Build.Tasks.Core , Microsoft.Build.Utilities.Core From Version 18.6.0-preview-26180-08 -> To Version 18.6.1 * Bump FSBuildVersion to 101 to fix package version check FSharp.Core 11.0.100 and FSharp.Compiler.Service 43.12.100 have already been published to NuGet, causing the 'Check published package version' CI step to fail. Bump to 101 so the versions are unpublished. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Tomas Grosup <tomasgrosup@microsoft.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Add regression test: #16154, task CE with IQueryable filters no longer throws VerificationException (#19530) * Add regression test: #16154, task CE with IQueryable filter no longer throws VerificationException Fixes #16154 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Fix CI: scope issue 16154 regression test to NETCOREAPP only The VerificationException from the upcast-to-obj in the task state machine still occurs on .NET Framework due to stricter IL verification. The test passes on .NET Core where this is handled correctly. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: Tomas Grosup <tomasgrosup@microsoft.com> * [main] Update dependencies from dotnet/arcade (#19542) * Update dependencies from https://github.com/dotnet/arcade build 20260401.4 On relative base path root Microsoft.DotNet.Arcade.Sdk From Version 10.0.0-beta.26177.7 -> To Version 10.0.0-beta.26201.4 * Update dependencies from https://github.com/dotnet/arcade build 20260408.2 On relative base path root Microsoft.DotNet.Arcade.Sdk From Version 10.0.0-beta.26177.7 -> To Version 10.0.0-beta.26208.2 * Bump FSBuildVersion from 100 to 101 FSharp.Core=11.0.100 and FSharp.Compiler.Service=43.12.100 have already been published. Bumping to 101 so the 'Check published package version' CI jobs pass again. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Update dependencies from https://github.com/dotnet/arcade build 20260408.4 On relative base path root Microsoft.DotNet.Arcade.Sdk From Version 10.0.0-beta.26177.7 -> To Version 10.0.0-beta.26208.4 --------- Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Tomas Grosup <tomasgrosup@microsoft.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: Tomas Grosup <Tomas.Grosup@gmail.com> * Add regression tests for #10043: backtick, @, and ! in type annotations (#19476) Verifies that type annotations with invalid characters produce clear error messages: - backtick: FS3563 'This is not a valid identifier' - at sign: FS0615 'Unexpected infix operator in type expression' - bang: FS1141 'Identifiers followed by ! are reserved for future use' Fixes #10043 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Fix wrong warning 20 range in sequential expressions (#5735) (#19504) In TcStmt, the range used for warning 20 was synExpr.Range which, for sequential expressions (e.g. loop bodies with multiple statements), covered the entire body. This made the squiggle highlight the whole block instead of just the offending non-unit expression. Added lastExprRange helper that walks the SynExpr.Sequential chain to find the range of the last expression, so the warning now correctly points at only the expression that produces the ignored value. Added 4 regression tests for for-in, for-to, and while loops. Co-authored-by: Tomas Grosup <tomasgrosup@microsoft.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Fix completion inconsistently filtering obsolete fields and events (#13512) (#19506) * Fix completion inconsistently filtering obsolete fields and events Add ILFieldInfoIsUnseen and EventInfoIsUnseen functions to filter obsolete IL fields and events from completion, matching existing behavior for methods and properties. Also update ItemIsUnseen to handle ILField and Event items. Fixes #13693 Agent-Logs-Url: https://github.com/dotnet/fsharp/sessions/1d21d452-3f55-4d56-898c-0b50980050b5 Co-authored-by: abonie <20281641+abonie@users.noreply.github.com> * Add C# interop tests for obsolete field/event/method/property filtering Fix issue number to #13512. Add ObsoleteMembersClass to CSharp_Analysis with obsolete and non-obsolete members. Add 6 C# interop completion tests verifying all obsolete member types are consistently hidden. Agent-Logs-Url: https://github.com/dotnet/fsharp/sessions/1d21d452-3f55-4d56-898c-0b50980050b5 Co-authored-by: abonie <20281641+abonie@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: abonie <20281641+abonie@users.noreply.github.com> * Map this branch to rel/insiders, set VSMinorVersion=7 --------- Co-authored-by: Tomas Grosup <Tomas.Grosup@gmail.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com> Co-authored-by: dotnet-maestro[bot] <42748379+dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: T-Gro <46543583+T-Gro@users.noreply.github.com> Co-authored-by: Tomas Grosup <tomasgrosup@microsoft.com> Co-authored-by: Jakub Majocha <1760221+majocha@users.noreply.github.com>
1 parent 38d5d77 commit d291735

86 files changed

Lines changed: 5598 additions & 802 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/agents/agentic-workflows.agent.md

Lines changed: 35 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
description: GitHub Agentic Workflows (gh-aw) - Create, debug, and upgrade AI-powered workflows with intelligent prompt routing
3-
infer: false
3+
disable-model-invocation: true
44
---
55

66
# GitHub Agentic Workflows Agent
@@ -15,7 +15,10 @@ This is a **dispatcher agent** that routes your request to the appropriate speci
1515
- **Updating existing workflows**: Routes to `update` prompt
1616
- **Debugging workflows**: Routes to `debug` prompt
1717
- **Upgrading workflows**: Routes to `upgrade-agentic-workflows` prompt
18+
- **Creating report-generating workflows**: Routes to `report` prompt — consult this whenever the workflow posts status updates, audits, analyses, or any structured output as issues, discussions, or comments
1819
- **Creating shared components**: Routes to `create-shared-agentic-workflow` prompt
20+
- **Fixing Dependabot PRs**: Routes to `dependabot` prompt — use this when Dependabot opens PRs that modify generated manifest files (`.github/workflows/package.json`, `.github/workflows/requirements.txt`, `.github/workflows/go.mod`). Never merge those PRs directly; instead update the source `.md` files and rerun `gh aw compile --dependabot` to bundle all fixes
21+
- **Analyzing test coverage**: Routes to `test-coverage` prompt — consult this whenever the workflow reads, analyzes, or reports on test coverage data from PRs or CI runs
1922

2023
Workflows may optionally include:
2124

@@ -27,7 +30,7 @@ Workflows may optionally include:
2730
- Workflow files: `.github/workflows/*.md` and `.github/workflows/**/*.md`
2831
- Workflow lock files: `.github/workflows/*.lock.yml`
2932
- Shared components: `.github/workflows/shared/*.md`
30-
- Configuration: https://github.com/github/gh-aw/blob/v0.45.0/.github/aw/github-agentic-workflows.md
33+
- Configuration: https://github.com/github/gh-aw/blob/v0.67.1/.github/aw/github-agentic-workflows.md
3134

3235
## Problems This Solves
3336

@@ -49,7 +52,7 @@ When you interact with this agent, it will:
4952
### Create New Workflow
5053
**Load when**: User wants to create a new workflow from scratch, add automation, or design a workflow that doesn't exist yet
5154

52-
**Prompt file**: https://github.com/github/gh-aw/blob/v0.45.0/.github/aw/create-agentic-workflow.md
55+
**Prompt file**: https://github.com/github/gh-aw/blob/v0.67.1/.github/aw/create-agentic-workflow.md
5356

5457
**Use cases**:
5558
- "Create a workflow that triages issues"
@@ -59,7 +62,7 @@ When you interact with this agent, it will:
5962
### Update Existing Workflow
6063
**Load when**: User wants to modify, improve, or refactor an existing workflow
6164

62-
**Prompt file**: https://github.com/github/gh-aw/blob/v0.45.0/.github/aw/update-agentic-workflow.md
65+
**Prompt file**: https://github.com/github/gh-aw/blob/v0.67.1/.github/aw/update-agentic-workflow.md
6366

6467
**Use cases**:
6568
- "Add web-fetch tool to the issue-classifier workflow"
@@ -69,7 +72,7 @@ When you interact with this agent, it will:
6972
### Debug Workflow
7073
**Load when**: User needs to investigate, audit, debug, or understand a workflow, troubleshoot issues, analyze logs, or fix errors
7174

72-
**Prompt file**: https://github.com/github/gh-aw/blob/v0.45.0/.github/aw/debug-agentic-workflow.md
75+
**Prompt file**: https://github.com/github/gh-aw/blob/v0.67.1/.github/aw/debug-agentic-workflow.md
7376

7477
**Use cases**:
7578
- "Why is this workflow failing?"
@@ -79,46 +82,52 @@ When you interact with this agent, it will:
7982
### Upgrade Agentic Workflows
8083
**Load when**: User wants to upgrade workflows to a new gh-aw version or fix deprecations
8184

82-
**Prompt file**: https://github.com/github/gh-aw/blob/v0.45.0/.github/aw/upgrade-agentic-workflows.md
85+
**Prompt file**: https://github.com/github/gh-aw/blob/v0.67.1/.github/aw/upgrade-agentic-workflows.md
8386

8487
**Use cases**:
8588
- "Upgrade all workflows to the latest version"
8689
- "Fix deprecated fields in workflows"
8790
- "Apply breaking changes from the new release"
8891

92+
### Create a Report-Generating Workflow
93+
**Load when**: The workflow being created or updated produces reports — recurring status updates, audit summaries, analyses, or any structured output posted as a GitHub issue, discussion, or comment
94+
95+
**Prompt file**: https://github.com/github/gh-aw/blob/v0.67.1/.github/aw/report.md
96+
97+
**Use cases**:
98+
- "Create a weekly CI health report"
99+
- "Post a daily security audit to Discussions"
100+
- "Add a status update comment to open PRs"
101+
89102
### Create Shared Agentic Workflow
90103
**Load when**: User wants to create a reusable workflow component or wrap an MCP server
91104

92-
**Prompt file**: https://github.com/github/gh-aw/blob/v0.45.0/.github/aw/create-shared-agentic-workflow.md
105+
**Prompt file**: https://github.com/github/gh-aw/blob/v0.67.1/.github/aw/create-shared-agentic-workflow.md
93106

94107
**Use cases**:
95108
- "Create a shared component for Notion integration"
96109
- "Wrap the Slack MCP server as a reusable component"
97110
- "Design a shared workflow for database queries"
98111

99-
### Orchestration and Delegation
100-
101-
**Load when**: Creating or updating workflows that coordinate multiple agents or dispatch work to other workflows
112+
### Fix Dependabot PRs
113+
**Load when**: User needs to close or fix open Dependabot PRs that update dependencies in generated manifest files (`.github/workflows/package.json`, `.github/workflows/requirements.txt`, `.github/workflows/go.mod`)
102114

103-
**Prompt file**: https://github.com/github/gh-aw/blob/v0.45.0/.github/aw/orchestration.md
115+
**Prompt file**: https://github.com/github/gh-aw/blob/v0.67.1/.github/aw/dependabot.md
104116

105117
**Use cases**:
106-
- Assigning work to AI coding agents
107-
- Dispatching specialized worker workflows
108-
- Using correlation IDs for tracking
109-
- Orchestration design patterns
110-
111-
### GitHub Projects Integration
118+
- "Fix the open Dependabot PRs for npm dependencies"
119+
- "Bundle and close the Dependabot PRs for workflow dependencies"
120+
- "Update @playwright/test to fix the Dependabot PR"
112121

113-
**Load when**: Creating or updating workflows that manage GitHub Projects v2
122+
### Analyze Test Coverage
123+
**Load when**: The workflow reads, analyzes, or reports test coverage — whether triggered by a PR, a schedule, or a slash command. Always consult this prompt before designing the coverage data strategy.
114124

115-
**Prompt file**: https://github.com/github/gh-aw/blob/v0.45.0/.github/aw/projects.md
125+
**Prompt file**: https://github.com/github/gh-aw/blob/v0.67.1/.github/aw/test-coverage.md
116126

117127
**Use cases**:
118-
- Tracking items and fields with update-project
119-
- Posting periodic run summaries
120-
- Creating new projects
121-
- Projects v2 authentication and configuration
128+
- "Create a workflow that comments coverage on PRs"
129+
- "Analyze coverage trends over time"
130+
- "Add a coverage gate that blocks PRs below a threshold"
122131

123132
## Instructions
124133

@@ -160,8 +169,10 @@ gh aw compile --validate
160169

161170
## Important Notes
162171

163-
- Always reference the instructions file at https://github.com/github/gh-aw/blob/v0.45.0/.github/aw/github-agentic-workflows.md for complete documentation
172+
- Always reference the instructions file at https://github.com/github/gh-aw/blob/v0.67.1/.github/aw/github-agentic-workflows.md for complete documentation
164173
- Use the MCP tool `agentic-workflows` when running in GitHub Copilot Cloud
165174
- Workflows must be compiled to `.lock.yml` files before running in GitHub Actions
166175
- **Bash tools are enabled by default** - Don't restrict bash commands unnecessarily since workflows are sandboxed by the AWF
167176
- Follow security best practices: minimal permissions, explicit network access, no template injection
177+
- **Network configuration**: Use ecosystem identifiers (`node`, `python`, `go`, etc.) or explicit FQDNs in `network.allowed`. Bare shorthands like `npm` or `pypi` are **not** valid. See https://github.com/github/gh-aw/blob/v0.67.1/.github/aw/network.md for the full list of valid ecosystem identifiers and domain patterns.
178+
- **Single-file output**: When creating a workflow, produce exactly **one** workflow `.md` file. Do not create separate documentation files (architecture docs, runbooks, usage guides, etc.). If documentation is needed, add a brief `## Usage` section inside the workflow file itself.

.github/aw/actions-lock.json

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,20 @@
55
"version": "v8",
66
"sha": "ed597411d8f924073f98dfc5c65a23a2325f34cd"
77
},
8-
"github/gh-aw-actions/setup@v0.62.0": {
8+
"github/gh-aw-actions/setup@v0.67.1": {
99
"repo": "github/gh-aw-actions/setup",
10-
"version": "v0.62.0",
11-
"sha": "b2c35f34e1013dd9ed2a84c559e2b2fec9ad38e6"
10+
"version": "v0.67.1",
11+
"sha": "80471a493be8c528dd27daf73cd644242a7965e0"
1212
},
13-
"github/gh-aw/actions/setup@v0.62.0": {
13+
"github/gh-aw-actions/setup@v0.67.2": {
14+
"repo": "github/gh-aw-actions/setup",
15+
"version": "v0.67.2",
16+
"sha": "03e31e064a68e8d5ad890c92f303cfb5a3536006"
17+
},
18+
"github/gh-aw/actions/setup@v0.67.2": {
1419
"repo": "github/gh-aw/actions/setup",
15-
"version": "v0.62.0",
16-
"sha": "f1633bcc50ad7480f44d25961863c36fadd787ec"
20+
"version": "v0.67.2",
21+
"sha": "5fb582bad4dfee2841251e97f9d22caa7eb3c82d"
1722
}
1823
}
1924
}
Lines changed: 132 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,132 @@
1+
---
2+
applyTo:
3+
- "tests/FSharp.Compiler.ComponentTests/**/*.fs"
4+
---
5+
6+
# ComponentTests DSL
7+
8+
Tests use a pipeline: **Create → Configure → Action → Assert**. The action verb is mandatory — never pipe a `CompilationUnit` directly into an assertion.
9+
10+
## Actions (pick the cheapest that covers what you're testing)
11+
12+
```fsharp
13+
// Type errors only, no codegen — fastest
14+
FSharp "..."
15+
|> typecheck
16+
|> shouldSucceed
17+
18+
// Full compile, produces assembly
19+
FSharp "..."
20+
|> compile
21+
|> shouldSucceed
22+
23+
// IL shape verification (needs compile)
24+
FSharp "..."
25+
|> compile
26+
|> verifyILContains [".method"]
27+
28+
// Compile + execute (needs EntryPoint and asExe)
29+
FSharp "..."
30+
|> compileExeAndRun
31+
|> shouldSucceed
32+
33+
// FSI in-process
34+
Fsx "..."
35+
|> eval
36+
|> withEvalValueEquals 2
37+
38+
// FSI subprocess
39+
Fsx "..."
40+
|> runFsi
41+
|> withStdOutContains "hello"
42+
```
43+
44+
Use `typecheck` for anything that doesn't need IL or runtime. Use `compile` only when you need the assembly (IL checks, interop). Use `compileExeAndRun` only when testing runtime behavior.
45+
46+
## Diagnostics
47+
48+
```fsharp
49+
// Exact diagnostic with location and message
50+
FSharp "..."
51+
|> typecheck
52+
|> shouldFail
53+
|> withDiagnostics [
54+
(Error 73, Line 3, Col 5, Line 3, Col 10, "internal error: ...")
55+
(Warning 20, Line 5, Col 1, Line 5, Col 8, "The result of this expression...")
56+
]
57+
58+
// Just error code (when message/location don't matter)
59+
FSharp "..."
60+
|> typecheck
61+
|> shouldFail
62+
|> withErrorCode 73
63+
```
64+
65+
## C# interop
66+
67+
```fsharp
68+
let csLib =
69+
CSharp """public interface I { void M(out int v); }"""
70+
|> withName "CsLib"
71+
72+
FSharp """
73+
open CsLib
74+
type T() = interface I with member _.M(v) = v <- 42
75+
"""
76+
|> withReferences [csLib]
77+
|> compile
78+
|> shouldSucceed
79+
```
80+
81+
## Regression test template
82+
83+
```fsharp
84+
// https://github.com/dotnet/fsharp/issues/NNNNN
85+
[<Fact>]
86+
let ``Issue NNNNN - brief description`` () =
87+
FSharp """
88+
// minimal repro from issue
89+
"""
90+
|> asLibrary
91+
|> typecheck
92+
|> shouldSucceed
93+
```
94+
95+
## Local helpers
96+
97+
If configuration becomes long and boilerplate, extract a local helper or use an existing one in the same module:
98+
99+
```fsharp
100+
// Local helper for repeated configuration
101+
let typecheckWithPreview source =
102+
source
103+
|> asLibrary
104+
|> withLangVersionPreview
105+
|> withOptions ["--test:ErrorRanges"]
106+
|> typecheck
107+
108+
// Usage
109+
FSharp "..."
110+
|> typecheckWithPreview
111+
|> shouldSucceed
112+
```
113+
114+
## Common mistakes
115+
116+
- Missing action: `FSharp "..." |> shouldSucceed` — won't compile, `shouldSucceed` expects `CompilationResult`
117+
- Missing `asExe` for runtime tests: `FSharp "..." |> compile |> run` fails on library output
118+
- Using `compile` when `typecheck` suffices — wastes CI time
119+
120+
## Platform attributes
121+
122+
Use `[<Fact>]` unless the test requires a specific runtime:
123+
- `[<FactForNETCOREAPP>]` — .NET Core only
124+
- `[<FactForDESKTOP>]` — .NET Framework only
125+
- `[<FactForWINDOWS>]` — Windows only
126+
127+
## Workflow
128+
129+
1. Write test with explicit pipeline
130+
2. Build: `dotnet build tests/FSharp.Compiler.ComponentTests/FSharp.Compiler.ComponentTests.fsproj -c Release`
131+
3. Run: `dotnet test --project tests/FSharp.Compiler.ComponentTests/FSharp.Compiler.ComponentTests.fsproj -c Release --no-build -- --filter-method "*TestName*"`
132+
4. Format: `dotnet fantomas <file.fs>`

.github/skills/fsharp-diagnostics/SKILL.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
name: fsharp-diagnostics
3-
description: "After modifying any F# file, use this to get quick parse errors and typecheck warnings+errors. Also finds symbol references and inferred type hints."
3+
description: "Always invoke after editing .fs files. Provides fast parse/typecheck feedback without a full dotnet build. Prefer this over dotnet build for iterative changes. Also finds symbol references and inferred type hints."
44
---
55

66
# F# Diagnostics

0 commit comments

Comments
 (0)