make the test suite and openapi generator platform-independent

Windows checkouts turned LF into CRLF (core.autocrlf=true), and several
tests plus the openapi generator hardcoded LF or POSIX path separators.
The result was a suite that was green on Linux CI but red on Windows, and
an openapi.json whose /api/hermes/* routes silently disappeared when
generated on Windows.

Pin the repository to LF via .gitattributes, strip shebangs before
Vite's SSR transform, and key route files by their posix path. Add a
manually triggered macOS verification workflow so the same checks run
on a self-hosted macOS runner.
This commit is contained in:
2026-10-20 11:17:34 +08:00
committed by trae-solo-agent
parent 8052bf5781
commit a1fff482bf
20 changed files with 251 additions and 48 deletions
+2 -2
View File
@@ -1302,7 +1302,7 @@ describe('session conversations controller', () => {
expect(localUpdateSessionMock).toHaveBeenCalledWith('session-1', {
model: 'grok-4',
provider: 'xai',
workspace: '/tmp/hermes-test/default/workspace',
workspace: join('/tmp/hermes-test/default', 'workspace'),
})
expect(bridgeSwitchSessionModelMock).not.toHaveBeenCalled()
expect(ctx.body).toEqual({ ok: true })
@@ -1331,7 +1331,7 @@ describe('session conversations controller', () => {
expect(localUpdateSessionMock).toHaveBeenCalledWith('session-1', {
model: 'claude-sonnet-4-6',
provider: 'claude-oauth',
workspace: '/tmp/hermes-test/travel/workspace',
workspace: join('/tmp/hermes-test/travel', 'workspace'),
})
expect(bridgeSwitchSessionModelMock).toHaveBeenCalledWith(
'session-1',