Skip to content

Conversation

@mattleibow
Copy link
Contributor

Important

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

This pull request improves cross-platform support for building and testing the project, particularly for Windows environments. The most significant changes include updates to CI workflows to add Windows and Ubuntu build/test jobs, refactoring Makefiles to handle OS-specific commands, and fixing path handling in tests to work correctly on Windows.

CI/CD and Build/Test Workflow Improvements:

  • Updated .github/workflows/build.yml and .github/workflows/test.yml to run jobs on Windows, Ubuntu, and macOS, with OS-specific steps for installing Mono. This ensures CI coverage across all major platforms. [1] [2] [3]

Makefile Cross-Platform Refactoring:

  • Refactored mdoc/Makefile and monodoc/Makefile to use conditional logic for Mono invocation and file operations, allowing builds and tests to run natively on Windows without requiring Mono, and handling differences in commands and file paths. [1] [2]
  • Improved diff commands in mdoc/Makefile to strip trailing carriage returns on Windows, preventing spurious test failures due to line ending differences.

Test and Build Artifact Generation:

  • Added conditional rules in mdoc/Makefile for generating or copying test DLLs depending on the OS, ensuring that tests using F#, VB.NET, and C# artifacts work correctly on both Windows and non-Windows environments.

Path Handling Fixes:

  • Updated MDocFileSourceTests.cs to handle file paths correctly on Windows by using backslashes instead of forward slashes, ensuring tests pass regardless of platform.

General Makefile Improvements:

  • Simplified directory change commands in Makefile for running checks, improving readability and consistency.

@mattleibow mattleibow force-pushed the dev/ci-windows branch 3 times, most recently from 9d3eb3d to 8c41485 Compare October 31, 2025 01:51
@mattleibow mattleibow force-pushed the dev/ci-windows branch 2 times, most recently from c1a7ba0 to 1db1bad Compare October 31, 2025 02:49
Currently the tests can only run on macOS
@mattleibow mattleibow force-pushed the dev/ci-windows branch 2 times, most recently from 22d97b5 to 55ec44b Compare October 31, 2025 03:18
@mattleibow mattleibow force-pushed the dev/ci-windows branch 2 times, most recently from 3773c76 to 0a15db2 Compare October 31, 2025 14:30
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