@@ -106,12 +106,12 @@ jobs:
106
106
107
107
- name : Run local integration tests
108
108
run : |
109
- # Run integration tests marked as 'local ' and not 'slow '
109
+ # Run integration tests marked as 'integration ' and 'local '
110
110
xvfb-run -a pytest tests/integration/ -v \
111
111
--cov=stagehand \
112
112
--cov-report=xml \
113
113
--junit-xml=junit-integration-local.xml \
114
- -m "local and not slow " \
114
+ -m "integration and local " \
115
115
--tb=short \
116
116
--maxfail=5
117
117
env :
@@ -190,14 +190,14 @@ jobs:
190
190
name : integration-test-results-slow
191
191
path : junit-integration-slow.xml
192
192
193
- test-browserbase :
194
- name : Browserbase Integration Tests
193
+ test-integration-api :
194
+ name : API Integration Tests
195
195
runs-on : ubuntu-latest
196
196
needs : test-unit
197
197
if : |
198
198
github.event_name == 'schedule' ||
199
- contains(github.event.pull_request.labels.*.name, 'test-browserbase ') ||
200
- contains(github.event.pull_request.labels.*.name, 'browserbase ')
199
+ contains(github.event.pull_request.labels.*.name, 'test-api ') ||
200
+ contains(github.event.pull_request.labels.*.name, 'api ')
201
201
202
202
steps :
203
203
- uses : actions/checkout@v4
@@ -215,26 +215,26 @@ jobs:
215
215
# Install temporary Google GenAI wheel
216
216
pip install temp/google_genai-1.14.0-py3-none-any.whl
217
217
218
- - name : Run Browserbase tests
218
+ - name : Run API integration tests
219
219
run : |
220
- pytest tests/ -v \
220
+ pytest tests/integration/ -v \
221
221
--cov=stagehand \
222
222
--cov-report=xml \
223
- --junit-xml=junit-browserbase .xml \
224
- -m "browserbase " \
223
+ --junit-xml=junit-integration-api .xml \
224
+ -m "integration and api " \
225
225
--tb=short
226
226
env :
227
227
BROWSERBASE_API_KEY : ${{ secrets.BROWSERBASE_API_KEY }}
228
228
BROWSERBASE_PROJECT_ID : ${{ secrets.BROWSERBASE_PROJECT_ID }}
229
229
MODEL_API_KEY : ${{ secrets.MODEL_API_KEY }}
230
230
STAGEHAND_API_URL : ${{ secrets.STAGEHAND_API_URL }}
231
231
232
- - name : Upload Browserbase test results
232
+ - name : Upload API integration test results
233
233
uses : actions/upload-artifact@v4
234
234
if : always()
235
235
with :
236
- name : browserbase -test-results
237
- path : junit-browserbase .xml
236
+ name : api-integration -test-results
237
+ path : junit-integration-api .xml
238
238
239
239
test-performance :
240
240
name : Performance Tests
@@ -373,6 +373,11 @@ jobs:
373
373
with :
374
374
python-version : " 3.11"
375
375
376
+ - name : Install system dependencies
377
+ run : |
378
+ sudo apt-get update
379
+ sudo apt-get install -y xvfb
380
+
376
381
- name : Install dependencies
377
382
run : |
378
383
python -m pip install --upgrade pip
@@ -381,10 +386,11 @@ jobs:
381
386
# Install temporary Google GenAI wheel
382
387
pip install temp/google_genai-1.14.0-py3-none-any.whl
383
388
playwright install chromium
389
+ playwright install-deps chromium
384
390
385
391
- name : Run E2E tests
386
392
run : |
387
- pytest tests/ -v \
393
+ xvfb-run -a pytest tests/ -v \
388
394
--cov=stagehand \
389
395
--cov-report=xml \
390
396
--junit-xml=junit-e2e.xml \
@@ -395,6 +401,7 @@ jobs:
395
401
BROWSERBASE_PROJECT_ID : ${{ secrets.BROWSERBASE_PROJECT_ID || 'mock-project-id' }}
396
402
MODEL_API_KEY : ${{ secrets.MODEL_API_KEY || 'mock-model-key' }}
397
403
STAGEHAND_API_URL : ${{ secrets.STAGEHAND_API_URL || 'http://localhost:3000' }}
404
+ DISPLAY : " :99"
398
405
399
406
- name : Upload E2E test results
400
407
uses : actions/upload-artifact@v4
0 commit comments