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};