Add windows and macos platforms to the CI#2493
Add windows and macos platforms to the CI#2493jbonofre wants to merge 10 commits intoapache:mainfrom
Conversation
|
Adding MacOS has consequences, as it restricts parallel builds to 5 due to runner limits. When I merged this to my repo, dependabot triggered 30 builds, now my rebuild of main is starving until all of them have completed... One way could be to run MacOS builds only on merge and skip them in PR builds. |
|
@holgerfriedrich I'm still working on the PR to find the good "tuning". I will let you know when it's good to go. |
|
@holgerfriedrich the CI is green (I fixed the issues on Windows and MacOS platforms). I just have to update the GitHub configuration about the checks (the names changed). |
75a4a2e to
b6a2979
Compare
Use System.lineSeparator() instead of hardcoded \n so the test passes on Windows where PrintStream.println() outputs \r\n.
Replace fixed Thread.sleep with polling loop in MainLockingTest to handle slower CI runners, and increase Surefire forked process exit timeout to prevent JVM kill errors on Windows.
Remove blanket bundle:capabilities and bundle:classes calls (no args) that dump output for all bundles, causing I/O pipe deadlock on Windows. The targeted single-bundle calls already validate the commands.
- ConfigTest.listShortCommand: split assertion to avoid \r\n mismatch on Windows where line separators differ from \n - InstanceImpl.packageInZip: normalize zip entry paths to use forward slashes, fixing InstanceTest.packageCommand on Windows where Path.toString() uses backslashes
b6a2979 to
777e7a8
Compare
Use per-OS artifact names (maven-local-repo-$OS) so each matrix job uploads its own artifact instead of conflicting on a shared name. Also remove invalid 'key' parameter not supported by upload/download-artifact.
Disable PTY echo mode in SSH test channels to prevent garbled output on Windows that caused ConfigSshCommandSecurityTest assertion failures. Reduce forkedProcessExitTimeoutInSeconds from 120s to 30s to avoid wasting ~22 minutes on Windows where Karaf JVMs hang on shutdown.
ClientChannel does not have setPtyModes() - use createShellChannel() which returns ChannelShell, consistent with SshAction.java.
…before test The wrapper feature may already be installed on Windows, causing the test precondition to fail. Ensure it is uninstalled before asserting.
|
@holgerfriedrich the PR is ready. I have to update the checks on GitHub settings to have CI ok. |
@holgerfriedrich as discussed in #2476
Summary
EventPrinterTestto use platform-independent line separatorsMainLockingTest.testLostMasterLockAfterThresholdtiming issue on macOS (replace fixed sleep with polling)forkedProcessExitTimeoutInSecondsto prevent JVM kill errors on Windows.asf.yamlrequired status checks to match the new matrix job names