Skip to content

Create dotnet-desktop.yml#2

Merged
Cirzen merged 34 commits intomainfrom
feature/github-workflow
Jun 7, 2025
Merged

Create dotnet-desktop.yml#2
Cirzen merged 34 commits intomainfrom
feature/github-workflow

Conversation

@Cirzen
Copy link
Owner

@Cirzen Cirzen commented Jun 2, 2025

Add github workflow for building msix

@Cirzen Cirzen requested a review from Copilot June 2, 2025 17:53

This comment was marked as outdated.

@Cirzen Cirzen requested a review from Copilot June 6, 2025 19:39
Copy link
Contributor

Copilot AI left a 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 introduces a GitHub Actions workflow to build, test, sign, and package the WPF desktop application as an MSIX, and adjusts project and code files to support theming, logging, and packaging.

  • Add .github/workflows/dotnet-desktop.yml to automate build, test, and MSIX packaging.
  • Update .csproj and resource files to include theme XAML dictionaries and demo boards data.
  • Refactor application startup (App.xaml.cs), main window (MainWindow.xaml(.cs)), and introduce ILogger abstraction for unified logging.

Reviewed Changes

Copilot reviewed 74 out of 74 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
.github/workflows/dotnet-desktop.yml New CI workflow for building, testing, and packaging
Solver/Solver.csproj Include theme XAML as resources; configure demo boards
Solver/src/App.xaml.cs Load and apply Light/Dark theme dictionaries at startup
Solver/src/App.xaml Update merged dictionaries setup for dynamic theming
Solver/src/Resources/LightTheme.xaml Define light-mode brushes
Solver/src/Resources/DarkTheme.xaml Define dark-mode brushes
Solver/src/MainWindow.xaml XAML tweaks for dynamic resources and layout
Solver/src/MainWindow.xaml.cs Refactor status updates to use ILogger; demo boards
Solver/src/ILogger.cs Define ILogger; add Logger and FileLogger
Solver/src/BoardSolution.cs Add new BoardSolution class
Solver/src/DisplayableSolutionWord.cs Add documentation comment
Solver/src/Configuration/ConfigurationService.cs Expose AppName; configure default demo boards
Solver/src/Configuration/AppSettings.cs Define theme and demo boards settings
Solver/src/AssemblyInfo.cs Make internals visible to test project
Solver.Tests/WordFinderTests.cs Add XML documentation to tests
Solver.Tests/Solver.Tests.csproj New test project file
Solver.Tests/MockLogger.cs Import Solver namespace for ILogger
README.md Add overview, usage, and contribution instructions
Comments suppressed due to low confidence (2)

Solver/src/BoardSolution.cs:1

  • This file uses List<T> and HashSet<T> but lacks using System.Collections.Generic;, which will cause compilation errors. Add the appropriate using directive.
namespace Solver;

Solver/src/App.xaml.cs:35

  • [nitpick] The pack URI uses /src/Resources/…, but packaging may expect /Resources/… without the src folder. Verify the resource path matches the output assembly structure.
string themeUriString = theme == AppTheme.Dark 

_filePath = filePath;
try
{
Directory.CreateDirectory(Path.GetDirectoryName(_filePath));
Copy link

Copilot AI Jun 6, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Calling GetDirectoryName can return null (e.g., if path has no directory component), leading to ArgumentNullException. Add a null check before creating the directory.

Suggested change
Directory.CreateDirectory(Path.GetDirectoryName(_filePath));
var directoryPath = Path.GetDirectoryName(_filePath);
if (directoryPath != null)
{
Directory.CreateDirectory(directoryPath);
}

Copilot uses AI. Check for mistakes.
# Conflicts:
#	.gitignore
#	Solver.Tests/Solver.Tests.csproj
@Cirzen Cirzen merged commit 622e66d into main Jun 7, 2025
1 check passed
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.

1 participant