-
Notifications
You must be signed in to change notification settings - Fork 15
132 lines (108 loc) · 3.03 KB
/
ci_tests.yml
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
name: CI Tests
on:
push:
branches:
- main
tags:
- '*'
pull_request:
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Install node
uses: actions/setup-node@v2
with:
node-version: '18.x'
registry-url: 'https://registry.npmjs.org'
- name: Install Python
uses: actions/setup-python@v2
with:
python-version: '3.x'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install twine wheel jupyter-packaging "jupyterlab<4"
- name: Build
run: |
python setup.py sdist bdist_wheel
- name: Upload builds
uses: actions/upload-artifact@v3
with:
name: bqplot-image-gl-dist-${{ github.run_number }}
path: ./dist
visual-regression-tests:
runs-on: ubuntu-latest
needs: [build]
steps:
- uses: actions/checkout@v2
- uses: actions/download-artifact@v3
with:
name: bqplot-image-gl-dist-${{ github.run_number }}
path: ./dist
- name: Install node
uses: actions/setup-node@v2
with:
node-version: '18.x'
registry-url: 'https://registry.npmjs.org'
- name: Install Python
uses: actions/setup-python@v2
with:
python-version: '3.x'
- name: Install bqplot-image-gl and jupyterlab
run: |
echo $PWD
ls -al .
ls -al dist/
pip install dist/bqplot_image_gl*.whl "jupyterlab<4" "pytest-ipywidgets[solara]"
- name: Install playwright
run: |
playwright install chromium
- name: Run visual regression tests
run: |
pytest tests/ui
- name: Install Galata
run: |
yarn install
yarn playwright install chromium
working-directory: ui-tests
- name: Launch JupyterLab
run: yarn run start:detached
working-directory: ui-tests
- name: Wait for JupyterLab
uses: ifaxity/wait-on-action@v1
with:
resource: http-get://localhost:8988/api
timeout: 20000
- name: Run UI Tests
env:
TARGET_URL: http://127.0.0.1:8988
run: yarn run test
working-directory: ui-tests
- name: Upload UI Test artifacts
if: always()
uses: actions/upload-artifact@v3
with:
name: ui-test-output
path: |
ui-tests/playwright-report
ui-tests/test-results
test-results
tests:
uses: OpenAstronomy/github-actions-workflows/.github/workflows/tox.yml@v1
with:
coverage: codecov
envs: |
# Code style
- linux: codestyle
coverage: false
- linux: py36-test
- linux: py38-test
- macos: py37-test
- macos: py310-test
- windows: py36-test
- windows: py39-test
- linux: py38-notebooks
- macos: py37-notebooks
- windows: py39-notebooks