-
Notifications
You must be signed in to change notification settings - Fork 2
Modernize Spark project to .NET 8.0, update dependencies, and add CI/CD automation #2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
|
@thesprockee 👋 This repository doesn't have Copilot instructions. With Copilot instructions, I can understand the repository better, work faster and produce higher quality PRs. I can generate a .github/copilot-instructions.md file for you automatically. Click here to open a pre-filled issue and assign it to me. I'll write the instructions, and then tag you for review. |
Co-authored-by: thesprockee <962164+thesprockee@users.noreply.github.com>
Co-authored-by: thesprockee <962164+thesprockee@users.noreply.github.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR modernizes the Spark project from .NET 5.0/.NET 6.0 to .NET 8.0, updating all dependencies to their latest compatible versions and replacing deprecated APIs with modern alternatives.
- Upgraded framework from .NET 5.0/.NET 6.0 to .NET 8.0 with C# 12 language features
- Updated all Microsoft packages to .NET 8.0 compatible versions
- Replaced deprecated WindowsAPICodePack-Shell with modern OpenFolderDialog API
Reviewed Changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| global.json | Updates SDK version from 5.0 to 8.0 |
| Spark.csproj | Modernizes target framework, language version, and all package references |
| SparkMSIX/SparkMSIX.wapproj | Updates Windows SDK BuildTools to latest version |
| Windows/Settings/UnifiedSettingsWindow.xaml.cs | Replaces deprecated WindowsAPICodePack with OpenFolderDialog |
| validate-modernization.sh | Adds validation script for modernization changes |
| MODERNIZATION.md | Provides comprehensive documentation of changes |
| string selectedPath = ""; | ||
| CommonOpenFileDialog folderBrowserDialog = new CommonOpenFileDialog | ||
|
|
||
| var folderBrowserDialog = new OpenFolderDialog |
Copilot
AI
Aug 9, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The OpenFolderDialog class requires a using statement for Microsoft.Win32 namespace. Verify that the appropriate using directive is added to ensure the code compiles correctly.
|
setup the github actions to build the executable, then refactor/add anything required to get it building. |
Co-authored-by: thesprockee <962164+thesprockee@users.noreply.github.com>
Co-authored-by: thesprockee <962164+thesprockee@users.noreply.github.com>
GitHub Actions workflow created in commit 474f461. The workflow includes two build jobs:
Both jobs build the Spark executable on Windows runners and upload artifacts that are retained for 30 days. The workflow triggers on pushes/PRs to main/master/develop branches and can be manually triggered. MSIX packaging was not included as it requires a code signing certificate to be stored as a GitHub secret. The README in |
Co-authored-by: thesprockee <962164+thesprockee@users.noreply.github.com>
Co-authored-by: thesprockee <962164+thesprockee@users.noreply.github.com>
This PR modernizes the Spark project from .NET 5.0/.NET 6.0 to .NET 8.0, updating all dependencies and replacing deprecated APIs to ensure compatibility with current development environments and CI/CD pipelines.
Key Changes
Framework Updates
net6.0-windows10.0.17763.0tonet8.0-windowsfor simplified targetingPackage Modernization
Updated all Microsoft packages to their .NET 8.0 compatible versions:
Microsoft.Data.Sqlite: 7.0.2 → 8.0.0Microsoft.Web.WebView2: 1.0.1518.46 → 1.0.2592.51Microsoft.Win32.SystemEvents: 7.0.0 → 8.0.0System.Configuration.ConfigurationManager: 7.0.0 → 8.0.0System.Management: 7.0.0 → 8.0.0Newtonsoft.Json: 13.0.2 → 13.0.3NAudio: 2.1.0 → 2.2.1Microsoft.Windows.SDK.BuildTools: 10.0.22621.1 → 10.0.26100.1API Modernization
Replaced the deprecated
WindowsAPICodePack-Shellpackage with the modern .NETOpenFolderDialogAPI:Build Configuration
validate-modernization.shto properly match XML elementsCI/CD Automation
Added GitHub Actions workflow (
.github/workflows/build.yml) for automated builds:Benefits
Testing
The modernization has been validated with an automated script that verifies:
Security
.gitignoreThe project remains a Windows-specific WPF application and requires a Windows environment with .NET 8.0 workloads for full compilation.
Fixes #1.
💬 Share your feedback on Copilot coding agent for the chance to win a $200 gift card! Click here to start the survey.