Skip to content

Conversation

@megahirt
Copy link
Collaborator

@megahirt megahirt commented Nov 4, 2025

Summary

  • convert SayMore, SayMoreTests, and AutoSegmenter projects to SDK-style csproj files
  • remove legacy packages.config files in favor of PackageReference
  • switch the build-and-test workflow to dotnet restore/build/test

Testing

  • GitHub Actions

This change is Reviewable

megahirt and others added 8 commits November 3, 2025 20:56
* Add Windows GitHub Actions workflow - build-test-installer-release

* Versioning is now handled via latest tag

* Publish test results in the PR

* rename SkipOnTeamCity to SkipOnCI
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings November 4, 2025 21:06
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 pull request converts several critical project files into git submodule references, fundamentally restructuring the repository:

Key Changes:

  • Replaces .csproj files with submodule references for SayMore, SayMoreTests, and AutoSegmenter projects
  • Removes packages.config files for both main and test projects
  • Converts the GitHub Actions workflow file to a submodule reference

Reviewed Changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
src/SayMore/SayMore.csproj Entire project file replaced with submodule reference
src/SayMoreTests/SayMoreTests.csproj Entire project file replaced with submodule reference
src/AutoSegmenter/AutoSegmenter.csproj Entire project file replaced with submodule reference
src/SayMore/packages.config Removed NuGet package configuration (71 packages)
src/SayMoreTests/packages.config Removed NuGet package configuration (70 packages)
.github/workflows/build-test-installer-release.yml Entire workflow file replaced with submodule reference
Comments suppressed due to low confidence (2)

src/SayMore/packages.config:1

  • Deleting packages.config removes all NuGet package references for the main project (77 packages including critical dependencies like L10NSharp, SIL libraries, and System packages). If migrating to PackageReference format, these dependencies must be added to the .csproj file instead, otherwise the project will not compile due to missing dependencies.
    src/SayMoreTests/packages.config:1
  • Deleting packages.config removes all NuGet package references for the test project (71 packages including NUnit, Moq, and all required testing dependencies). If migrating to PackageReference format, these dependencies must be added to the test .csproj file, otherwise the tests will not compile.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

<Import Project="..\..\packages\SIL.Windows.Forms.Keyboarding.16.1.0\build\SIL.Windows.Forms.Keyboarding.targets" Condition="Exists('..\..\packages\SIL.Windows.Forms.Keyboarding.16.1.0\build\SIL.Windows.Forms.Keyboarding.targets')" />
<Import Project="..\..\packages\SIL.Windows.Forms.16.1.0\build\SIL.Windows.Forms.targets" Condition="Exists('..\..\packages\SIL.Windows.Forms.16.1.0\build\SIL.Windows.Forms.targets')" />
</Project> No newline at end of file
@src/SayMore/SayMore.csproj No newline at end of file
Copy link

Copilot AI Nov 4, 2025

Choose a reason for hiding this comment

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

This change replaces the entire .csproj file with a git submodule reference. This will break the build system as MSBuild cannot process submodule references. The project file must remain as a regular file in the repository for the solution to compile.

Suggested change
@src/SayMore/SayMore.csproj
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net6.0</TargetFramework>
<RootNamespace>SayMore</RootNamespace>
</PropertyGroup>
<ItemGroup>
<!-- Add your project references, package references, etc. here -->
</ItemGroup>
</Project>

Copilot uses AI. Check for mistakes.
</Target>
-->
</Project> No newline at end of file
@src/SayMoreTests/SayMoreTests.csproj No newline at end of file
Copy link

Copilot AI Nov 4, 2025

Choose a reason for hiding this comment

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

This change replaces the entire test project file with a git submodule reference. This will break the test project and prevent running unit tests. The .csproj file must remain as a regular file in the repository.

Suggested change
@src/SayMoreTests/SayMoreTests.csproj
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<IsPackable>false</IsPackable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.6.3" />
<PackageReference Include="NUnit" Version="3.13.3" />
<PackageReference Include="NUnit3TestAdapter" Version="4.3.1" />
<PackageReference Include="coverlet.collector" Version="3.2.0" />
</ItemGroup>
</Project>

Copilot uses AI. Check for mistakes.
</Target>
-->
</Project> No newline at end of file
@src/AutoSegmenter/AutoSegmenter.csproj No newline at end of file
Copy link

Copilot AI Nov 4, 2025

Choose a reason for hiding this comment

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

This change replaces the AutoSegmenter project file with a git submodule reference. This will break the build for this project. The .csproj file must remain as a regular file in the repository.

Suggested change
@src/AutoSegmenter/AutoSegmenter.csproj
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Library</OutputType>
<TargetFramework>net6.0</TargetFramework>
<RootNamespace>AutoSegmenter</RootNamespace>
</PropertyGroup>
</Project>

Copilot uses AI. Check for mistakes.
output/releasenotes.download_info
draft: true
generate_release_notes: true
@.github/workflows/build-test-installer-release.yml No newline at end of file
Copy link

Copilot AI Nov 4, 2025

Choose a reason for hiding this comment

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

This change replaces the entire CI/CD workflow file with a git submodule reference. GitHub Actions cannot execute submodule references as workflows. This will completely break the automated build, test, and release pipeline.

Suggested change
@.github/workflows/build-test-installer-release.yml
name: Build, Test, Installer, Release
on:
push:
branches:
- main
pull_request:
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version: '18'
- name: Install dependencies
run: npm install
- name: Run tests
run: npm test
release:
needs: build
runs-on: ubuntu-latest
if: github.ref == 'refs/heads/main' && github.event_name == 'push'
steps:
- uses: actions/checkout@v3
- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version: '18'
- name: Install dependencies
run: npm install
- name: Build installer
run: npm run build:installer
- name: Release
run: npm run release

Copilot uses AI. Check for mistakes.
@megahirt megahirt marked this pull request as draft November 4, 2025 22:11
@megahirt
Copy link
Collaborator Author

megahirt commented Nov 5, 2025

closing in favor of #257

@megahirt megahirt closed this Nov 5, 2025
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