##// END OF EJS Templates
Fix listing of subcommands for "ipython profile" and "ipython history"....
Fix listing of subcommands for "ipython profile" and "ipython history". The previous code (likely going back to Py2) would print Must specify one of: dict_keys(['create', 'list', 'locate']) This PR fixes it to Must specify one of: 'create', 'list', 'locate'.

File last commit:

r28716:f9ce8c21
r28743:d34e2fd0
Show More
test.yml
115 lines | 4.4 KiB | text/x-yaml | YamlLexer
name: Run tests
on:
push:
branches:
- main
- '*.x'
pull_request:
# Run weekly on Monday at 1:23 UTC
schedule:
- cron: '23 1 * * 1'
workflow_dispatch:
jobs:
test:
runs-on: ${{ matrix.os }}
# Disable scheduled CI runs on forks
if: github.event_name != 'schedule' || github.repository_owner == 'ipython'
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest]
python-version: ["3.10", "3.11", "3.12"]
deps: [test_extra]
# Test all on ubuntu, test ends on macos
include:
- os: macos-latest
python-version: "3.10"
deps: test_extra
- os: macos-latest
python-version: "3.11"
deps: test_extra
# Tests minimal dependencies set
- os: ubuntu-latest
python-version: "3.11"
deps: test
# Tests latest development Python version
- os: ubuntu-latest
python-version: "3.13-dev"
deps: test
# Installing optional dependencies stuff takes ages on PyPy
- os: ubuntu-latest
python-version: "pypy-3.10"
deps: test
- os: windows-latest
python-version: "pypy-3.10"
deps: test
- os: macos-latest
python-version: "pypy-3.10"
deps: test
# Temporary CI run to use entry point compatible code in matplotlib-inline.
- os: ubuntu-latest
python-version: "3.12"
deps: test_extra
want-latest-entry-point-code: true
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
cache: pip
cache-dependency-path: |
pyproject.toml
- name: Install latex
if: runner.os == 'Linux' && matrix.deps == 'test_extra'
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
- name: Install and update Python dependencies (binary only)
if: ${{ ! contains( matrix.python-version, 'dev' ) }}
run: |
python -m pip install --only-binary ':all:' --upgrade pip setuptools wheel build
python -m pip install --only-binary ':all:' --no-binary curio --upgrade -e .[${{ matrix.deps }}]
python -m pip install --only-binary ':all:' --upgrade check-manifest pytest-cov pytest-json-report 'pytest<8'
- name: Install and update Python dependencies (dev?)
if: ${{ contains( matrix.python-version, 'dev' ) }}
run: |
python -m pip install --pre --upgrade pip setuptools wheel build
python -m pip install --pre --extra-index-url https://pypi.anaconda.org/scientific-python-nightly-wheels/simple --no-binary curio --upgrade -e .[${{ matrix.deps }}]
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
- name: Try building with Python build
if: runner.os != 'Windows' # setup.py does not support sdist on Windows
run: |
python -m build
shasum -a 256 dist/*
- name: Check manifest
if: runner.os != 'Windows' # setup.py does not support sdist on Windows
run: check-manifest
- name: Install entry point compatible code (TEMPORARY)
if: matrix.want-latest-entry-point-code
run: |
python -m pip list
# Not installing matplotlib's entry point code as building matplotlib from source is complex.
# Rely upon matplotlib to test all the latest entry point branches together.
python -m pip install --upgrade git+https://github.com/ipython/matplotlib-inline.git@main
python -m pip list
- name: pytest
env:
COLUMNS: 120
run: |
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
- uses: actions/upload-artifact@v3
with:
name: upload pytest timing reports as json
path: |
./report-*.json
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v3
with:
name: Test
files: /home/runner/work/ipython/ipython/coverage.xml