chore: prepare GoodBuddy 0.8.6
Cross-platform packages / Validate source (push) Has been cancelled
Cross-platform packages / ${{ matrix.platform }} ${{ matrix.arch }} (arm64, linux, ubuntu-24.04-arm) (push) Has been cancelled
Cross-platform packages / ${{ matrix.platform }} ${{ matrix.arch }} (arm64, macos, macos-15) (push) Has been cancelled
Cross-platform packages / ${{ matrix.platform }} ${{ matrix.arch }} (arm64, windows, windows-2025) (push) Has been cancelled
Cross-platform packages / ${{ matrix.platform }} ${{ matrix.arch }} (x64, linux, ubuntu-24.04) (push) Has been cancelled
Cross-platform packages / ${{ matrix.platform }} ${{ matrix.arch }} (x64, macos, macos-15-intel) (push) Has been cancelled
Cross-platform packages / ${{ matrix.platform }} ${{ matrix.arch }} (x64, windows, windows-2025) (push) Has been cancelled
Cross-platform packages / Publish GitHub Release (push) Has been cancelled

This commit is contained in:
lofyer
2026-08-07 13:11:45 +08:00
parent 32aba176c8
commit 2c715e5e81
40 changed files with 3079 additions and 358 deletions
@@ -71,6 +71,44 @@ describe('SelectedRuntimeManager', () => {
await manager.dispose()
})
it('isolates cached runtimes by effective project workspace', async () => {
const first = runtime()
const second = runtime()
const create = vi
.fn()
.mockResolvedValueOnce(first.value)
.mockResolvedValueOnce(second.value)
const manager = new SelectedRuntimeManager(create)
const selection = { provider: 'opencode' as const }
const projectOne = await manager.getRuntime(
selection,
'C:\\Projects\\One'
)
const projectOneAgain = await manager.getRuntime(
selection,
'C:\\Projects\\One'
)
const projectTwo = await manager.getRuntime(
selection,
'C:\\Projects\\Two'
)
expect(projectOneAgain).toBe(projectOne)
expect(projectTwo).not.toBe(projectOne)
expect(create).toHaveBeenNthCalledWith(
1,
selection,
'C:\\Projects\\One'
)
expect(create).toHaveBeenNthCalledWith(
2,
selection,
'C:\\Projects\\Two'
)
await manager.dispose()
})
it('retires cached runtimes when settings change', async () => {
const first = runtime()
const second = runtime()