1
0
mirror of https://gitlab.com/fdroid/fdroidserver.git synced 2024-07-04 16:30:12 +02:00

Add a mypy run to the pipeline

This commit is contained in:
Benedikt Brückmann 2021-03-12 08:49:40 +01:00 committed by Hans-Christoph Steiner
parent 7e60acb259
commit 8f0712e89b
4 changed files with 27 additions and 5 deletions

View File

@ -188,6 +188,13 @@ lint_format_safety_bandit_checks:
- pybabel compile --domain=fdroidserver --directory locale 2>&1 | (grep -F "error:" && exit 1) || true
- exit $EXITVALUE
lint_mypy:
image: python:3.9-buster
script:
- pip install mypy
- pip install -e .[test]
- mypy
fedora_latest:
image: fedora:latest
only:

View File

@ -148,11 +148,11 @@ default_config = {
'repo_url': "https://MyFirstFDroidRepo.org/fdroid/repo",
'repo_name': "My First F-Droid Repo Demo",
'repo_icon': "icon.png",
'repo_description': _("""This is a repository of apps to be used with F-Droid. Applications in this repository are either official binaries built by the original application developers, or are binaries built from source by the admin of f-droid.org using the tools on https://gitlab.com/fdroid."""),
'repo_description': _("""This is a repository of apps to be used with F-Droid. Applications in this repository are either official binaries built by the original application developers, or are binaries built from source by the admin of f-droid.org using the tools on https://gitlab.com/fdroid."""), # type: ignore
'archive_name': 'My First F-Droid Archive Demo',
'archive_description': _('These are the apps that have been archived from the main repo.'),
'archive_description': _('These are the apps that have been archived from the main repo.'), # type: ignore
'archive_older': 0,
'lint_licenses': fdroidserver.lint.APPROVED_LICENSES,
'lint_licenses': fdroidserver.lint.APPROVED_LICENSES, # type: ignore
'git_mirror_size_limit': 10000000000,
}
@ -2389,7 +2389,7 @@ def use_androguard():
return False
use_androguard.show_path = True
use_androguard.show_path = True # type: ignore
def _get_androguard_APK(apkfile):

View File

@ -34,7 +34,7 @@ from .exception import BuildException, VCSException
config = None
options = None
DEFAULT_JSON_PER_BUILD = {'errors': [], 'warnings': [], 'infos': []}
DEFAULT_JSON_PER_BUILD = {'errors': [], 'warnings': [], 'infos': []} # type: ignore
json_per_build = DEFAULT_JSON_PER_BUILD
MAVEN_URL_REGEX = re.compile(r"""\smaven\s*{.*?(?:setUrl|url)\s*=?\s*(?:uri)?\(?\s*["']?([^\s"']+)["']?[^}]*}""",

15
mypy.ini Normal file
View File

@ -0,0 +1,15 @@
[mypy]
files = fdroidserver
# this is de-facto the linter setting for this file
warn_unused_configs = True
# TODO: we should either upgrade the used packages to a version which includes type hints OR install/write stub packages for these libraries.
# Further details here: https://mypy.readthedocs.io/en/stable/running_mypy.html#missing-type-hints-for-third-party-library
ignore_missing_imports = True
# ignore the [no-redef] errors, as they collide with the bandit "# nosec" exclusion (common.py)
# unfortunately both tools expect their ignore flag as a comment in the same line
# [misc] is ignored for the "incompatible import"
# [arg-type] is ignored because when there are missing envs, everything will crash, not just the types
disable_error_code = no-redef, misc, arg-type