Merge pull request #3115 from deepseek-harness/fix/remove-transform-corpus

fix(ci): Windows pnpm setup isolation and spawn budget alignment
This commit is contained in:
Chinesezjc
2026-08-27 11:14:03 +08:00
committed by GitHub
10 changed files with 84 additions and 78 deletions
+21 -2
View File
@@ -5,7 +5,7 @@ import { describe, expect, it } from 'vitest'
const root = resolve(import.meta.dirname, '..')
const runnerPrivatePnpmDestination = '${{ runner.temp }}/setup-pnpm'
const nativeWindowsPnpmDestination = '${{ runner.temp }}/setup-pnpm-js'
const nativeWindowsPnpmDestination = '${{ runner.temp }}/setup-pnpm-js-${{ github.run_id }}-${{ github.run_attempt }}-${{ github.job }}'
describe('CI workflow', () => {
it('isolates every pnpm action setup destination per runner', () => {
@@ -36,6 +36,25 @@ describe('CI workflow', () => {
}
})
it('isolates the python SDK exe pnpm setup destination per job', () => {
const workflow: unknown = yaml.load(readFileSync(resolve(root, '.github/workflows/build-exe-for-python-sdk.yml'), 'utf8'))
if (!isRecord(workflow) || !isRecord(workflow.jobs)) throw new TypeError('build-exe-for-python-sdk.yml must define jobs')
const setups: Array<{ step: unknown }> = []
for (const job of Object.values(workflow.jobs)) {
if (!isRecord(job) || !Array.isArray(job.steps)) continue
for (const step of job.steps) {
if (!isRecord(step) || typeof step.uses !== 'string' || !step.uses.startsWith('pnpm/action-setup@')) continue
setups.push({ step })
}
}
expect(setups.length).toBeGreaterThan(0)
for (const { step } of setups) {
expect(step).toMatchObject({
with: { dest: nativeWindowsPnpmDestination },
})
}
})
it('keeps required Wine and split native Windows jobs with failover, plus a master-only standby', () => {
const workflow = loadWorkflow('.github/workflows/ci.yml')
const masterWorkflow = loadWorkflow('.github/workflows/ci-master.yml')
@@ -115,7 +134,7 @@ describe('CI workflow', () => {
))
const nativeTestCommand = nativeTestCommands.map(step => step.run).join('\n')
expect(nativeTestCommand).toContain('--no-file-parallelism')
expect(nativeTestCommand).toContain('--testTimeout 30000')
expect(nativeTestCommand).toContain('--testTimeout 90000')
expect(nativeTestCommand).toContain('tool-pwsh/tests/loader.spec.ts')
expect(nativeTestCommand).toContain('workflow-worker-thread.spec.ts')
+4 -4
View File
@@ -105,7 +105,7 @@ probePromise()
rm(configPath, { force: true }),
])
}
}, 20_000)
}, 90_000)
it('runs JavaScript compatibility and nursery rules', async () => {
const suffix = randomUUID()
@@ -152,7 +152,7 @@ export const longProbe = 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 +
rm(configPath, { force: true }),
])
}
}, 20_000)
}, 90_000)
it('keeps the complete stylistic contract in Oxlint', async () => {
const oxlintPath = join(repositoryRoot, '.oxlintrc.json')
@@ -252,7 +252,7 @@ export const longProbe = 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 +
rm(configPath, { force: true }),
])
}
}, 20_000)
}, 90_000)
it('accepts an ignored-only staged selection', () => {
const result = runOxlint([
@@ -371,6 +371,6 @@ export const longProbe = 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 +
await rm(directory, { recursive: true, force: true })
}
},
20_000,
90_000,
)
})