From 993ca0fa67237c31d37c27d6f6fd9008745b1bcc Mon Sep 17 00:00:00 2001 From: Guido Schmitz Date: Tue, 24 Oct 2023 18:33:59 +0200 Subject: [PATCH] Fix CI (#150) --- .github/workflows/pythonpackage.yml | 141 ++++++++++++++-------------- pyproject.toml | 2 +- scripts/stubgen.py | 2 + 3 files changed, 73 insertions(+), 72 deletions(-) diff --git a/.github/workflows/pythonpackage.yml b/.github/workflows/pythonpackage.yml index 46efde2..abf6b02 100644 --- a/.github/workflows/pythonpackage.yml +++ b/.github/workflows/pythonpackage.yml @@ -3,45 +3,44 @@ name: Python package on: [push] jobs: - format: name: Check formatting runs-on: ubuntu-latest steps: - - name: Checkout sources - uses: actions/checkout@v4.1.0 - - name: Set up Python - uses: actions/setup-python@v4.7.1 - with: - python-version: "3.8" - - name: Install dependencies - run: | - python -m pip install --upgrade pip - python -m pip install --no-binary=mypy mypy - - name: Check formatting - uses: pre-commit/action@v3.0.0 + - name: Checkout sources + uses: actions/checkout@v4.1.0 + - name: Set up Python + uses: actions/setup-python@v4.7.1 + with: + python-version: "3.8" + - name: Install dependencies + run: | + python -m pip install --upgrade pip + python -m pip install --no-binary=mypy mypy + - name: Check formatting + uses: pre-commit/action@v3.0.0 lint: name: Lint runs-on: ubuntu-latest steps: - - name: Checkout sources - uses: actions/checkout@v4.1.0 - - name: Set up Python - uses: actions/setup-python@v4.7.1 - with: - python-version: "3.8" - - name: Lint with ruff - run: | - python -m pip install --upgrade pip - python -m pip install ruff - ruff check --format=github devolo_plc_api scripts - ruff check --format=github --exit-zero tests - - name: Lint with mypy - run: | - python -m pip install mypy types-protobuf - mypy devolo_plc_api - mypy tests || true + - name: Checkout sources + uses: actions/checkout@v4.1.0 + - name: Set up Python + uses: actions/setup-python@v4.7.1 + with: + python-version: "3.8" + - name: Lint with ruff + run: | + python -m pip install --upgrade pip + python -m pip install ruff + ruff check --output-format=github devolo_plc_api scripts + ruff check --output-format=github --exit-zero tests + - name: Lint with mypy + run: | + python -m pip install mypy types-protobuf + mypy devolo_plc_api + mypy tests || true test: name: Test with Python ${{ matrix.python-version }} @@ -50,50 +49,50 @@ jobs: matrix: python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"] steps: - - name: Checkout sources - uses: actions/checkout@v4.1.0 - - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v4.7.1 - with: - python-version: ${{ matrix.python-version }} - allow-prereleases: true - check-latest: true - - name: Install dependencies - run: | - python -m pip install --upgrade pip - python -m pip install -e .[test] - - name: Test with pytest - run: | - pytest --cov=devolo_plc_api - - name: Preserve coverage - uses: actions/upload-artifact@v3.1.3 - if: matrix.python-version == '3.8' - with: - name: coverage - path: .coverage + - name: Checkout sources + uses: actions/checkout@v4.1.0 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v4.7.1 + with: + python-version: ${{ matrix.python-version }} + allow-prereleases: true + check-latest: true + - name: Install dependencies + run: | + python -m pip install --upgrade pip + python -m pip install -e .[test] + - name: Test with pytest + run: | + pytest --cov=devolo_plc_api + - name: Preserve coverage + uses: actions/upload-artifact@v3.1.3 + if: matrix.python-version == '3.8' + with: + name: coverage + path: .coverage coverage: name: Upload coverage runs-on: ubuntu-latest needs: test steps: - - name: Checkout sources - uses: actions/checkout@v4.1.0 - - name: Set up Python - uses: actions/setup-python@v4.7.1 - with: - python-version: "3.8" - - name: Download coverage - uses: actions/download-artifact@v3.0.2 - with: - name: coverage - - name: Coveralls - run: | - python -m pip install --upgrade pip - python -m pip install wheel coveralls - export COVERALLS_REPO_TOKEN=${{ secrets.COVERALLS_TOKEN }} - coveralls - - name: Clean up coverage - uses: geekyeggo/delete-artifact@v2.0.0 - with: - name: coverage + - name: Checkout sources + uses: actions/checkout@v4.1.0 + - name: Set up Python + uses: actions/setup-python@v4.7.1 + with: + python-version: "3.8" + - name: Download coverage + uses: actions/download-artifact@v3.0.2 + with: + name: coverage + - name: Coveralls + run: | + python -m pip install --upgrade pip + python -m pip install wheel coveralls + export COVERALLS_REPO_TOKEN=${{ secrets.COVERALLS_TOKEN }} + coveralls + - name: Clean up coverage + uses: geekyeggo/delete-artifact@v2.0.0 + with: + name: coverage diff --git a/pyproject.toml b/pyproject.toml index f805bac..99bbf99 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -32,7 +32,7 @@ urls = {changelog = "https://github.com/2Fake/devolo_plc_api/docs/CHANGELOG.md", [project.optional-dependencies] dev = [ "pre-commit", - "mypy>=0.981" + "mypy>=1.6.0" ] test = [ "pytest", diff --git a/scripts/stubgen.py b/scripts/stubgen.py index ec3faed..d44f6bf 100755 --- a/scripts/stubgen.py +++ b/scripts/stubgen.py @@ -53,6 +53,7 @@ def add_sync(self) -> None: self.add(output[i].replace("async_", "").replace("async ", "")) self.add(output[i + 1]) self.add(output[i + 2]) + self.add(output[i + 3]) def fix_union_annotations(self) -> None: """Fix Union annotations.""" @@ -80,6 +81,7 @@ def generate_stubs() -> None: verbose=False, quiet=True, export_less=True, + include_docstrings=False, ) mypy_opts = mypy_options(options) py_modules, _ = collect_build_targets(options, mypy_opts)