-
Notifications
You must be signed in to change notification settings - Fork 37
147 lines (139 loc) · 4.64 KB
/
test-ui.yml
File metadata and controls
147 lines (139 loc) · 4.64 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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
name: "Test UI"
on:
workflow_dispatch:
push:
branches:
- "main"
- "release-*"
pull_request:
paths:
- "*"
- '.github/workflows/test-ui.yml'
- "vuu-ui/**"
jobs:
lint-and-typecheck:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Install Node & dependencies
uses: ./.github/actions/setup-vuu-ui
- run: cd ./vuu-ui && npm run build:worker
- run: cd ./vuu-ui && npm run lint
- run: cd ./vuu-ui && npm run typecheck
vitest:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Install Node & dependencies
uses: ./.github/actions/setup-vuu-ui
- run: cd ./vuu-ui && npm run test:vite
# playwright:
# timeout-minutes: 10
# runs-on: ubuntu-latest
# steps:
# - name: Checkout
# uses: actions/checkout@v3
# - name: Install Node & dependencies
# uses: ./.github/actions/setup-vuu-ui
# - name: Install Playwright Chromium Browser
# run: cd ./vuu-ui && npx playwright install --with-deps chromium
# - name: Build Showcase
# run: cd ./vuu-ui && npm run showcase:build
# - name: Run tests
# run: |
# cd ./vuu-ui &&
# npm run test:playwright
# - uses: actions/upload-artifact@v4
# if: ${{ !cancelled() }}
# with:
# name: playwright-report
# path: ./vuu-ui/playwright/reports/
# retention-days: 10
cypress-component:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Install Node & dependencies
uses: ./.github/actions/setup-vuu-ui
- name: Build Worker
run: cd ./vuu-ui && npm run build:worker
- name: Run component tests in Chrome
uses: cypress-io/github-action@cdc8a6d83b09bdcd28c71950676526e9972e16f0
with:
component: true
install: false
working-directory: ./vuu-ui
browser: chrome
- name: Run component tests in Edge
uses: cypress-io/github-action@cdc8a6d83b09bdcd28c71950676526e9972e16f0
with:
component: true
install: false
working-directory: ./vuu-ui
browser: edge
playwright-component:
runs-on: ubuntu-latest
name: playwright-component (${{ matrix.browser }})
strategy:
matrix:
browser: [chromium, firefox, webkit]
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Install Node & dependencies
uses: ./.github/actions/setup-vuu-ui
- name: Build Worker
run: cd ./vuu-ui && npm run build:worker
- name: Install Playwright Browser
run: cd ./vuu-ui && npx playwright install --with-deps ${{ matrix.browser }}
- name: Run Playwright component tests
run: cd ./vuu-ui && npx playwright test --config=playwright-ct.config.ts --project=${{ matrix.browser }}
- name: Upload blob report to GitHub Actions Artifacts
uses: actions/upload-artifact@v5
if: always()
with:
name: blob-report-${{ matrix.browser }}
path: vuu-ui/blob-report/
retention-days: 10
playwright-merge-reports:
runs-on: ubuntu-latest
needs: playwright-component
if: always()
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Download blob reports from GitHub Actions Artifacts
uses: actions/download-artifact@v6
with:
path: all-blob-reports
pattern: blob-report-*
merge-multiple: true
- name: Install Node & dependencies
uses: ./.github/actions/setup-vuu-ui
- name: Merge into HTML and JSON Reports
run: PLAYWRIGHT_JSON_OUTPUT_FILE=playwright-report/test-results.json npx playwright merge-reports --reporter html,json ./all-blob-reports
- name: Upload Merged Playwright Report
uses: actions/upload-artifact@v5
if: always()
with:
name: playwright-report
path: playwright-report/
retention-days: 10
- name: Add Playwright Results to Summary
if: always()
run: ./.github/scripts/generate-playwright-summary.sh playwright-report/test-results.json >> $GITHUB_STEP_SUMMARY
# ensure the vuu example still builds
vuu-app-build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Install Node & dependencies
uses: ./.github/actions/setup-vuu-ui
- name: Build Vuu Libraries
run: cd ./vuu-ui && npm run build
- name: Build Vuu app
run: cd ./vuu-ui && npm run build:app