Skip to content

Conversation

Copy link

Copilot AI commented Nov 27, 2025

The workflow previously only updated supported .NET versions but left EOL versions in the codebase indefinitely.

Changes

  • EOL removal from CodeDependencies.iss: Removes procedure definitions (Dependency_AddXXX, Dependency_AddXXXAsp, Dependency_AddXXXDesktop) for EOL versions
  • EOL removal from README.md: Strips documentation entries for EOL .NET versions
  • EOL handling in ExampleSetup.iss: Comments out function calls with // Removed: EOL version annotation
  • PR metadata: Includes removed EOL versions in commit message, title, and body

The workflow now processes eolVersions from Microsoft's releases-index.json:

foreach ($versionInfo in $eolVersions) {
  # Remove procedure from CodeDependencies.iss
  $issContent = $issContent -replace `
    "(?s)procedure Dependency_Add${procNameBase};.*?end;\r?\n\r?\n", ""
  
  # Remove from README.md
  $readmeContent = $readmeContent -replace $readmePattern, ""
  
  # Comment out in ExampleSetup.iss
  $exampleSetupContent = $exampleSetupContent -replace `
    "(?m)^(\s*)(?!//)Dependency_Add${procNameBase};", `
    "`${1}//Dependency_Add${procNameBase}; // Removed: EOL version"
}

Handles naming differences between .NET Core 3.1 (uses NetCore31) and .NET 5+ (uses DotNet{major}0).

Original prompt

update the check .net updates workflow to actively remove out of support versions of .net from the code as well as from the documentation.


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

Summary by CodeRabbit

  • Chores
    • Implemented automated end-of-life .NET version handling that identifies and removes outdated entries from configuration and documentation.
    • GitHub workflow now tracks removed EOL versions and includes them in pull request summaries and commit messages.
    • Documentation automatically updated to remove references to no-longer-supported .NET versions.

✏️ Tip: You can customize this high-level summary in your review settings.

@coderabbitai
Copy link

coderabbitai bot commented Nov 27, 2025

Caution

Review failed

The pull request is closed.

Walkthrough

Enhanced GitHub workflow to process .NET end-of-life (EOL) versions by identifying and removing corresponding procedures from setup configuration files and documentation. Tracks removed EOL versions and exposes removal details via workflow output and PR body annotations.

Changes

Cohort / File(s) Summary
GitHub Workflow
​.github/workflows/check-dotnet-updates.yml
Introduces EOL version processing logic to identify and remove obsolete .NET version procedures (NetCore31 for 3.1, DotNetX0 for others) from dependency and setup files; tracks removed versions and exposes via GitHub output; conditionally appends removal summary to PR body/commit message
Setup & Configuration Files
CodeDependencies.iss, ExampleSetup.iss
Removes EOL-specific runtime, ASP.NET, and Desktop procedures from CodeDependencies.iss; comments out corresponding procedure calls in ExampleSetup.iss
Documentation
README.md
Removes README entries related to identified EOL .NET versions

Sequence Diagram

sequenceDiagram
    participant WF as Workflow<br/>check-dotnet-updates
    participant CD as CodeDependencies.iss
    participant ES as ExampleSetup.iss
    participant RM as README.md
    participant Out as GitHub Output<br/>& PR Body

    WF->>WF: Identify eolVersions
    WF->>CD: Remove EOL procedures<br/>(NetCore31, DotNetX0, etc.)
    activate CD
    CD-->>WF: Procedures removed
    deactivate CD
    WF->>ES: Comment out EOL<br/>procedure calls
    activate ES
    ES-->>WF: Calls commented
    deactivate ES
    WF->>RM: Remove EOL version<br/>entries & comments
    activate RM
    RM-->>WF: Entries removed
    deactivate RM
    WF->>WF: Track removed<br/>versions list
    WF->>Out: Expose 'removed' output<br/>& update PR body<br/>with "Removed EOL" section
    activate Out
    Out-->>WF: Output & commit<br/>message updated
    deactivate Out
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~30–40 minutes

  • Workflow logic complexity: EOL version identification, multi-file procedure removal, and output generation with conditional formatting require careful validation
  • File pattern matching: Verify correct identification and removal of procedure names (NetCore31 vs. DotNetX0) across different setup files
  • Output formatting: Confirm GitHub output exposure and PR body/commit message construction, especially conditional appending of "Removed EOL" section
  • Edge cases: Ensure handling of scenarios with no EOL versions, partial removals, and documentation consistency

Poem

🐰 EOL versions fade, the workflow knows the way,
Old .NET procedures cleared, the setup files obey,
Documentation refreshed, the README sings so true,
With tracked removals and outputs shining through!

✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch copilot/update-dotnet-versions-workflow

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

Disabled knowledge base sources:

  • Jira integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 8ad6432 and 9691488.

📒 Files selected for processing (1)
  • .github/workflows/check-dotnet-updates.yml (3 hunks)

Comment @coderabbitai help to get the list of available commands and usage tips.

Copilot AI changed the title [WIP] Update workflow to remove out of support .NET versions Auto-remove EOL .NET versions in check-dotnet-updates workflow Nov 27, 2025
Copilot AI requested a review from sensslen November 27, 2025 11:18
Copilot finished work on behalf of sensslen November 27, 2025 11:18
@sensslen sensslen marked this pull request as ready for review November 27, 2025 11:38
@sensslen sensslen merged commit cee2e7d into master Nov 27, 2025
1 check was pending
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