From 6b871151c2bb40658864ffe28fa97585594d380a Mon Sep 17 00:00:00 2001 From: JJ Kasper Date: Mon, 5 Sep 2022 13:01:04 -0700 Subject: [PATCH] Update to use specific swc version for PR stats --- .github/actions/next-stats-action/src/index.js | 12 ++++++++++-- .../next-stats-action/src/prepare/repo-setup.js | 14 +++++++++----- .../next-stats-action/src/run/get-dir-size.js | 4 ++++ 3 files changed, 23 insertions(+), 7 deletions(-) diff --git a/.github/actions/next-stats-action/src/index.js b/.github/actions/next-stats-action/src/index.js index e39200dd3bf9..be9284e0c273 100644 --- a/.github/actions/next-stats-action/src/index.js +++ b/.github/actions/next-stats-action/src/index.js @@ -72,11 +72,15 @@ if (!allowedActions.has(actionInfo.actionName) && !actionInfo.isRelease) { } /* eslint-disable-next-line */ actionInfo.commitId = await getCommitId(diffRepoDir) + let mainNextSwcVersion if (!actionInfo.skipClone) { if (actionInfo.isRelease) { logger('Release detected, resetting mainRepo to last stable tag') const lastStableTag = await getLastStable(mainRepoDir, actionInfo.prRef) + mainNextSwcVersion = { + '@next/swc-linux-x64-gnu': lastStableTag, + } if (!lastStableTag) throw new Error('failed to get last stable tag') console.log('using latestStable', lastStableTag) await checkoutRef(lastStableTag, mainRepoDir) @@ -130,9 +134,13 @@ if (!allowedActions.has(actionInfo.actionName) && !actionInfo.isRelease) { .catch(console.error) logger(`Linking packages in ${dir}`) - const pkgPaths = await linkPackages(dir) + const isMainRepo = dir === mainRepoDir + const pkgPaths = await linkPackages( + dir, + isMainRepo ? mainNextSwcVersion : undefined + ) - if (dir === mainRepoDir) mainRepoPkgPaths = pkgPaths + if (isMainRepo) mainRepoPkgPaths = pkgPaths else diffRepoPkgPaths = pkgPaths } diff --git a/.github/actions/next-stats-action/src/prepare/repo-setup.js b/.github/actions/next-stats-action/src/prepare/repo-setup.js index d06ce49d2dc1..1ff98843f197 100644 --- a/.github/actions/next-stats-action/src/prepare/repo-setup.js +++ b/.github/actions/next-stats-action/src/prepare/repo-setup.js @@ -53,7 +53,7 @@ module.exports = (actionInfo) => { } } }, - async linkPackages(repoDir = '') { + async linkPackages(repoDir = '', nextSwcPkg) { const pkgPaths = new Map() const pkgDatas = new Map() let pkgs @@ -109,11 +109,15 @@ module.exports = (actionInfo) => { ) } if (pkg === 'next') { - if (pkgDatas.get('@next/swc')) { - pkgData.dependencies['@next/swc'] = - pkgDatas.get('@next/swc').packedPkgPath + if (nextSwcPkg) { + Object.assign(pkgData.dependencies, nextSwcPkg) } else { - pkgData.files.push('native') + if (pkgDatas.get('@next/swc')) { + pkgData.dependencies['@next/swc'] = + pkgDatas.get('@next/swc').packedPkgPath + } else { + pkgData.files.push('native') + } } } await fs.writeFile( diff --git a/.github/actions/next-stats-action/src/run/get-dir-size.js b/.github/actions/next-stats-action/src/run/get-dir-size.js index 291f09fe7290..aa16e519382e 100644 --- a/.github/actions/next-stats-action/src/run/get-dir-size.js +++ b/.github/actions/next-stats-action/src/run/get-dir-size.js @@ -8,6 +8,10 @@ async function getDirSize(dir, ctx = { size: 0 }) { await Promise.all( subDirs.map(async (curDir) => { + // we use dev builds so the size isn't helpful to track + // here as it's not reflective of full releases + if (curDir.includes('@next/swc')) return + const fileStat = await fs.stat(curDir) if (fileStat.isDirectory()) { return getDirSize(curDir, ctx)