@@ -85,47 +85,64 @@ jobs:
85
85
86
86
- name : Run integration tests
87
87
run : |
88
- # Try to run integration tests, but don't fail the build if they fail
89
- echo "Attempting to run integration tests..."
88
+ echo "Running integration tests..."
90
89
91
- # Set Chrome-related environment variables
90
+ # Set Chrome-related environment variables and unique user data dir
92
91
if [ "${{ runner.os }}" = "Linux" ]; then
93
92
export CHROME_BIN=$(which google-chrome || which chromium-browser || which chromium)
93
+ export CHROME_USER_DATA_DIR="/tmp/chrome-user-data-$$"
94
94
echo "Using Chrome at: $CHROME_BIN"
95
- if xvfb-run --auto-servernum --server-args='-screen 0 1920x1080x24' npm run selenium:run-tests; then
96
- echo "✅ Integration tests passed successfully!"
97
- else
98
- echo "❌ Integration tests failed - likely due to ChromeDriver 404 download issue"
99
- echo "This is a known issue with vscode-extension-tester ChromeDriver downloads"
100
- echo "Unit tests and webview tests are still passing ✅"
101
- fi
95
+ echo "Using user data dir: $CHROME_USER_DATA_DIR"
96
+ xvfb-run --auto-servernum --server-args='-screen 0 1920x1080x24' npm run selenium:run-tests:connections
97
+ xvfb-run --auto-servernum --server-args='-screen 0 1920x1080x24' npm run selenium:run-tests:ingestr
102
98
elif [ "${{ runner.os }}" = "macOS" ]; then
103
99
# Try different Chrome locations on macOS
104
100
if [ -f "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" ]; then
105
101
export CHROME_BIN="/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"
106
102
elif [ -f "/Applications/Chromium.app/Contents/MacOS/Chromium" ]; then
107
103
export CHROME_BIN="/Applications/Chromium.app/Contents/MacOS/Chromium"
108
104
fi
105
+ export CHROME_USER_DATA_DIR="/tmp/chrome-user-data-$$"
109
106
echo "Using Chrome at: $CHROME_BIN"
110
- if npm run selenium:run-tests; then
111
- echo "✅ Integration tests passed successfully!"
112
- else
113
- echo "❌ Integration tests failed - likely due to ChromeDriver 404 download issue"
114
- echo "This is a known issue with vscode-extension-tester ChromeDriver downloads"
115
- echo "Unit tests and webview tests are still passing ✅"
116
- fi
107
+ echo "Using user data dir: $CHROME_USER_DATA_DIR"
108
+ npm run selenium:run-tests:connections
109
+ npm run selenium:run-tests:ingestr
117
110
else
118
111
# Windows - let extension tester handle Chrome detection
119
- if npm run selenium:run-tests; then
120
- echo "✅ Integration tests passed successfully!"
121
- else
122
- echo "❌ Integration tests failed - likely due to ChromeDriver 404 download issue"
123
- echo "This is a known issue with vscode-extension-tester ChromeDriver downloads"
124
- echo "Unit tests and webview tests are still passing ✅"
112
+ export CHROME_USER_DATA_DIR="C:\\temp\\chrome-user-data-$$"
113
+ npm run selenium:run-tests:connections
114
+ npm run selenium:run-tests:ingestr
115
+ fi
116
+ shell : bash
117
+
118
+ - name : Run webview integration tests
119
+ run : |
120
+ echo "Running webview integration tests..."
121
+
122
+ # Set Chrome-related environment variables and unique user data dir
123
+ if [ "${{ runner.os }}" = "Linux" ]; then
124
+ export CHROME_BIN=$(which google-chrome || which chromium-browser || which chromium)
125
+ export CHROME_USER_DATA_DIR="/tmp/chrome-user-data-webview-$$"
126
+ echo "Using Chrome at: $CHROME_BIN"
127
+ echo "Using user data dir: $CHROME_USER_DATA_DIR"
128
+ xvfb-run --auto-servernum --server-args='-screen 0 1920x1080x24' npm run selenium:run-tests:webview
129
+ elif [ "${{ runner.os }}" = "macOS" ]; then
130
+ # Try different Chrome locations on macOS
131
+ if [ -f "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" ]; then
132
+ export CHROME_BIN="/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"
133
+ elif [ -f "/Applications/Chromium.app/Contents/MacOS/Chromium" ]; then
134
+ export CHROME_BIN="/Applications/Chromium.app/Contents/MacOS/Chromium"
125
135
fi
136
+ export CHROME_USER_DATA_DIR="/tmp/chrome-user-data-webview-$$"
137
+ echo "Using Chrome at: $CHROME_BIN"
138
+ echo "Using user data dir: $CHROME_USER_DATA_DIR"
139
+ npm run selenium:run-tests:webview
140
+ else
141
+ # Windows - let extension tester handle Chrome detection
142
+ export CHROME_USER_DATA_DIR="C:\\temp\\chrome-user-data-webview-$$"
143
+ npm run selenium:run-tests:webview
126
144
fi
127
145
shell : bash
128
- continue-on-error : true
129
146
130
147
- name : Store UI test logs
131
148
uses : actions/upload-artifact@v4
0 commit comments