51
51
strategy :
52
52
fail-fast : false
53
53
matrix :
54
- os : [ubuntu-latest, macos-latest, windows-latest]
55
- python-version : [3.7, 3.8, 3.9, "3.10"]
54
+ os : [ubuntu-latest, windows-latest, macos-latest]
55
+ python-version : ["3.7", "3.10"]
56
+ include :
57
+ - os : windows-latest
58
+ python-version : " 3.9"
59
+ - os : ubuntu-latest
60
+ python-version : " pypy-3.8"
61
+ - os : macos-latest
62
+ python-version : " 3.8"
56
63
57
64
env :
58
65
OS : ${{ matrix.os }}
@@ -72,17 +79,34 @@ jobs:
72
79
- name : Check types
73
80
run : mypy jupyter_client --exclude '\/tests|kernelspecapp|ioloop|runapp' --install-types --non-interactive
74
81
75
- - name : Run the tests with coverage
76
- run : pytest --cov jupyter_client -v jupyter_client
82
+ - name : Run the tests
83
+ if : ${{ !startsWith(matrix.python-version, 'pypy') && !startsWith(matrix.os, 'windows') }}
84
+ run : |
85
+ args="-vv --cov jupyter_client --cov-branch --cov-report term-missing:skip-covered --cov-fail-under 70"
86
+ python -m pytest $args || python -m pytest $args --lf
87
+ - name : Run the tests on pypy and windows
88
+ if : ${{ startsWith(matrix.python-version, 'pypy') || startsWith(matrix.os, 'windows') }}
89
+ run : |
90
+ python -m pytest -vv || python -m pytest -vv --lf
91
+
92
+ - name : Code coverage
93
+ run : codecov
94
+
95
+ docs :
96
+ runs-on : ubuntu-latest
97
+ steps :
98
+ - name : Checkout
99
+ uses : actions/checkout@v2
100
+
101
+ - name : Base Setup
102
+ uses : jupyterlab/maintainer-tools/.github/actions/base-setup@v1
77
103
78
104
- name : Build the docs
79
105
run : |
80
106
pip install -r requirements-doc.txt
107
+ pip install .
81
108
cd docs
82
- make html
83
-
84
- - name : Code coverage
85
- run : codecov
109
+ make html SPHINXOPTS="-W"
86
110
87
111
test_miniumum_verisons :
88
112
name : Test Minimum Versions
@@ -116,3 +140,43 @@ jobs:
116
140
- name : Run the tests
117
141
run : |
118
142
pytest -vv jupyter_client || pytest -vv jupyter_client --lf
143
+
144
+ make_sdist :
145
+ name : Make SDist
146
+ runs-on : ubuntu-latest
147
+ timeout-minutes : 20
148
+ steps :
149
+ - uses : actions/checkout@v2
150
+ - name : Base Setup
151
+ uses : jupyterlab/maintainer-tools/.github/actions/base-setup@v1
152
+ - name : Build SDist
153
+ run : |
154
+ pip install build
155
+ python -m build --sdist
156
+ - uses : actions/upload-artifact@v2
157
+ with :
158
+ name : " sdist"
159
+ path : dist/*.tar.gz
160
+
161
+ test_sdist :
162
+ runs-on : ubuntu-latest
163
+ needs : [make_sdist]
164
+ name : Install from SDist and Test
165
+ timeout-minutes : 20
166
+ steps :
167
+ - name : Base Setup
168
+ uses : jupyterlab/maintainer-tools/.github/actions/base-setup@v1
169
+ - name : Download sdist
170
+ uses : actions/download-artifact@v2
171
+ - name : Install From SDist
172
+ run : |
173
+ set -ex
174
+ cd sdist
175
+ mkdir test
176
+ tar --strip-components=1 -zxvf *.tar.gz -C ./test
177
+ cd test
178
+ pip install .[test]
179
+ - name : Run Test
180
+ run : |
181
+ cd sdist/test
182
+ pytest -vv || pytest -vv --lf
0 commit comments