Update websockets requirement from ~=11.0 to ~=12.0 #12487
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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'] | |
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"] | |
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" | |
env: | |
OS: ${{ matrix.os }} | |
PYTHON: ${{ matrix.python-version }} | |
steps: | |
- uses: actions/checkout@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@v4.3.1 | |
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@v1.7.0 | |
with: | |
version: 1.1.329 | |
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 src/qcodes | |
# 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 src/qcodes | |
- name: Upload coverage to Codecov | |
uses: codecov/codecov-action@v3.1.4 | |
with: | |
file: ./coverage.xml | |
env_vars: OS,PYTHON |