Add Windows support for step-runner

This change enables running make test on Windows by:

  1. Cross-platform test utilities: Created Go binaries to replace shell-dependent commands (echo-text, exit-with-code, sleep, write-output, write-export, copy-file) used in tests.

  2. Automatic path conversion: Added logic to convert Unix-style paths to Windows paths for executable steps, allowing step YAML files to use Unix conventions across platforms.

  3. Script step guard: Script steps explicitly fail on Windows with a clear error message, as they require shell support that varies across Windows environments.

  4. Windows CI testing: Added go-test-windows job to GitLab CI to run the full test suite on Windows using Git Bash and MinGW.

  5. Test infrastructure updates: Modified integration tests and test utilities to handle platform-specific differences like .exe extensions and file paths.

The goal is to ensure Windows executable steps work correctly and have good test coverage, while deferring Windows script step support for future work.

Fixes #216

Edited by Joe Burnett

Merge request reports

Loading