##// END OF EJS Templates
pin pytest differently
Matthias Bussonnier -
Show More
@@ -1,98 +1,98
1 1 name: Run tests
2 2
3 3 on:
4 4 push:
5 5 branches:
6 6 - main
7 7 - '*.x'
8 8 pull_request:
9 9 # Run weekly on Monday at 1:23 UTC
10 10 schedule:
11 11 - cron: '23 1 * * 1'
12 12 workflow_dispatch:
13 13
14 14
15 15 jobs:
16 16 test:
17 17 runs-on: ${{ matrix.os }}
18 18 strategy:
19 19 fail-fast: false
20 20 matrix:
21 21 os: [ubuntu-latest, windows-latest]
22 22 python-version: ["3.10", "3.11", "3.12"]
23 23 deps: [test_extra]
24 24 # Test all on ubuntu, test ends on macos
25 25 include:
26 26 - os: macos-latest
27 27 python-version: "3.10"
28 28 deps: test_extra
29 29 - os: macos-latest
30 30 python-version: "3.11"
31 31 deps: test_extra
32 32 # Tests minimal dependencies set
33 33 - os: ubuntu-latest
34 34 python-version: "3.11"
35 35 deps: test
36 36 # Tests latest development Python version
37 37 - os: ubuntu-latest
38 38 python-version: "3.13-dev"
39 39 deps: test
40 40 # Installing optional dependencies stuff takes ages on PyPy
41 41 - os: ubuntu-latest
42 42 python-version: "pypy-3.10"
43 43 deps: test
44 44 - os: windows-latest
45 45 python-version: "pypy-3.10"
46 46 deps: test
47 47 - os: macos-latest
48 48 python-version: "pypy-3.10"
49 49 deps: test
50 50
51 51 steps:
52 52 - uses: actions/checkout@v3
53 53 - name: Set up Python ${{ matrix.python-version }}
54 54 uses: actions/setup-python@v4
55 55 with:
56 56 python-version: ${{ matrix.python-version }}
57 57 cache: pip
58 58 cache-dependency-path: |
59 59 setup.cfg
60 60 - name: Install latex
61 61 if: runner.os == 'Linux' && matrix.deps == 'test_extra'
62 62 run: echo "disable latex for now, issues in mirros" #sudo apt-get -yq -o Acquire::Retries=3 --no-install-suggests --no-install-recommends install texlive dvipng
63 63 - name: Install and update Python dependencies (binary only)
64 64 if: ${{ ! contains( matrix.python-version, 'dev' ) }}
65 65 run: |
66 66 python -m pip install --only-binary ':all:' --upgrade pip setuptools wheel build
67 67 python -m pip install --only-binary ':all:' --no-binary curio --upgrade -e .[${{ matrix.deps }}]
68 python -m pip install --only-binary ':all:' --upgrade check-manifest pytest-cov pytest-json-report
68 python -m pip install --only-binary ':all:' --upgrade check-manifest pytest-cov pytest-json-report 'pytest<8'
69 69 - name: Install and update Python dependencies (dev?)
70 70 if: ${{ contains( matrix.python-version, 'dev' ) }}
71 71 run: |
72 72 python -m pip install --pre --upgrade pip setuptools wheel build
73 73 python -m pip install --pre --extra-index-url https://pypi.anaconda.org/scientific-python-nightly-wheels/simple --no-binary curio --upgrade -e .[${{ matrix.deps }}]
74 74 python -m pip install --pre --extra-index-url https://pypi.anaconda.org/scientific-python-nightly-wheels/simple --upgrade check-manifest pytest-cov pytest-json-report
75 75 - name: Try building with Python build
76 76 if: runner.os != 'Windows' # setup.py does not support sdist on Windows
77 77 run: |
78 78 python -m build
79 79 shasum -a 256 dist/*
80 80 - name: Check manifest
81 81 if: runner.os != 'Windows' # setup.py does not support sdist on Windows
82 82 run: check-manifest
83 83 - name: pytest
84 84 env:
85 85 COLUMNS: 120
86 86 run: |
87 87 pytest --color=yes -raXxs ${{ startsWith(matrix.python-version, 'pypy') && ' ' || '--cov --cov-report=xml' }} --json-report --json-report-file=./report-${{ matrix.python-version }}-${{runner.os}}.json --maxfail=15
88 88 - uses: actions/upload-artifact@v3
89 89 with:
90 90 name: upload pytest timing reports as json
91 91 path: |
92 92 ./report-*.json
93 93
94 94 - name: Upload coverage to Codecov
95 95 uses: codecov/codecov-action@v3
96 96 with:
97 97 name: Test
98 98 files: /home/runner/work/ipython/ipython/coverage.xml
@@ -1,116 +1,115
1 1 [metadata]
2 2 name = ipython
3 3 version = attr: IPython.core.release.__version__
4 4 url = https://ipython.org
5 5 description = IPython: Productive Interactive Computing
6 6 long_description_content_type = text/x-rst
7 7 long_description = file: long_description.rst
8 8 license_file = LICENSE
9 9 project_urls =
10 10 Documentation = https://ipython.readthedocs.io/
11 11 Funding = https://numfocus.org/
12 12 Source = https://github.com/ipython/ipython
13 13 Tracker = https://github.com/ipython/ipython/issues
14 14 keywords = Interactive, Interpreter, Shell, Embedding
15 15 platforms = Linux, Mac OSX, Windows
16 16 classifiers =
17 17 Framework :: IPython
18 18 Framework :: Jupyter
19 19 Intended Audience :: Developers
20 20 Intended Audience :: Science/Research
21 21 License :: OSI Approved :: BSD License
22 22 Programming Language :: Python
23 23 Programming Language :: Python :: 3
24 24 Programming Language :: Python :: 3 :: Only
25 25 Topic :: System :: Shells
26 26
27 27 [options]
28 28 packages = find:
29 29 python_requires = >=3.10
30 30 zip_safe = False
31 31 install_requires =
32 32 colorama; sys_platform == "win32"
33 33 decorator
34 34 exceptiongroup; python_version<'3.11'
35 35 jedi>=0.16
36 36 matplotlib-inline
37 37 pexpect>4.3; sys_platform != "win32"
38 38 prompt_toolkit>=3.0.41,<3.1.0
39 39 pygments>=2.4.0
40 40 stack_data
41 41 traitlets>=5
42 42 typing_extensions ; python_version<'3.10'
43 43
44 44 [options.extras_require]
45 45 black =
46 46 black
47 47 doc =
48 48 ipykernel
49 49 setuptools>=18.5
50 50 sphinx>=1.3
51 51 sphinx-rtd-theme
52 52 docrepr
53 53 matplotlib
54 54 stack_data
55 pytest<8
56 55 typing_extensions
57 56 exceptiongroup
58 57 %(test)s
59 58 kernel =
60 59 ipykernel
61 60 nbconvert =
62 61 nbconvert
63 62 nbformat =
64 63 nbformat
65 64 notebook =
66 65 ipywidgets
67 66 notebook
68 67 parallel =
69 68 ipyparallel
70 69 qtconsole =
71 70 qtconsole
72 71 terminal =
73 72 test =
74 pytest
73 pytest<8
75 74 pytest-asyncio<0.22
76 75 testpath
77 76 pickleshare
78 77 test_extra =
79 78 %(test)s
80 79 curio
81 80 matplotlib!=3.2.0
82 81 nbformat
83 82 numpy>=1.23
84 83 pandas
85 84 trio
86 85 all =
87 86 %(black)s
88 87 %(doc)s
89 88 %(kernel)s
90 89 %(nbconvert)s
91 90 %(nbformat)s
92 91 %(notebook)s
93 92 %(parallel)s
94 93 %(qtconsole)s
95 94 %(terminal)s
96 95 %(test_extra)s
97 96 %(test)s
98 97
99 98 [options.packages.find]
100 99 exclude =
101 100 setupext
102 101
103 102 [options.package_data]
104 103 IPython = py.typed
105 104 IPython.core = profile/README*
106 105 IPython.core.tests = *.png, *.jpg, daft_extension/*.py
107 106 IPython.lib.tests = *.wav
108 107 IPython.testing.plugin = *.txt
109 108
110 109 [velin]
111 110 ignore_patterns =
112 111 IPython/core/tests
113 112 IPython/testing
114 113
115 114 [tool.black]
116 115 exclude = 'timing\.py'
General Comments 0
You need to be logged in to leave comments. Login now