From e32cf71ae7dacbf9674262705cb2e8e1a5a2d206 Mon Sep 17 00:00:00 2001 From: Anton Hvornum Date: Thu, 6 Jan 2022 22:01:15 +0100 Subject: Added type annotations to all functions (#845) * Added type annotations for 1/5 of the files. There's bound to be some issues with type miss-match, will sort that out later. * Added type hints for 4/5 of the code * Added type hints for 4.7/5 of the code * Added type hints for 5/5 of the code base * Split the linters into individual files This should help with more clearly show which runner is breaking since they don't share a single common name any longer. Also moved mypy settings into pyproject.toml * Fixed some of the last flake8 issues * Missing parameter * Fixed invalid lookahead types * __future__ had to be at the top * Fixed last flake8 issues --- .github/workflows/bandit.yaml | 12 ++++++++++++ .github/workflows/flake8.yaml | 14 ++++++++++++++ .github/workflows/lint-python.yaml | 36 ------------------------------------ .github/workflows/mypy.yaml | 16 ++++++++++++++++ .github/workflows/pytest.yaml | 15 +++++++++++++++ 5 files changed, 57 insertions(+), 36 deletions(-) create mode 100644 .github/workflows/bandit.yaml create mode 100644 .github/workflows/flake8.yaml delete mode 100644 .github/workflows/lint-python.yaml create mode 100644 .github/workflows/mypy.yaml create mode 100644 .github/workflows/pytest.yaml (limited to '.github/workflows') diff --git a/.github/workflows/bandit.yaml b/.github/workflows/bandit.yaml new file mode 100644 index 00000000..2123ba9d --- /dev/null +++ b/.github/workflows/bandit.yaml @@ -0,0 +1,12 @@ +on: [ push, pull_request ] +name: Bandit security checkup +jobs: + flake8: + runs-on: ubuntu-latest + container: + image: archlinux:latest + steps: + - uses: actions/checkout@v2 + - run: pacman --noconfirm -Syu bandit + - name: Security checkup with Bandit + run: bandit -r archinstall || exit 0 \ No newline at end of file diff --git a/.github/workflows/flake8.yaml b/.github/workflows/flake8.yaml new file mode 100644 index 00000000..f7cfe064 --- /dev/null +++ b/.github/workflows/flake8.yaml @@ -0,0 +1,14 @@ +on: [ push, pull_request ] +name: flake8 linting (15 ignores) +jobs: + flake8: + runs-on: ubuntu-latest + container: + image: archlinux:latest + steps: + - uses: actions/checkout@v2 + - run: pacman --noconfirm -Syu python python-pip + - run: python -m pip install --upgrade pip + - run: pip install flake8 + - name: Lint with flake8 + run: flake8 \ No newline at end of file diff --git a/.github/workflows/lint-python.yaml b/.github/workflows/lint-python.yaml deleted file mode 100644 index d4b92f6e..00000000 --- a/.github/workflows/lint-python.yaml +++ /dev/null @@ -1,36 +0,0 @@ -on: [ push, pull_request ] -name: Lint Python and Find Syntax Errors -jobs: - mypy: - runs-on: ubuntu-latest - container: - image: archlinux:latest - steps: - - uses: actions/checkout@v2 - - run: pacman --noconfirm -Syu python mypy - - name: run mypy - run: mypy . --ignore-missing-imports || exit 0 - flake8: - runs-on: ubuntu-latest - container: - image: archlinux:latest - steps: - - uses: actions/checkout@v2 - - run: pacman --noconfirm -Syu python python-pip - - run: python -m pip install --upgrade pip - - run: pip install flake8 - - name: Lint with flake8 - run: flake8 # See the .flake8 file for runtime parameters - pytest: - runs-on: ubuntu-latest - container: - image: archlinux:latest - steps: - - uses: actions/checkout@v2 - - run: pacman --noconfirm -Syu python python-pip - - run: python -m pip install --upgrade pip - - run: pip install pytest - # TODO: Add tests and enable pytest checks. -# - name: Test with pytest -# run: | -# pytest diff --git a/.github/workflows/mypy.yaml b/.github/workflows/mypy.yaml new file mode 100644 index 00000000..4f4e938c --- /dev/null +++ b/.github/workflows/mypy.yaml @@ -0,0 +1,16 @@ +on: [ push, pull_request ] +name: mypy type checking +jobs: + mypy: + runs-on: ubuntu-latest + container: + image: archlinux:latest + steps: + - uses: actions/checkout@v2 + - run: pacman --noconfirm -Syu python mypy python-pip + - run: python -m pip install --upgrade pip + - run: pip install fastapi pydantic + - run: python --version + - run: mypy --version + - name: run mypy + run: mypy --strict --module archinstall || exit 0 \ No newline at end of file diff --git a/.github/workflows/pytest.yaml b/.github/workflows/pytest.yaml new file mode 100644 index 00000000..39ef62c9 --- /dev/null +++ b/.github/workflows/pytest.yaml @@ -0,0 +1,15 @@ +on: [ push, pull_request ] +name: pytest test validation +jobs: + pytest: + runs-on: ubuntu-latest + container: + image: archlinux:latest + options: --privileged + steps: + - uses: actions/checkout@v2 + - run: pacman --noconfirm -Syu python python-pip qemu gcc + - run: python -m pip install --upgrade pip + - run: pip install pytest + - name: Test with pytest + run: python -m pytest || exit 0 \ No newline at end of file -- cgit v1.2.3-54-g00ecf