Skip to content

Commit d51ccb3

Browse files
committed
fix: address PR review feedback for VS Code download reliability
- Remove cache restore-keys fallback to prevent loading incompatible versions - Add retry logic (3 attempts) to handle transient network failures - Add 5-second delay between retry attempts These changes address the high-priority concerns raised by roomote to make the CI pipeline more robust against network issues while ensuring version consistency.
1 parent 6902e3e commit d51ccb3

File tree

1 file changed

+23
-12
lines changed

1 file changed

+23
-12
lines changed

.github/workflows/code-qa.yml

Lines changed: 23 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -93,20 +93,31 @@ jobs:
9393
with:
9494
path: apps/vscode-e2e/.vscode-test
9595
key: ${{ runner.os }}-vscode-test-${{ env.VSCODE_VERSION }}
96-
restore-keys: |
97-
${{ runner.os }}-vscode-test-
98-
- name: Pre-download VS Code test runtime
96+
- name: Pre-download VS Code test runtime with retry
9997
working-directory: apps/vscode-e2e
10098
run: |
101-
node -e "
102-
const { downloadAndUnzipVSCode } = require('@vscode/test-electron');
103-
downloadAndUnzipVSCode({ version: process.env.VSCODE_VERSION || '1.101.2' })
104-
.then(() => console.log('✅ VS Code test runtime downloaded successfully'))
105-
.catch(err => {
106-
console.error('❌ Failed to download VS Code:', err);
107-
process.exit(1);
108-
});
109-
"
99+
for attempt in 1 2 3; do
100+
echo "Download attempt $attempt of 3..."
101+
node -e "
102+
const { downloadAndUnzipVSCode } = require('@vscode/test-electron');
103+
downloadAndUnzipVSCode({ version: process.env.VSCODE_VERSION || '1.101.2' })
104+
.then(() => {
105+
console.log('✅ VS Code test runtime downloaded successfully');
106+
process.exit(0);
107+
})
108+
.catch(err => {
109+
console.error('❌ Failed to download VS Code (attempt $attempt):', err);
110+
process.exit(1);
111+
});
112+
" && break || {
113+
if [ $attempt -eq 3 ]; then
114+
echo "All download attempts failed"
115+
exit 1
116+
fi
117+
echo "Retrying in 5 seconds..."
118+
sleep 5
119+
}
120+
done
110121
- name: Run integration tests
111122
working-directory: apps/vscode-e2e
112123
run: xvfb-run -a pnpm test:ci

0 commit comments

Comments
 (0)