mirror of
https://github.com/danbulant/flying-squid
synced 2026-05-19 12:18:52 +00:00
31 lines
1 KiB
JavaScript
Executable file
31 lines
1 KiB
JavaScript
Executable file
const nodeIndex = parseInt(process.env.CIRCLE_NODE_INDEX)
|
|
const nodeTotal = parseInt(process.env.CIRCLE_NODE_TOTAL)
|
|
const parallel = process.env.CIRCLE_NODE_INDEX !== undefined && process.env.CIRCLE_NODE_TOTAL !== undefined
|
|
const mc = require('../../')
|
|
|
|
// expected values :
|
|
// (0,4,10) -> (0,2)
|
|
// (1,4,10) -> (3,5)
|
|
// (2,4,10) -> (6,8)
|
|
// (3,4,10) -> (9,9)
|
|
function testedRange (nodeIndex, nodeTotal, numberOfVersions) {
|
|
const nbFirsts = Math.ceil(numberOfVersions / nodeTotal)
|
|
if (nodeIndex === (nodeTotal - 1)) {
|
|
return {
|
|
firstVersion: nbFirsts * nodeIndex,
|
|
lastVersion: numberOfVersions - 1
|
|
}
|
|
}
|
|
|
|
return {
|
|
firstVersion: nodeIndex * nbFirsts,
|
|
lastVersion: (nodeIndex + 1) * nbFirsts - 1
|
|
}
|
|
}
|
|
console.log({ nodeIndex, nodeTotal, versions: mc.supportedVersions.length })
|
|
const { firstVersion, lastVersion } = parallel ? testedRange(nodeIndex, nodeTotal, mc.supportedVersions.length) : {
|
|
firstVersion: 0,
|
|
lastVersion: mc.supportedVersions.length - 1
|
|
}
|
|
|
|
module.exports = { firstVersion, lastVersion }
|