From d9957614199a127c31a62417f79715f92690f1b5 Mon Sep 17 00:00:00 2001 From: Sebastian Englbrecht Date: Tue, 12 Apr 2022 15:30:55 +0200 Subject: [PATCH] Prepare mypy for typing checks --- .github/workflows/pull_request.yml | 4 +++- Makefile | 14 +++----------- docker/Dockerfile | 2 +- frigate/mypy.ini | 6 ++++++ requirements-wheels.txt | 1 + 5 files changed, 14 insertions(+), 13 deletions(-) create mode 100644 frigate/mypy.ini diff --git a/.github/workflows/pull_request.yml b/.github/workflows/pull_request.yml index fe9e76b8b..6985ece9b 100644 --- a/.github/workflows/pull_request.yml +++ b/.github/workflows/pull_request.yml @@ -56,5 +56,7 @@ jobs: uses: docker/setup-buildx-action@v1 - name: Build run: make + - name: Run mypy + run: docker run --rm --entrypoint=python3 frigate:latest -u -m mypy --config-file frigate/mypy.ini frigate - name: Run tests - run: docker run --rm --entrypoint=python3 frigate:latest -u -m unittest + run: docker run --rm --entrypoint=python3 frigate:latest -u -m unittest \ No newline at end of file diff --git a/Makefile b/Makefile index 3c3f8c04a..2f308c845 100644 --- a/Makefile +++ b/Makefile @@ -14,16 +14,8 @@ frigate: version frigate_push: version docker buildx build --push --platform linux/arm64/v8,linux/amd64 --tag blakeblackshear/frigate:0.11.0-$(COMMIT_HASH) --file docker/Dockerfile . -run_tests: - # PLATFORM: linux/arm64/v8 linux/amd64 or linux/arm/v7 - # ARCH: aarch64 amd64 or armv7 - @cat docker/Dockerfile.base docker/Dockerfile.$(ARCH) > docker/Dockerfile.test - @sed -i "s/FROM frigate-web as web/#/g" docker/Dockerfile.test - @sed -i "s/COPY --from=web \/opt\/frigate\/build web\//#/g" docker/Dockerfile.test - @sed -i "s/FROM frigate-base/#/g" docker/Dockerfile.test - @echo "" >> docker/Dockerfile.test - @echo "RUN python3 -m unittest" >> docker/Dockerfile.test - @docker buildx build --platform=$(PLATFORM) --tag frigate-base --build-arg NGINX_VERSION=1.0.2 --build-arg FFMPEG_VERSION=1.0.0 --build-arg ARCH=$(ARCH) --build-arg WHEELS_VERSION=1.0.3 --file docker/Dockerfile.test . - @rm docker/Dockerfile.test +run_tests: frigate + docker run --rm --entrypoint=python3 frigate:latest -u -m unittest + docker run --rm --entrypoint=python3 frigate:latest -u -m mypy --config-file frigate/mypy.ini frigate .PHONY: run_tests diff --git a/docker/Dockerfile b/docker/Dockerfile index cd755aaf7..ee988a2a2 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -42,7 +42,7 @@ COPY requirements.txt /requirements.txt RUN pip3 install -r requirements.txt COPY requirements-wheels.txt /requirements-wheels.txt -RUN pip3 wheel --wheel-dir=/wheels -r requirements-wheels.txt +RUN pip3 wheel --wheel-dir=/wheels -r requirements-wheels.txt # Frigate Container FROM debian:11-slim diff --git a/frigate/mypy.ini b/frigate/mypy.ini new file mode 100644 index 000000000..c6f93381d --- /dev/null +++ b/frigate/mypy.ini @@ -0,0 +1,6 @@ +[mypy] +python_version = 3.9 +ignore_missing_imports = true + +[mypy-frigate.*] +ignore_errors = true diff --git a/requirements-wheels.txt b/requirements-wheels.txt index a817c318c..94786bf53 100644 --- a/requirements-wheels.txt +++ b/requirements-wheels.txt @@ -2,6 +2,7 @@ click == 8.1.* Flask == 2.1.* imutils == 0.5.* matplotlib == 3.5.* +mypy == 0.942 numpy == 1.22.* opencv-python-headless == 4.5.5.* paho-mqtt == 1.6.*