Skip to content

Conversation

@mattleibow
Copy link
Contributor

@mattleibow mattleibow commented Oct 30, 2025

Important

The base PR #739 must be merged first as it contains the base CI files.

The PR is mostly to do this work outside of code changes. As I work to get things building with newer tools and .NET versions, the SDKs start to make assumptions about the files. Instead of having to always exclude tests and remove files, this PR just moves all the non-source into the tests folder.

Real diff: git diff --name-status main dev/move-tests-out | grep -v "^R100"

M       .gitignore
M       apidoctools.sln
M       mdoc/.gitignore
M       mdoc/Makefile
M       monodoc/Makefile
A       tests/mdoc/.gitignore
R095    mdoc/mdoc.Test/CppCxFormatterMembersTests.cs    tests/mdoc/mdoc.Test/CppCxFormatterMembersTests.cs
R097    mdoc/mdoc.Test/CppCxFormatterTypesTests.cs      tests/mdoc/mdoc.Test/CppCxFormatterTypesTests.cs
R098    mdoc/mdoc.Test/CppFullFormatterTests.cs tests/mdoc/mdoc.Test/CppFullFormatterTests.cs
R095    mdoc/mdoc.Test/CppWinRtFormatterTests.cs        tests/mdoc/mdoc.Test/CppWinRtFormatterTests.cs
R095    mdoc/mdoc.Test/CppWinRtMembersTests.cs  tests/mdoc/mdoc.Test/CppWinRtMembersTests.cs
R093    mdoc/mdoc.Test/Enumeration/CecilBaseTest.cs     tests/mdoc/mdoc.Test/Enumeration/CecilBaseTest.cs
R099    mdoc/mdoc.Test/FSharp/FSharpFormatterTests.cs   tests/mdoc/mdoc.Test/FSharp/FSharpFormatterTests.cs
R097    mdoc/mdoc.Test/FSharp/FSharpUsageFormatterTests.cs      tests/mdoc/mdoc.Test/FSharp/FSharpUsageFormatterTests.cs
R096    mdoc/mdoc.Test/FormatterTests.cs        tests/mdoc/mdoc.Test/FormatterTests.cs
R099    mdoc/mdoc.Test/NullableReferenceTypesTests.cs   tests/mdoc/mdoc.Test/NullableReferenceTypesTests.cs
R093    mdoc/mdoc.Test/UWPDocUtilsTests.cs      tests/mdoc/mdoc.Test/UWPDocUtilsTests.cs
R098    mdoc/mdoc.Test/VBFormatterTests.cs      tests/mdoc/mdoc.Test/VBFormatterTests.cs
R079    mdoc/mdoc.Test/mdoc.Test.csproj tests/mdoc/mdoc.Test/mdoc.Test.csproj
R084    monodoc/Test/Monodoc.Test.csproj        tests/monodoc/Test/Monodoc.Test.csproj

This pull request introduces several improvements to the build and test infrastructure, reorganizes test project locations, and updates configuration files for better maintainability and consistency. The most important changes are grouped below.

Build and Test Automation:

  • Added new GitHub Actions workflows for building (.github/workflows/build.yml) and testing (.github/workflows/test.yml) the project on multiple operating systems and configurations, including steps for dependency setup, artifact upload, and Mono installation. [1] [2]

Project Structure and Configuration:

  • Moved test projects for mdoc and monodoc from their respective subdirectories to the tests directory, updating their paths in the solution file apidoctools.sln for improved organization.
  • Added a global.json file to pin the .NET SDK version to 6.0.428, ensuring consistent builds across environments.

Build System and Makefile Improvements:

  • Updated Makefile targets to use the -C option for running checks in subdirectories, simplifying command structure.
  • Modified monodoc/Makefile to use a configurable MONO variable and updated test DLL path to reflect the new test project location.

Gitignore Updates:

  • Moved mdoc/Test-related .gitignore entries from mdoc/.gitignore to tests/mdoc/.gitignore to match the new test directory structure. [1] [2]

@mattleibow mattleibow force-pushed the dev/move-tests-out branch 4 times, most recently from 76829f5 to 89f1784 Compare October 31, 2025 01:52
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