@@ -9,14 +9,18 @@ concurrency:
99 group : ci-${{ github.ref }}
1010 cancel-in-progress : true
1111
12+ defaults :
13+ run :
14+ shell : bash
15+
1216jobs :
1317 build :
1418 runs-on : ${{ matrix.os }}-latest
1519 strategy :
1620 fail-fast : false
1721 matrix :
1822 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' ]
2024 exclude :
2125 - os : windows
2226 python-version : pypy-3.7
2933
3034 - name : Install the Python dependencies
3135 run : |
32- pip install --pre --upgrade --upgrade-strategy=eager .[test] codecov
36+ pip install .[test] codecov
3337
3438 - name : Install matplotlib
3539 if : ${{ matrix.os != 'macos' && matrix.python-version != 'pypy3' }}
@@ -52,29 +56,24 @@ jobs:
5256 pip check
5357
5458 - 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
6159 timeout-minutes : 15
62- if : ${{ startsWith( matrix.python-version, 'pypy' ) }}
60+ if : ${{ ! startsWith( matrix.python-version, 'pypy' ) && matrix.os != 'windows' }}
6361 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
6564
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' }}
6868 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
7271
7372 - name : Coverage
7473 run : |
7574 codecov
7675
77- check_docstrings :
76+ test_docs :
7877 runs-on : ${{ matrix.os }}-latest
7978 strategy :
8079 fail-fast : false
9190 - name : Base Setup
9291 uses : jupyterlab/maintainer-tools/.github/actions/base-setup@v1
9392
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+
94100 - name : Install the Python dependencies
95101 run : |
96- pip install --pre --upgrade --upgrade-strategy=eager .
102+ pip install .
97103 pip install velin
98104
99105 - name : Check Docstrings
@@ -116,7 +122,7 @@ jobs:
116122
117123 - name : Install the Python dependencies without debugpy
118124 run : |
119- pip install --pre --upgrade --upgrade-strategy=eager .[test]
125+ pip install .[test]
120126 pip uninstall --yes debugpy
121127
122128 - name : List installed packages
@@ -126,4 +132,84 @@ jobs:
126132 - name : Run the tests
127133 timeout-minutes : 10
128134 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