From a284681421fbee72fa639ec9f76222eda4f3411e Mon Sep 17 00:00:00 2001 From: Pedro Crespo-Valero <32402063+pcrespov@users.noreply.github.com> Date: Fri, 9 Feb 2024 13:40:18 +0100 Subject: [PATCH] =?UTF-8?q?=20=20=E2=AC=86=EF=B8=8F=20Upgrade=20to=20`pip~?= =?UTF-8?q?=3D24.0`=20(#5320)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Makefile | 2 +- api/specs/web-server/_admin.py | 8 +- ci/helpers/ensure_python_pip.bash | 2 +- packages/postgres-database/docker/Dockerfile | 2 +- .../postgres-database/scripts/erd/Dockerfile | 2 +- packages/service-integration/Dockerfile | 2 +- requirements/tools/Dockerfile | 2 +- scripts/erd/Dockerfile | 2 +- scripts/openapi/oas_resolver/Dockerfile | 2 +- scripts/pydeps-docker/Dockerfile | 2 +- services/agent/Dockerfile | 2 +- services/api-server/Dockerfile | 2 +- services/autoscaling/Dockerfile | 2 +- services/catalog/Dockerfile | 2 +- services/clusters-keeper/Dockerfile | 2 +- services/dask-sidecar/Dockerfile | 2 +- services/datcore-adapter/Dockerfile | 2 +- services/director-v2/Dockerfile | 2 +- services/dynamic-scheduler/Dockerfile | 2 +- services/dynamic-sidecar/Dockerfile | 2 +- services/invitations/Dockerfile | 2 +- services/migration/Dockerfile | 2 +- services/osparc-gateway-server/Dockerfile | 2 +- services/payments/Dockerfile | 2 +- services/resource-usage-tracker/Dockerfile | 2 +- services/storage/Dockerfile | 2 +- services/web/Dockerfile | 2 +- .../api/v0/openapi.yaml | 92 +++++++++---------- .../email/_handlers.py | 8 +- .../tests/unit/with_dbs/03/test_email.py | 6 +- tests/environment-setup/test_used_python.py | 24 +++-- 31 files changed, 101 insertions(+), 89 deletions(-) diff --git a/Makefile b/Makefile index 2d46e154b41..08354f9a610 100644 --- a/Makefile +++ b/Makefile @@ -456,7 +456,7 @@ push-version: tag-version python3 -m venv $@ ## upgrading tools to latest version in $(shell python3 --version) $@/bin/pip3 --quiet install --upgrade \ - pip~=23.1 \ + pip~=24.0 \ wheel \ setuptools @$@/bin/pip3 list --verbose diff --git a/api/specs/web-server/_admin.py b/api/specs/web-server/_admin.py index 6812b4bf4b3..767661a0dfc 100644 --- a/api/specs/web-server/_admin.py +++ b/api/specs/web-server/_admin.py @@ -9,7 +9,11 @@ from fastapi import APIRouter, Header from models_library.generics import Envelope from simcore_service_webserver._meta import API_VTAG -from simcore_service_webserver.email._handlers import TestEmail, TestFailed, TestPassed +from simcore_service_webserver.email._handlers import ( + EmailTestFailed, + EmailTestPassed, + TestEmail, +) router = APIRouter( prefix=f"/{API_VTAG}", @@ -21,7 +25,7 @@ @router.post( "/email:test", - response_model=Envelope[Union[TestFailed, TestPassed]], + response_model=Envelope[Union[EmailTestFailed, EmailTestPassed]], ) async def test_email( _test: TestEmail, x_simcore_products_name: str | None = Header(default=None) diff --git a/ci/helpers/ensure_python_pip.bash b/ci/helpers/ensure_python_pip.bash index 82a44dc0508..b236f2901c1 100755 --- a/ci/helpers/ensure_python_pip.bash +++ b/ci/helpers/ensure_python_pip.bash @@ -11,7 +11,7 @@ set -o pipefail # don't hide errors within pipes IFS=$'\n\t' # Pin pip version to a compatible release https://www.python.org/dev/peps/pep-0440/#compatible-release -PIP_VERSION=23.1 +PIP_VERSION=24.0 echo "INFO:" "$(python --version)" "@" "$(command -v python)" diff --git a/packages/postgres-database/docker/Dockerfile b/packages/postgres-database/docker/Dockerfile index bd5e0ae4153..017f277618b 100644 --- a/packages/postgres-database/docker/Dockerfile +++ b/packages/postgres-database/docker/Dockerfile @@ -28,7 +28,7 @@ RUN python -m venv "${VIRTUAL_ENV}" RUN --mount=type=cache,mode=0755,target=/root/.cache/pip \ pip install --upgrade \ - pip~=23.1 \ + pip~=24.0 \ wheel \ setuptools diff --git a/packages/postgres-database/scripts/erd/Dockerfile b/packages/postgres-database/scripts/erd/Dockerfile index 4067d4f1d91..e3cf5d19c91 100644 --- a/packages/postgres-database/scripts/erd/Dockerfile +++ b/packages/postgres-database/scripts/erd/Dockerfile @@ -17,7 +17,7 @@ RUN apt-get update \ RUN --mount=type=cache,mode=0755,target=/root/.cache/pip \ pip install --upgrade \ - pip~=23.1 \ + pip~=24.0 \ wheel \ setuptools diff --git a/packages/service-integration/Dockerfile b/packages/service-integration/Dockerfile index 00dc5156850..bf1bf6df21e 100644 --- a/packages/service-integration/Dockerfile +++ b/packages/service-integration/Dockerfile @@ -54,7 +54,7 @@ RUN python -m venv "${VIRTUAL_ENV}" RUN --mount=type=cache,mode=0755,target=/root/.cache/pip \ pip install --upgrade \ - pip~=23.1 \ + pip~=24.0 \ wheel \ setuptools diff --git a/requirements/tools/Dockerfile b/requirements/tools/Dockerfile index 5e5576bbeb0..0e255031603 100644 --- a/requirements/tools/Dockerfile +++ b/requirements/tools/Dockerfile @@ -24,7 +24,7 @@ RUN apt-get update \ # SEE bug with pip==22.1 https://github.com/jazzband/pip-tools/issues/1617 RUN --mount=type=cache,mode=0755,target=/root/.cache/pip \ pip install --upgrade \ - pip~=23.1 \ + pip~=24.0 \ wheel \ setuptools diff --git a/scripts/erd/Dockerfile b/scripts/erd/Dockerfile index 1569d44e6c6..85fb18785d7 100644 --- a/scripts/erd/Dockerfile +++ b/scripts/erd/Dockerfile @@ -25,7 +25,7 @@ RUN apt-get update \ RUN --mount=type=cache,mode=0755,target=/root/.cache/pip \ pip install --upgrade \ - pip~=23.1 \ + pip~=24.0 \ wheel \ setuptools diff --git a/scripts/openapi/oas_resolver/Dockerfile b/scripts/openapi/oas_resolver/Dockerfile index ca90cee63f0..5b0d51570ae 100644 --- a/scripts/openapi/oas_resolver/Dockerfile +++ b/scripts/openapi/oas_resolver/Dockerfile @@ -14,7 +14,7 @@ WORKDIR /src # update pip RUN --mount=type=cache,mode=0755,target=/root/.cache/pip \ pip install --upgrade \ - pip~=23.1 \ + pip~=24.0 \ wheel \ setuptools diff --git a/scripts/pydeps-docker/Dockerfile b/scripts/pydeps-docker/Dockerfile index c9e8624f100..8de828680e1 100644 --- a/scripts/pydeps-docker/Dockerfile +++ b/scripts/pydeps-docker/Dockerfile @@ -29,7 +29,7 @@ COPY .pydeps ${HOME_DIR}/.pydeps RUN --mount=type=cache,mode=0755,target=/root/.cache/pip \ pip install --upgrade \ - pip~=23.1 \ + pip~=24.0 \ wheel \ setuptools diff --git a/services/agent/Dockerfile b/services/agent/Dockerfile index 0f406116ca1..2bfe2d5b444 100644 --- a/services/agent/Dockerfile +++ b/services/agent/Dockerfile @@ -80,7 +80,7 @@ RUN python -m venv "${VIRTUAL_ENV}" RUN --mount=type=cache,mode=0755,target=/root/.cache/pip \ pip install --upgrade \ - pip~=23.1 \ + pip~=24.0 \ wheel \ setuptools diff --git a/services/api-server/Dockerfile b/services/api-server/Dockerfile index cba594a277c..a70c63d5442 100644 --- a/services/api-server/Dockerfile +++ b/services/api-server/Dockerfile @@ -76,7 +76,7 @@ RUN python -m venv "${VIRTUAL_ENV}" RUN --mount=type=cache,mode=0755,target=/root/.cache/pip \ pip install --upgrade \ - pip~=23.1 \ + pip~=24.0 \ wheel \ setuptools diff --git a/services/autoscaling/Dockerfile b/services/autoscaling/Dockerfile index 53e47b60e88..948a7f5a6a3 100644 --- a/services/autoscaling/Dockerfile +++ b/services/autoscaling/Dockerfile @@ -96,7 +96,7 @@ RUN python -m venv "${VIRTUAL_ENV}" RUN --mount=type=cache,mode=0755,target=/root/.cache/pip \ pip install --upgrade \ - pip~=23.1 \ + pip~=24.0 \ wheel \ setuptools diff --git a/services/catalog/Dockerfile b/services/catalog/Dockerfile index 0502b440568..80c8127ac30 100644 --- a/services/catalog/Dockerfile +++ b/services/catalog/Dockerfile @@ -76,7 +76,7 @@ RUN python -m venv "${VIRTUAL_ENV}" RUN --mount=type=cache,mode=0755,target=/root/.cache/pip \ pip install --upgrade \ - pip~=23.1 \ + pip~=24.0 \ wheel \ setuptools diff --git a/services/clusters-keeper/Dockerfile b/services/clusters-keeper/Dockerfile index 4e9c7274652..f9d0e0fb9de 100644 --- a/services/clusters-keeper/Dockerfile +++ b/services/clusters-keeper/Dockerfile @@ -96,7 +96,7 @@ RUN python -m venv "${VIRTUAL_ENV}" RUN --mount=type=cache,mode=0755,target=/root/.cache/pip \ pip install --upgrade \ - pip~=23.1 \ + pip~=24.0 \ wheel \ setuptools diff --git a/services/dask-sidecar/Dockerfile b/services/dask-sidecar/Dockerfile index 1eedd644750..e08b819ddfb 100644 --- a/services/dask-sidecar/Dockerfile +++ b/services/dask-sidecar/Dockerfile @@ -86,7 +86,7 @@ RUN python -m venv "${VIRTUAL_ENV}" RUN --mount=type=cache,mode=0755,target=/root/.cache/pip \ pip install --upgrade \ - pip~=23.1 \ + pip~=24.0 \ wheel \ setuptools diff --git a/services/datcore-adapter/Dockerfile b/services/datcore-adapter/Dockerfile index 58896bb8a8e..438dc8dfa50 100644 --- a/services/datcore-adapter/Dockerfile +++ b/services/datcore-adapter/Dockerfile @@ -77,7 +77,7 @@ RUN python -m venv "${VIRTUAL_ENV}" RUN --mount=type=cache,mode=0755,target=/root/.cache/pip \ pip install --upgrade \ - pip~=23.1 \ + pip~=24.0 \ wheel \ setuptools diff --git a/services/director-v2/Dockerfile b/services/director-v2/Dockerfile index cac0d5ea09a..34f2a0c7f40 100644 --- a/services/director-v2/Dockerfile +++ b/services/director-v2/Dockerfile @@ -77,7 +77,7 @@ RUN python -m venv "${VIRTUAL_ENV}" RUN --mount=type=cache,mode=0755,target=/root/.cache/pip \ pip install --upgrade \ - pip~=23.1 \ + pip~=24.0 \ wheel \ setuptools diff --git a/services/dynamic-scheduler/Dockerfile b/services/dynamic-scheduler/Dockerfile index 0cf6c355cfe..0a9554878e9 100644 --- a/services/dynamic-scheduler/Dockerfile +++ b/services/dynamic-scheduler/Dockerfile @@ -76,7 +76,7 @@ RUN python -m venv "${VIRTUAL_ENV}" RUN --mount=type=cache,mode=0755,target=/root/.cache/pip \ pip install --upgrade \ - pip~=23.1 \ + pip~=24.0 \ wheel \ setuptools diff --git a/services/dynamic-sidecar/Dockerfile b/services/dynamic-sidecar/Dockerfile index 4b7e36cdb3f..f43f68c6bd1 100644 --- a/services/dynamic-sidecar/Dockerfile +++ b/services/dynamic-sidecar/Dockerfile @@ -107,7 +107,7 @@ RUN python -m venv "${VIRTUAL_ENV}" \ RUN --mount=type=cache,mode=0755,target=/root/.cache/pip \ pip install --upgrade \ - pip~=23.1 \ + pip~=24.0 \ wheel \ setuptools diff --git a/services/invitations/Dockerfile b/services/invitations/Dockerfile index 726e5d48c4b..c06116776fa 100644 --- a/services/invitations/Dockerfile +++ b/services/invitations/Dockerfile @@ -76,7 +76,7 @@ RUN python -m venv "${VIRTUAL_ENV}" RUN --mount=type=cache,mode=0755,target=/root/.cache/pip \ pip install --upgrade \ - pip~=23.1 \ + pip~=24.0 \ wheel \ setuptools diff --git a/services/migration/Dockerfile b/services/migration/Dockerfile index d0ec8a9ee42..a7f17681f92 100644 --- a/services/migration/Dockerfile +++ b/services/migration/Dockerfile @@ -49,7 +49,7 @@ RUN python -m venv "${VIRTUAL_ENV}" RUN --mount=type=cache,mode=0755,target=/root/.cache/pip \ pip install --upgrade \ - pip~=23.1 \ + pip~=24.0 \ wheel \ setuptools diff --git a/services/osparc-gateway-server/Dockerfile b/services/osparc-gateway-server/Dockerfile index d5a5bdee290..ba28daf0339 100644 --- a/services/osparc-gateway-server/Dockerfile +++ b/services/osparc-gateway-server/Dockerfile @@ -77,7 +77,7 @@ RUN --mount=type=cache,target=/var/cache/apt,mode=0755,sharing=private \ RUN python -m venv "${VIRTUAL_ENV}" RUN --mount=type=cache,mode=0755,target=/root/.cache/pip \ pip install --upgrade \ - pip~=23.1 \ + pip~=24.0 \ wheel \ setuptools diff --git a/services/payments/Dockerfile b/services/payments/Dockerfile index f37db0b8e06..891850f0713 100644 --- a/services/payments/Dockerfile +++ b/services/payments/Dockerfile @@ -76,7 +76,7 @@ RUN python -m venv "${VIRTUAL_ENV}" RUN --mount=type=cache,mode=0755,target=/root/.cache/pip \ pip install --upgrade \ - pip~=23.1 \ + pip~=24.0 \ wheel \ setuptools diff --git a/services/resource-usage-tracker/Dockerfile b/services/resource-usage-tracker/Dockerfile index 40663ef4d80..8fca041ba0b 100644 --- a/services/resource-usage-tracker/Dockerfile +++ b/services/resource-usage-tracker/Dockerfile @@ -77,7 +77,7 @@ RUN python -m venv "${VIRTUAL_ENV}" RUN --mount=type=cache,mode=0755,target=/root/.cache/pip \ pip install --upgrade \ - pip~=23.1 \ + pip~=24.0 \ wheel \ setuptools diff --git a/services/storage/Dockerfile b/services/storage/Dockerfile index d3c02de9d8e..8d69b81be24 100644 --- a/services/storage/Dockerfile +++ b/services/storage/Dockerfile @@ -85,7 +85,7 @@ RUN python -m venv "${VIRTUAL_ENV}" RUN --mount=type=cache,mode=0755,target=/root/.cache/pip \ pip install --upgrade \ - pip~=23.1 \ + pip~=24.0 \ wheel \ setuptools diff --git a/services/web/Dockerfile b/services/web/Dockerfile index af522ad6914..e2053ee9265 100644 --- a/services/web/Dockerfile +++ b/services/web/Dockerfile @@ -88,7 +88,7 @@ RUN python -m venv "${VIRTUAL_ENV}" RUN --mount=type=cache,mode=0755,target=/root/.cache/pip \ pip install --upgrade \ - pip~=23.1 \ + pip~=24.0 \ wheel \ setuptools diff --git a/services/web/server/src/simcore_service_webserver/api/v0/openapi.yaml b/services/web/server/src/simcore_service_webserver/api/v0/openapi.yaml index e3b77eaeec4..f43eb0489b9 100644 --- a/services/web/server/src/simcore_service_webserver/api/v0/openapi.yaml +++ b/services/web/server/src/simcore_service_webserver/api/v0/openapi.yaml @@ -53,7 +53,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Envelope_Union_TestFailed__TestPassed__' + $ref: '#/components/schemas/Envelope_Union_EmailTestFailed__EmailTestPassed__' /v0/announcements: get: tags: @@ -5407,6 +5407,40 @@ components: additionalProperties: false description: I/O port type to hold a generic download link to a file (e.g. S3 pre-signed link, etc) + EmailTestFailed: + title: EmailTestFailed + required: + - test_name + - error_type + - error_message + - traceback + type: object + properties: + test_name: + title: Test Name + type: string + error_type: + title: Error Type + type: string + error_message: + title: Error Message + type: string + traceback: + title: Traceback + type: string + EmailTestPassed: + title: EmailTestPassed + required: + - fixtures + - info + type: object + properties: + fixtures: + title: Fixtures + type: object + info: + title: Info + type: object EmptyModel: title: EmptyModel type: object @@ -5776,6 +5810,17 @@ components: $ref: '#/components/schemas/ThirdPartyToken' error: title: Error + Envelope_Union_EmailTestFailed__EmailTestPassed__: + title: Envelope[Union[EmailTestFailed, EmailTestPassed]] + type: object + properties: + data: + title: Data + anyOf: + - $ref: '#/components/schemas/EmailTestFailed' + - $ref: '#/components/schemas/EmailTestPassed' + error: + title: Error Envelope_Union_NodeGetIdle__NodeGetUnknown__RunningDynamicServiceDetails__NodeGet__: title: Envelope[Union[NodeGetIdle, NodeGetUnknown, RunningDynamicServiceDetails, NodeGet]] @@ -5798,17 +5843,6 @@ components: $ref: '#/components/schemas/PricingUnitGet' error: title: Error - Envelope_Union_TestFailed__TestPassed__: - title: Envelope[Union[TestFailed, TestPassed]] - type: object - properties: - data: - title: Data - anyOf: - - $ref: '#/components/schemas/TestFailed' - - $ref: '#/components/schemas/TestPassed' - error: - title: Error Envelope_Union_WalletGet__NoneType__: title: Envelope[Union[WalletGet, NoneType]] type: object @@ -9805,40 +9839,6 @@ components: title: Template Context type: object default: {} - TestFailed: - title: TestFailed - required: - - test_name - - error_type - - error_message - - traceback - type: object - properties: - test_name: - title: Test Name - type: string - error_type: - title: Error Type - type: string - error_message: - title: Error Message - type: string - traceback: - title: Traceback - type: string - TestPassed: - title: TestPassed - required: - - fixtures - - info - type: object - properties: - fixtures: - title: Fixtures - type: object - info: - title: Info - type: object TextArea: title: TextArea required: diff --git a/services/web/server/src/simcore_service_webserver/email/_handlers.py b/services/web/server/src/simcore_service_webserver/email/_handlers.py index ed520b42e52..f60012cd25a 100644 --- a/services/web/server/src/simcore_service_webserver/email/_handlers.py +++ b/services/web/server/src/simcore_service_webserver/email/_handlers.py @@ -37,7 +37,7 @@ class TestEmail(BaseModel): template_context: dict[str, Any] = {} -class TestFailed(BaseModel): +class EmailTestFailed(BaseModel): test_name: str error_type: str error_message: str @@ -53,7 +53,7 @@ def create_from_exception(cls, error: Exception, test_name: str): ) -class TestPassed(BaseModel): +class EmailTestPassed(BaseModel): fixtures: dict[str, Any] info: dict[str, Any] @@ -98,7 +98,7 @@ async def test_email(request: web.Request): ) return envelope_json_response( - TestPassed( + EmailTestPassed( fixtures=body.dict(), info={ "email-server": info, @@ -113,5 +113,5 @@ async def test_email(request: web.Request): f"{settings.json(indent=1)}", ) return envelope_json_response( - TestFailed.create_from_exception(error=err, test_name="test_email") + EmailTestFailed.create_from_exception(error=err, test_name="test_email") ) diff --git a/services/web/server/tests/unit/with_dbs/03/test_email.py b/services/web/server/tests/unit/with_dbs/03/test_email.py index f68ce34ae52..75a03a05683 100644 --- a/services/web/server/tests/unit/with_dbs/03/test_email.py +++ b/services/web/server/tests/unit/with_dbs/03/test_email.py @@ -23,7 +23,7 @@ from simcore_service_webserver._meta import API_VTAG from simcore_service_webserver._resources import webserver_resources from simcore_service_webserver.email._core import _remove_comments, _render_template -from simcore_service_webserver.email._handlers import TestFailed, TestPassed +from simcore_service_webserver.email._handlers import EmailTestFailed, EmailTestPassed from simcore_service_webserver.email.plugin import setup_email @@ -122,9 +122,9 @@ async def test_email_handlers( assert error is None with pytest.raises(ValidationError): - TestFailed.parse_obj(data) + EmailTestFailed.parse_obj(data) - passed = TestPassed.parse_obj(data) + passed = EmailTestPassed.parse_obj(data) print(passed.json(indent=1)) diff --git a/tests/environment-setup/test_used_python.py b/tests/environment-setup/test_used_python.py index 3fd216710de..5fe73c9c1e2 100644 --- a/tests/environment-setup/test_used_python.py +++ b/tests/environment-setup/test_used_python.py @@ -7,6 +7,7 @@ import re import sys from pathlib import Path +from typing import TypeAlias import pytest import yaml @@ -70,13 +71,16 @@ def expected_pip_version(osparc_simcore_root_dir: Path) -> str: return version +PathVersionTuple: TypeAlias = tuple[Path, str] + + @pytest.fixture(scope="session") -def pip_in_dockerfiles(osparc_simcore_root_dir: Path) -> list[tuple[Path, str]]: +def pip_in_dockerfiles(osparc_simcore_root_dir: Path) -> list[PathVersionTuple]: res = [] for dockerfile_path in osparc_simcore_root_dir.rglob("Dockerfile"): found = PIP_INSTALL_UPGRADE_PATTERN.search(dockerfile_path.read_text()) if found: - # spec = found.group(1) + _operator = found.group(1) # != or < or ~= version = found.group(2) print( str(dockerfile_path.relative_to(osparc_simcore_root_dir)), @@ -90,7 +94,7 @@ def pip_in_dockerfiles(osparc_simcore_root_dir: Path) -> list[tuple[Path, str]]: @pytest.fixture(scope="session") -def python_in_dockerfiles(osparc_simcore_root_dir: Path) -> list[tuple[Path, str]]: +def python_in_dockerfiles(osparc_simcore_root_dir: Path) -> list[PathVersionTuple]: res = [] for dockerfile_path in osparc_simcore_root_dir.rglob("Dockerfile"): found = PYTHON_VERSION_DOCKER_PATTERN.search(dockerfile_path.read_text()) @@ -107,7 +111,7 @@ def python_in_dockerfiles(osparc_simcore_root_dir: Path) -> list[tuple[Path, str def test_all_images_have_the_same_python_version( - python_in_dockerfiles, expected_python_version + python_in_dockerfiles, expected_python_version: tuple[int, ...] ): for dockerfile, python_version in python_in_dockerfiles: if dockerfile.parent.name not in FROZEN_SERVICES: @@ -123,7 +127,7 @@ def test_all_images_have_the_same_python_version( ) -def test_running_python_version(expected_python_version): +def test_running_python_version(expected_python_version: tuple[int, ...]): current_version, expected_version = make_versions_comparable( sys.version_info, expected_python_version ) @@ -132,7 +136,9 @@ def test_running_python_version(expected_python_version): ), f"Expected python {to_str(tuple(sys.version_info))} installed, got {to_str(expected_python_version)}" -def test_all_images_have_the_same_pip_version(expected_pip_version, pip_in_dockerfiles): +def test_all_images_have_the_same_pip_version( + expected_pip_version: str, pip_in_dockerfiles: list[PathVersionTuple] +): for dockerfile, pip_version in pip_in_dockerfiles: if dockerfile.parent.name in FROZEN_SERVICES: print( @@ -145,7 +151,7 @@ def test_all_images_have_the_same_pip_version(expected_pip_version, pip_in_docke def test_tooling_pre_commit_config( - osparc_simcore_root_dir: Path, expected_python_version + osparc_simcore_root_dir: Path, expected_python_version: tuple[int, ...] ): pre_commit_config = yaml.safe_load( (osparc_simcore_root_dir / ".pre-commit-config.yaml").read_text() @@ -162,7 +168,9 @@ def test_tooling_pre_commit_config( assert py_version == expected_python_version -def test_tooling_mypy_ini(osparc_simcore_root_dir: Path, expected_python_version): +def test_tooling_mypy_ini( + osparc_simcore_root_dir: Path, expected_python_version: tuple[int, ...] +): mypy_ini_path = osparc_simcore_root_dir / "mypy.ini" assert mypy_ini_path.exists()