diff --git a/.github/workflows/pr-node-modules.yml b/.github/workflows/pr-node-modules.yml index 625c63f95ab..d1da867ac87 100644 --- a/.github/workflows/pr-node-modules.yml +++ b/.github/workflows/pr-node-modules.yml @@ -113,6 +113,23 @@ jobs: path: .build/node_modules_cache key: "node_modules-linux-${{ hashFiles('.build/packagelockhash') }}" + - name: Install build dependencies + if: steps.cache-node-modules.outputs.cache-hit != 'true' + working-directory: build + run: | + set -e + + for i in {1..5}; do # try 5 times + npm ci && break + if [ $i -eq 5 ]; then + echo "Npm install failed too many times" >&2 + exit 1 + fi + echo "Npm install failed $i, trying again..." + done + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: Install dependencies if: steps.cache-node-modules.outputs.cache-hit != 'true' run: | diff --git a/build/lib/tsb/builder.js b/build/lib/tsb/builder.js index 71c7a78e9a1..b149cf5ade6 100644 --- a/build/lib/tsb/builder.js +++ b/build/lib/tsb/builder.js @@ -418,7 +418,7 @@ function createTypeScriptBuilder(config, projectFile, cmd) { // print stats const headNow = process.memoryUsage().heapUsed; const MB = 1024 * 1024; - _log('[tsb]', `time: ${ansi_colors_1.default.yellow((Date.now() - t1) + 'ms')} + \nmem: ${ansi_colors_1.default.cyan(Math.ceil(headNow / MB) + 'MB')} ${ansi_colors_1.default.bgcyan('delta: ' + Math.ceil((headNow - headUsed) / MB))}`); + _log('[tsb]', `time: ${ansi_colors_1.default.yellow((Date.now() - t1) + 'ms')} + \nmem: ${ansi_colors_1.default.cyan(Math.ceil(headNow / MB) + 'MB')} ${ansi_colors_1.default.bgCyan('delta: ' + Math.ceil((headNow - headUsed) / MB))}`); headUsed = headNow; }); } diff --git a/build/lib/tsb/builder.ts b/build/lib/tsb/builder.ts index 3ca3a0d6ead..79ae06d73f7 100644 --- a/build/lib/tsb/builder.ts +++ b/build/lib/tsb/builder.ts @@ -462,7 +462,7 @@ export function createTypeScriptBuilder(config: IConfiguration, projectFile: str const MB = 1024 * 1024; _log( '[tsb]', - `time: ${colors.yellow((Date.now() - t1) + 'ms')} + \nmem: ${colors.cyan(Math.ceil(headNow / MB) + 'MB')} ${colors.bgcyan('delta: ' + Math.ceil((headNow - headUsed) / MB))}` + `time: ${colors.yellow((Date.now() - t1) + 'ms')} + \nmem: ${colors.cyan(Math.ceil(headNow / MB) + 'MB')} ${colors.bgCyan('delta: ' + Math.ceil((headNow - headUsed) / MB))}` ); headUsed = headNow; }); diff --git a/build/package-lock.json b/build/package-lock.json index 0c15a8215c8..8a01fc58fcb 100644 --- a/build/package-lock.json +++ b/build/package-lock.json @@ -44,6 +44,7 @@ "@vscode/iconv-lite-umd": "0.7.0", "@vscode/ripgrep": "^1.15.13", "@vscode/vsce": "2.20.1", + "ansi-colors": "^3.2.3", "byline": "^5.0.0", "debug": "^4.3.2", "electron-osx-sign": "^0.4.16", @@ -1427,15 +1428,13 @@ } }, "node_modules/ansi-colors": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz", - "integrity": "sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==", - "devOptional": true, - "dependencies": { - "ansi-wrap": "^0.1.0" - }, + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", + "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==", + "dev": true, + "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, "node_modules/ansi-gray": { @@ -3664,6 +3663,19 @@ "node": ">= 0.10" } }, + "node_modules/plugin-error/node_modules/ansi-colors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz", + "integrity": "sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "ansi-wrap": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/prebuild-install": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.1.tgz", diff --git a/build/package.json b/build/package.json index 6e2fca698ff..4096a1fdb30 100644 --- a/build/package.json +++ b/build/package.json @@ -38,6 +38,7 @@ "@vscode/iconv-lite-umd": "0.7.0", "@vscode/ripgrep": "^1.15.13", "@vscode/vsce": "2.20.1", + "ansi-colors": "^3.2.3", "byline": "^5.0.0", "debug": "^4.3.2", "electron-osx-sign": "^0.4.16",