Skip to content

fix: use '/' for the verbose logging file path - #2782

Merged
diogodanielsoaresferreira merged 3 commits into
TimefoldAI:mainfrom
diogodanielsoaresferreira:fix/verbose-logging-path-separator
Oct 27, 2026
Merged

diogodanielsoaresferreira merged 3 commits into
TimefoldAI:mainfrom
diogodanielsoaresferreira:fix/verbose-logging-path-separator

Conversation

@diogodanielsoaresferreira

@diogodanielsoaresferreira diogodanielsoaresferreira commented Oct 26, 2026 •

Copy link
Copy Markdown
Contributor

Fixes https://github.com/TimefoldAI/timefold-solver/actions/runs/40343643950/job/121644673141

VerboseLoggingExecutionProfile built QUARKUS_LOG_FILE_PATH with Path.of(...).toString(), which uses the host's separator. The value is a path inside the Linux solver container, so on Windows it came out as \tmp\timefold-execution-artifacts\verbose-logging\solver-debug.log and VerboseLoggingExecutionProfileTest.writesIntoItsOwnSubdirectoryOfTheArtifactsDirectory failed on Windows CI.

The path is now joined with / explicitly.

The path is passed to the Linux solver container as QUARKUS_LOG_FILE_PATH,
so it must not use the host's separator. Path.of(...).toString() produced
backslashes on Windows and broke VerboseLoggingExecutionProfileTest there.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟢 Approval recommended

The narrow fix matches the container path requirement and existing regression test, with no unresolved findings.

No open issues 🎉

What changed in this PR

This PR fixes verbose logging paths for Linux solver containers when the host runs Windows.

Changes:

  • Join the container log path with explicit / separators instead of host-dependent Path.of(...).
  • Remove the unused Path import.
File Description
service/​definition/​src/​main/​java/​ai/​timefold/​solver/​service/​definition/​impl/​executionprofile/​verboselogging/​VerboseLoggingExecutionProfile.java Use Linux separators for the container log path on all hosts.

Review effort: Balanced

@Christopher-Chianelli Christopher-Chianelli left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Would making LOG_FILE_PATH a Path and convert it to a string inside toEnvironment fix the issue? If so, I would prefer that fix so it can run inside a Windows container too.

@diogodanielsoaresferreira

Copy link
Copy Markdown
Contributor Author

Would making LOG_FILE_PATH a Path and convert it to a string inside toEnvironment fix the issue? If so, I would prefer that fix so it can run inside a Windows container too.

Path.toString() also uses the local machine's separator wherever it's called, so the test would also fail.

@rsynek rsynek left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Thank you!

@diogodanielsoaresferreira
diogodanielsoaresferreira merged commit 26976bc into TimefoldAI:main Oct 27, 2026
39 checks passed

This branch was successfully deployed

1 active deployment
internal — 44d0f942 Deployed Oct 27, 2026 by diogodanielsoaresferreira via approval_required #1113
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.

5 participants