@@ -9,14 +9,18 @@ concurrency:
9
9
group : ci-${{ github.ref }}
10
10
cancel-in-progress : true
11
11
12
+ defaults :
13
+ run :
14
+ shell : bash
15
+
12
16
jobs :
13
17
build :
14
18
runs-on : ${{ matrix.os }}-latest
15
19
strategy :
16
20
fail-fast : false
17
21
matrix :
18
22
os : [ubuntu, macos, windows]
19
- python-version : [ '3.7', '3.8', '3.9', '3. 10', 'pypy-3.7' ]
23
+ python-version : [ '3.7', '3.8', '3.10', 'pypy-3.7' ]
20
24
exclude :
21
25
- os : windows
22
26
python-version : pypy-3.7
29
33
30
34
- name : Install the Python dependencies
31
35
run : |
32
- pip install --pre --upgrade --upgrade-strategy=eager .[test] codecov
36
+ pip install .[test] codecov
33
37
34
38
- name : Install matplotlib
35
39
if : ${{ matrix.os != 'macos' && matrix.python-version != 'pypy3' }}
@@ -52,29 +56,24 @@ jobs:
52
56
pip check
53
57
54
58
- name : Run the tests
55
- timeout-minutes : 10
56
- if : ${{ !startsWith( matrix.python-version, 'pypy' ) }}
57
- run : |
58
- pytest ipykernel -vv -s --cov ipykernel --cov-branch --cov-report term-missing:skip-covered --durations 10
59
-
60
- - name : Run the tests on pypy
61
59
timeout-minutes : 15
62
- if : ${{ startsWith( matrix.python-version, 'pypy' ) }}
60
+ if : ${{ ! startsWith( matrix.python-version, 'pypy' ) && matrix.os != 'windows' }}
63
61
run : |
64
- pytest -vv ipykernel
62
+ args="-vv -raXxs --cov ipykernel --cov-branch --cov-report term-missing:skip-covered --durations 10 --color=yes"
63
+ pytest $args || pytest $args --lf
65
64
66
- - name : Build the docs
67
- if : ${{ matrix.os == 'ubuntu' && matrix.python-version == '3.9'}}
65
+ - name : Run the tests on pypy and windows
66
+ timeout-minutes : 15
67
+ if : ${{ startsWith( matrix.python-version, 'pypy' ) || matrix.os == 'windows' }}
68
68
run : |
69
- cd docs
70
- pip install -r requirements.txt
71
- make html
69
+ args="-vv -raXxs --durations 10 --color=yes"
70
+ pytest $args || pytest $args --lf
72
71
73
72
- name : Coverage
74
73
run : |
75
74
codecov
76
75
77
- check_docstrings :
76
+ test_docs :
78
77
runs-on : ${{ matrix.os }}-latest
79
78
strategy :
80
79
fail-fast : false
91
90
- name : Base Setup
92
91
uses : jupyterlab/maintainer-tools/.github/actions/base-setup@v1
93
92
93
+ - name : Build the docs
94
+ if : ${{ matrix.os == 'ubuntu' && matrix.python-version == '3.9'}}
95
+ run : |
96
+ cd docs
97
+ pip install -r requirements.txt
98
+ make html SPHINXOPTS="-W"
99
+
94
100
- name : Install the Python dependencies
95
101
run : |
96
- pip install --pre --upgrade --upgrade-strategy=eager .
102
+ pip install .
97
103
pip install velin
98
104
99
105
- name : Check Docstrings
@@ -116,7 +122,7 @@ jobs:
116
122
117
123
- name : Install the Python dependencies without debugpy
118
124
run : |
119
- pip install --pre --upgrade --upgrade-strategy=eager .[test]
125
+ pip install .[test]
120
126
pip uninstall --yes debugpy
121
127
122
128
- name : List installed packages
@@ -126,4 +132,84 @@ jobs:
126
132
- name : Run the tests
127
133
timeout-minutes : 10
128
134
run : |
129
- pytest ipykernel -vv -s --durations 10
135
+ args="-vv -raXxs --durations 10 --color=yes"
136
+ pytest $args || pytest $args --lf
137
+
138
+ test_miniumum_versions :
139
+ name : Test Minimum Versions
140
+ timeout-minutes : 20
141
+ runs-on : ubuntu-latest
142
+ steps :
143
+ - uses : actions/checkout@v2
144
+ - name : Base Setup
145
+ uses : jupyterlab/maintainer-tools/.github/actions/base-setup@v1
146
+ with :
147
+ python_version : " 3.7"
148
+ - name : Install miniumum versions
149
+ uses : jupyterlab/maintainer-tools/.github/actions/install-minimums@v1
150
+ - name : Run the unit tests
151
+ run : |
152
+ args="-vv -raXxs --durations 10 --color=yes"
153
+ pytest $args || pytest $args --lf
154
+
155
+ test_prereleases :
156
+ name : Test Prereleases
157
+ runs-on : ubuntu-latest
158
+ timeout-minutes : 20
159
+ steps :
160
+ - name : Checkout
161
+ uses : actions/checkout@v2
162
+ - name : Base Setup
163
+ uses : jupyterlab/maintainer-tools/.github/actions/base-setup@v1
164
+ - name : Install the Python dependencies
165
+ run : |
166
+ pip install --pre -e ".[test]"
167
+ - name : List installed packages
168
+ run : |
169
+ pip freeze
170
+ pip check
171
+ - name : Run the tests
172
+ run : |
173
+ args="-vv -raXxs --durations 10 --color=yes"
174
+ pytest $args || pytest $args --lf
175
+
176
+ make_sdist :
177
+ name : Make SDist
178
+ runs-on : ubuntu-latest
179
+ timeout-minutes : 20
180
+ steps :
181
+ - uses : actions/checkout@v2
182
+ - name : Base Setup
183
+ uses : jupyterlab/maintainer-tools/.github/actions/base-setup@v1
184
+ - name : Build SDist
185
+ run : |
186
+ pip install build
187
+ python -m build --sdist
188
+ - uses : actions/upload-artifact@v2
189
+ with :
190
+ name : " sdist"
191
+ path : dist/*.tar.gz
192
+
193
+ test_sdist :
194
+ runs-on : ubuntu-latest
195
+ needs : [make_sdist]
196
+ name : Install from SDist and Test
197
+ timeout-minutes : 20
198
+ steps :
199
+ - name : Base Setup
200
+ uses : jupyterlab/maintainer-tools/.github/actions/base-setup@v1
201
+ - name : Download sdist
202
+ uses : actions/download-artifact@v2
203
+ - name : Install From SDist
204
+ run : |
205
+ set -ex
206
+ cd sdist
207
+ mkdir test
208
+ tar --strip-components=1 -zxvf *.tar.gz -C ./test
209
+ cd test
210
+ pip install .[test]
211
+ - name : Run Test
212
+ run : |
213
+ cd sdist/test
214
+ args="-vv -raXxs --durations 10 --color=yes"
215
+ pytest $args || pytest $args --lf
0 commit comments