-
-
Notifications
You must be signed in to change notification settings - Fork 4
74 lines (64 loc) · 2.33 KB
/
ci-e2e.yml
File metadata and controls
74 lines (64 loc) · 2.33 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
permissions:
contents: read
name: E2E tests
on:
workflow_call:
# Make this a reusable workflow, no value needed
# https://docs.github.com/en/actions/using-workflows/reusing-workflows
inputs:
compatibility-mode:
description: 'If “yes”, run test for compatibility with vscode'
default: 'no'
type: string
env:
TURBO_TELEMETRY_DISABLED: 1
VSCODE_WDIO_E2E_COMPATIBILITY_MODE: ${{ inputs.compatibility-mode }}
FORCE_COLOR: 3
jobs:
e2e:
name: E2E Tests - ${{ matrix.scenario }} (${{ matrix.os }}.${{ matrix.node-version }})
strategy:
fail-fast: false
matrix:
node-version: ['20']
os: ['ubuntu-latest', 'windows-latest', 'macos-latest']
scenario: ['basic', 'workspace']
runs-on: ${{ matrix.os }}
steps:
- name: 👷 Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
ssh-key: ${{ secrets.DEPLOY_KEY }}
- name: 🛠️ Setup workspace
uses: ./.github/actions/setup-workspace
with:
node-version: ${{ matrix.node-version }}
- name: ⬇️ Download Build Archive
uses: ./.github/actions/download-archive
with:
name: vscode-webdriverio
path: .
filename: vscode-webdriverio-build.zip
- name: 🗃️ Use cached vscode
uses: ./.github/actions/cache-vscode
with:
path: e2e/.wdio-vscode-service
- name: 🖥️ Set screen resolution
uses: ./.github/actions/set-screen-resolution
- name: 🧪 Run the e2e test
env:
E2E_SCENARIO: ${{ matrix.scenario }}
run: pnpm --filter @vscode-wdio/e2e run "test:e2e:${E2E_SCENARIO}"
shell: bash
- name: 📦 Upload Test Logs on Failure
uses: ./.github/actions/upload-archive
if: failure()
with:
name: ${{ inputs.compatibility-mode == 'yes' && 'compatibility' || 'e2e' }}-${{ matrix.scenario }}-logs-${{ matrix.os }}
output: ${{ inputs.compatibility-mode == 'yes' && 'compatibility' || 'e2e' }}-${{ matrix.scenario }}-logs-${{ matrix.os }}.zip
paths: e2e/logs
- name: 🐛 Debug Build
uses: stateful/vscode-server-action@ec99599aefe0bf96d14491e1d5f7e80d30e22247 # v1.1.0
if: failure()
with:
timeout: '180000'