Skip to content

Bump ipython from 8.18.1 to 8.22.1 #13589

Bump ipython from 8.18.1 to 8.22.1

Bump ipython from 8.18.1 to 8.22.1 #13589

Workflow file for this run

name: Run mypy and pytest
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
on:
push:
branches:
- 'main'
- 'release/*'
tags:
- 'v*'
pull_request:
merge_group:
branches: ['main']
permissions:
contents: read
jobs:
pytestmypy:
runs-on: ${{ matrix.os }}
strategy:
# don't stop other jobs if one fails
# this is often due to network issues
# and or flaky tests
# and the time lost in such cases
# is bigger than the gain from canceling the job
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest]
python-version: ["3.9", "3.10", "3.11", "3.12"]
min-version: [false]
include:
- os: ubuntu-latest
python-version: "3.9"
min-version: true
exclude:
- os: ubuntu-latest
python-version: "3.9"
- os: windows-latest
python-version: "3.11"
- os: windows-latest
python-version: "3.12"
env:
OS: ${{ matrix.os }}
PYTHON: ${{ matrix.python-version }}
steps:
- name: Harden Runner
uses: step-security/harden-runner@63c24ba6bd7ba022e95695ff85de572c04a18142 # v2.7.0
with:
egress-policy: audit
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
with:
submodules: true
# we need full history with tags for the version number
fetch-depth: '0'
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@0a5c61591373683505ea898e09a3ea4f39ef2b9c # v5.0.0
with:
python-version: ${{ matrix.python-version }}
cache: 'pip'
cache-dependency-path: |
pyproject.toml
requirements.txt
- name: upgrade pip setuptools wheel
run: python -m pip install --upgrade pip setuptools wheel
shell: bash
- name: install qcodes with minimum requirements
# Use fork of requirements-builder until official version
# has support for pyproject.toml (pep621)
run: |
pip install git+https://github.com/jenshnielsen/requirements-builder.git
pip install versioningit
requirements-builder -l min -e test setup.py -o min-requirements.txt
pip install -r min-requirements.txt
pip install .[test]
if: ${{ matrix.min-version }}
- name: install qcodes
run: |
pip install .[test] -c requirements.txt
if: ${{ !matrix.min-version }}
- uses: jakebailey/pyright-action@03ab3c98073356eb56161009632b39fc2666321b # v2.0.1
with:
version: 1.1.349
if: ${{ !matrix.min-version }}
- name: Run Mypy
run: mypy -p qcodes
if: ${{ !matrix.min-version }}
- name: Run parallel tests
run: |
pytest -m "not serial" --cov=qcodes --cov-report xml --hypothesis-profile ci --durations=20 tests
# a subset of the tests fails when run in parallel on Windows so run those in serial here
- name: Run serial tests
run: |
pytest -m "serial" -n 0 --dist no --cov=qcodes --cov-report xml --cov-append --hypothesis-profile ci tests
- name: Upload coverage to Codecov
uses: codecov/codecov-action@e0b68c6749509c5f83f984dd99a76a1c1a231044 # v4.0.1
with:
file: ./coverage.xml
env_vars: OS,PYTHON
token: ${{ secrets.CODECOV_TOKEN }}
if: ${{ github.event_name != 'merge_group' }}
# we don't trigger coverage from merge groups since that would
# make twice the number of coverage reports be uploded from a given commit