diff --git a/.github/workflows/pr-darwin-test.yml b/.github/workflows/pr-darwin-test.yml index e48140b9569..6fce35247a6 100644 --- a/.github/workflows/pr-darwin-test.yml +++ b/.github/workflows/pr-darwin-test.yml @@ -45,6 +45,23 @@ jobs: if: steps.cache-node-modules.outputs.cache-hit == 'true' run: tar -xzf .build/node_modules_cache/cache.tgz + - 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/.github/workflows/pr-linux-test.yml b/.github/workflows/pr-linux-test.yml index 1861abf3792..f0b593c5913 100644 --- a/.github/workflows/pr-linux-test.yml +++ b/.github/workflows/pr-linux-test.yml @@ -39,6 +39,8 @@ jobs: ./build/azure-pipelines/linux/apt-retry.sh sudo apt-get install -y pkg-config \ xvfb \ libgtk-3-0 \ + libx11-dev \ + libx11-xcb-dev \ libxkbfile-dev \ libkrb5-dev \ libgbm1 \ @@ -153,6 +155,19 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: Configure Electron sandbox permissions + if: ${{ inputs.electron_tests || inputs.remote_tests }} + run: | + set -e + ELECTRON_ROOT=.build/electron + if [ -f "$ELECTRON_ROOT/chrome-sandbox" ]; then + sudo chown root "$ELECTRON_ROOT/chrome-sandbox" + sudo chmod 4755 "$ELECTRON_ROOT/chrome-sandbox" + stat "$ELECTRON_ROOT/chrome-sandbox" + else + echo "Warning: chrome-sandbox not found at $ELECTRON_ROOT/chrome-sandbox" + fi + - name: 🧪 Run unit tests (Electron) if: ${{ inputs.electron_tests }} timeout-minutes: 15 diff --git a/src/vs/workbench/browser/parts/editor/editorGroupWatermark.ts b/src/vs/workbench/browser/parts/editor/editorGroupWatermark.ts index e7837b745fd..95b076c49e3 100644 --- a/src/vs/workbench/browser/parts/editor/editorGroupWatermark.ts +++ b/src/vs/workbench/browser/parts/editor/editorGroupWatermark.ts @@ -453,6 +453,8 @@ export class EditorGroupWatermark extends Disposable { private clear(): void { clearNode(this.shortcuts); this.transientDisposables.clear(); + this.currentDisposables.forEach(label => label.dispose()); + this.currentDisposables.clear(); } override dispose(): void {