From 8361c81cdfd81f3886caba70006e186967f34442 Mon Sep 17 00:00:00 2001 From: Maximilian Hils Date: Tue, 29 Nov 2022 13:53:33 +0100 Subject: [PATCH] add autofix.ci --- .github/workflows/autofix.yml | 40 +++++++++++++++++++ CHANGELOG.md | 1 + README.md | 1 + docs/scripts/api-events.py | 16 ++++++-- examples/contrib/mitmproxywrapper.py | 3 +- .../data/addonscripts/import_error.py | 2 + 6 files changed, 58 insertions(+), 5 deletions(-) create mode 100644 .github/workflows/autofix.yml diff --git a/.github/workflows/autofix.yml b/.github/workflows/autofix.yml new file mode 100644 index 000000000..90aa5dd41 --- /dev/null +++ b/.github/workflows/autofix.yml @@ -0,0 +1,40 @@ +name: autofix.ci +on: [ push, pull_request ] +permissions: + contents: read + +jobs: + autofix: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + + - uses: install-pinned/pyupgrade@847ef2b8aa35a3817372540b887f4130d864d6b7 + - name: Run pyupgrade + run: | + shopt -s globstar + export GLOBIGNORE='mitmproxy/contrib/**' + pyupgrade --exit-zero-even-if-changed --keep-runtime-typing --py39-plus **/*.py + + - uses: install-pinned/reorder_python_imports@97c3e89c53ae5513cc41716e876e26daff8bbdd6 + - name: Run reorder-python-imports + run: | + shopt -s globstar + export GLOBIGNORE='mitmproxy/contrib/**' + reorder-python-imports --exit-zero-even-if-changed --py39-plus **/*.py + - uses: install-pinned/yesqa@b752c9eed899985c6df094e35d7a5a5bd1b94acb + + - name: Run yesqa + run: | + shopt -s globstar + export GLOBIGNORE='mitmproxy/contrib/**' + yesqa **/*.py || true + - uses: install-pinned/autoflake@fa3c1715169ac36d903ee9d492d64beb5cad331f + - run: autoflake --in-place --remove-all-unused-imports --exclude contrib -r . + + - uses: install-pinned/black@81e6dbf82145462d413a6662dd703fa382edeb11 + - run: black --extend-exclude mitmproxy/contrib . + + - uses: mhils/add-pr-ref-in-changelog@main + + - uses: autofix-ci/action@8bc06253bec489732e5f9c52884c7cace15c0160 diff --git a/CHANGELOG.md b/CHANGELOG.md index c460a474f..64292246e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ ([#5435](https://github.com/mitmproxy/mitmproxy/issues/5435), @meitinger) * ASGI/WSGI apps can now listen on all ports for a specific hostname. This makes it simpler to accept both HTTP and HTTPS. + ([#5725](https://github.com/mitmproxy/mitmproxy/pull/5725), @mhils) ### Breaking Changes diff --git a/README.md b/README.md index 4b65402f7..928374c0b 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,7 @@ # mitmproxy [![Continuous Integration Status](https://github.com/mitmproxy/mitmproxy/workflows/CI/badge.svg?branch=main)](https://github.com/mitmproxy/mitmproxy/actions?query=branch%3Amain) +[![autofix.ci: enabled](https://shields.mitmproxy.org/badge/autofix.ci-yes-success?logo=data:image/svg+xml;base64,PHN2ZyBmaWxsPSIjZmZmIiB2aWV3Qm94PSIwIDAgMTI4IDEyOCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCB0cmFuc2Zvcm09InNjYWxlKDAuMDYxLC0wLjA2MSkgdHJhbnNsYXRlKC0yNTAsLTE3NTApIiBkPSJNMTMyNSAtMzQwcS0xMTUgMCAtMTY0LjUgMzIuNXQtNDkuNSAxMTQuNXEwIDMyIDUgNzAuNXQxMC41IDcyLjV0NS41IDU0djIyMHEtMzQgLTkgLTY5LjUgLTE0dC03MS41IC01cS0xMzYgMCAtMjUxLjUgNjJ0LTE5MSAxNjl0LTkyLjUgMjQxcS05MCAxMjAgLTkwIDI2NnEwIDEwOCA0OC41IDIwMC41dDEzMiAxNTUuNXQxODguNSA4MXExNSA5OSAxMDAuNSAxODAuNXQyMTcgMTMwLjV0MjgyLjUgNDlxMTM2IDAgMjU2LjUgLTQ2IHQyMDkgLTEyNy41dDEyOC41IC0xODkuNXExNDkgLTgyIDIyNyAtMjEzLjV0NzggLTI5OS41cTAgLTEzNiAtNTggLTI0NnQtMTY1LjUgLTE4NC41dC0yNTYuNSAtMTAzLjVsLTI0MyAtMzAwdi01MnEwIC0yNyAzLjUgLTU2LjV0Ni41IC01Ny41dDMgLTUycTAgLTg1IC00MS41IC0xMTguNXQtMTU3LjUgLTMzLjV6TTEzMjUgLTI2MHE3NyAwIDk4IDE0LjV0MjEgNTcuNXEwIDI5IC0zIDY4dC02LjUgNzN0LTMuNSA0OHY2NGwyMDcgMjQ5IHEtMzEgMCAtNjAgNS41dC01NCAxMi41bC0xMDQgLTEyM3EtMSAzNCAtMiA2My41dC0xIDU0LjVxMCA2OSA5IDEyM2wzMSAyMDBsLTExNSAtMjhsLTQ2IC0yNzFsLTIwNSAyMjZxLTE5IC0xNSAtNDMgLTI4LjV0LTU1IC0yNi41bDIxOSAtMjQydi0yNzZxMCAtMjAgLTUuNSAtNjB0LTEwLjUgLTc5dC01IC01OHEwIC00MCAzMCAtNTMuNXQxMDQgLTEzLjV6TTEyNjIgNjE2cS0xMTkgMCAtMjI5LjUgMzQuNXQtMTkzLjUgOTYuNWw0OCA2NCBxNzMgLTU1IDE3MC41IC04NXQyMDQuNSAtMzBxMTM3IDAgMjQ5IDQ1LjV0MTc5IDEyMXQ2NyAxNjUuNWg4MHEwIC0xMTQgLTc3LjUgLTIwNy41dC0yMDggLTE0OXQtMjg5LjUgLTU1LjV6TTgwMyA1OTVxODAgMCAxNDkgMjkuNXQxMDggNzIuNWwyMjEgLTY3bDMwOSA4NnE0NyAtMzIgMTA0LjUgLTUwdDExNy41IC0xOHE5MSAwIDE2NSAzOHQxMTguNSAxMDMuNXQ0NC41IDE0Ni41cTAgNzYgLTM0LjUgMTQ5dC05NS41IDEzNHQtMTQzIDk5IHEtMzcgMTA3IC0xMTUuNSAxODMuNXQtMTg2IDExNy41dC0yMzAuNSA0MXEtMTAzIDAgLTE5Ny41IC0yNnQtMTY5IC03Mi41dC0xMTcuNSAtMTA4dC00MyAtMTMxLjVxMCAtMzQgMTQuNSAtNjIuNXQ0MC41IC01MC41bC01NSAtNTlxLTM0IDI5IC01NCA2NS41dC0yNSA4MS41cS04MSAtMTggLTE0NSAtNzB0LTEwMSAtMTI1LjV0LTM3IC0xNTguNXEwIC0xMDIgNDguNSAtMTgwLjV0MTI5LjUgLTEyM3QxNzkgLTQ0LjV6Ii8+PC9zdmc+)](https://autofix.ci) [![Coverage Status](https://shields.mitmproxy.org/codecov/c/github/mitmproxy/mitmproxy/main.svg?label=codecov)](https://codecov.io/gh/mitmproxy/mitmproxy) [![Latest Version](https://shields.mitmproxy.org/pypi/v/mitmproxy.svg)](https://pypi.python.org/pypi/mitmproxy) [![Supported Python versions](https://shields.mitmproxy.org/pypi/pyversions/mitmproxy.svg)](https://pypi.python.org/pypi/mitmproxy) diff --git a/docs/scripts/api-events.py b/docs/scripts/api-events.py index d4d934bf3..94f65f0de 100644 --- a/docs/scripts/api-events.py +++ b/docs/scripts/api-events.py @@ -4,9 +4,19 @@ import inspect import textwrap from pathlib import Path -from mitmproxy import hooks, log, addonmanager -from mitmproxy.proxy import server_hooks, layer -from mitmproxy.proxy.layers import dns, http, modes, quic, tcp, tls, udp, websocket +from mitmproxy import addonmanager +from mitmproxy import hooks +from mitmproxy import log +from mitmproxy.proxy import layer +from mitmproxy.proxy import server_hooks +from mitmproxy.proxy.layers import dns +from mitmproxy.proxy.layers.http import _hooks as http +from mitmproxy.proxy.layers import modes +from mitmproxy.proxy.layers import quic +from mitmproxy.proxy.layers import tcp +from mitmproxy.proxy.layers import tls +from mitmproxy.proxy.layers import udp +from mitmproxy.proxy.layers import websocket known = set() diff --git a/examples/contrib/mitmproxywrapper.py b/examples/contrib/mitmproxywrapper.py index 361093e7b..075cc3c04 100644 --- a/examples/contrib/mitmproxywrapper.py +++ b/examples/contrib/mitmproxywrapper.py @@ -87,8 +87,7 @@ class Wrapper: service_names = [] for service_id in service_ids: - scutil_script = 'show Setup:/Network/Service/{}\n'.format( - service_id) + scutil_script = f"show Setup:/Network/Service/{service_id}\n" stdout = self.run_command_with_input( '/usr/sbin/scutil', scutil_script) diff --git a/test/mitmproxy/data/addonscripts/import_error.py b/test/mitmproxy/data/addonscripts/import_error.py index e868bcc34..1418bc5fd 100644 --- a/test/mitmproxy/data/addonscripts/import_error.py +++ b/test/mitmproxy/data/addonscripts/import_error.py @@ -1 +1,3 @@ import nonexistent + +nonexistent.foo()