Closed squarefrog closed 1 year ago
Actually, I think I see the issue on DangerJS:
const sendDSLToSubprocess = () => {
if (exec.options.passURLForDSL) {
const resultsPath = join(tmpdir(), "danger-dsl.json")
writeFileSync(resultsPath, dslJSONString, "utf8")
const url = `danger://dsl/${resultsPath}`
d(`Started passing in STDIN via the URL: ${url}`)
child.stdin.write(url)
child.stdin.end()
} else {
d(`Started passing in STDIN`)
child.stdin.write(dslJSONString)
child.stdin.end()
}
d(`Passed DSL in via STDIN`)
}
After more research, it's clear this is an issue in danger-js
so I've opened an issue there instead.
We're still struggling with concurrent Danger runs, even after the changes in https://github.com/danger/swift/pull/530
We get a little further this time, but somehow either Danger JS or Danger Swift is trying to write to the same location. I've run a test with two pipelines on the mac, with debug enabled.
The first fails:
While the second completes fine:
Notice theres a URL which is identical in both runs:
danger://dsl//var/folders/0h/c4gthkj13sz3hb1z4fwpnd3c0000gp/T/danger-dsl.json
I'm happy to look into this, but I'm not entirely sure if this a problem with Danger JS or Swift. If you wouldn't mind taking a look and giving me a clue, I'd get cracking.