Skip to content

Conversation

@tarunramsinghani
Copy link
Contributor

@tarunramsinghani tarunramsinghani commented Nov 18, 2025

Context

This PR

  • updates the .net 8 to latest patch and
  • enhances the .NET build system in dev.sh to raise warning if newer patch is avaiable.

Description

see above


Risk Assessment (Low)

Low Risk - This change enhances existing functionality without breaking backward compatibility:

  • All existing dev.sh command signatures remain unchanged
  • Default behavior is preserved (still uses .NET 8.0 by default)
  • Warnings are informational only and don't affect build success
  • Code paths are well-tested and follow existing patterns

Unit Tests Added or Updated (No)

No unit tests required - this is a build script enhancement that follows existing patterns. The changes are primarily infrastructure improvements to the build system itself.


Additional Testing Performed

  • Cross-platform testing: Verified on macOS (bash 3.2), Linux, and Windows environments
  • Build validation: Confirmed all existing build commands work unchanged
  • Version detection: Tested automatic newer version detection and warning system
  • Pipeline compatibility: Verified warnings don't break Azure DevOps pipeline execution
  • Regression testing: Ensured all existing dev.sh functionality remains intact

Change Behind Feature Flag (No)

Feature flag is not applicable for build system infrastructure changes. This enhancement is internal to the development workflow and doesn't affect runtime agent behavior.


Tech Design / Approach

NA


Documentation Changes Required (No)

No external documentation changes needed. The dev.sh usage remains the same:

  • All existing command patterns work unchanged
  • New warning messages are self-explanatory
  • Internal code is well-commented

Logging Added/Updated (Yes)

NA

Telemetry Added/Updated (No)

NA


Rollback Scenario and Process (Yes)

NA

Dependency Impact Assessed and Regression Tested (Yes)

NA

Files Changed: 1 file, +141 insertions, -13 deletions
Impact Scope: Build system enhancement only, no runtime agent changes

- Upgrade dev.sh with sophisticated .NET version management system
  - Add support for channel-based and version-specific .NET installations
  - Implement automatic newer version detection and warnings
  - Update to .NET 8.0.416 SDK and 8.0.22 Runtime (latest stable)
  - Replace deprecated mapfile with bash 3.2 compatible implementation
  - Add comprehensive version resolution for runtime installations

- Improve Azure DevOps pipeline compatibility
  - Maintain existing ADO_ENABLE_LOGISSUE integration patterns
  - Ensure stderr warnings don't disrupt pipeline execution
  - Follow established ##vso[task.logissue] formatting standards

Key improvements:
- Enhanced version management with proactive update notifications
- Better macOS compatibility (bash 3.2 support)
- Maintained backward compatibility with existing build processes
- Future-ready channel-based .NET installation support
@tarunramsinghani
Copy link
Contributor Author

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

- Replace GitHub API with official .NET feeds (builds.dotnet.microsoft.com)
- Add fallback to ci.dot.net/public for reliability
- Use proper version file parsing (tail -n 1) matching dotnet-install.sh
- Fix version reporting accuracy (now shows correct current versions)
- Improve error handling with graceful fallbacks

This ensures version warnings are based on authoritative .NET release data
rather than unreliable GitHub repository tags.
@tarunramsinghani tarunramsinghani added the misc Miscellaneous Changes label Nov 18, 2025
@tarunramsinghani
Copy link
Contributor Author

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@tarunramsinghani tarunramsinghani marked this pull request as ready for review November 18, 2025 09:47
@tarunramsinghani tarunramsinghani requested review from a team as code owners November 18, 2025 09:47
@tarunramsinghani
Copy link
Contributor Author

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@tarunramsinghani
Copy link
Contributor Author

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@tarunramsinghani tarunramsinghani enabled auto-merge (squash) November 21, 2025 07:17
@tarunramsinghani tarunramsinghani merged commit d874a09 into master Nov 21, 2025
14 checks passed
@tarunramsinghani tarunramsinghani deleted the feature/dotnet8-build-improvements branch November 21, 2025 07:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

misc Miscellaneous Changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants