diff --git a/.gitea/workflows/code-review.yml b/.gitea/workflows/code-review.yml new file mode 100644 index 0000000..c7e0049 --- /dev/null +++ b/.gitea/workflows/code-review.yml @@ -0,0 +1,35 @@ +name: Review pull request + +on: + pull_request: + branches-ignore: + - main + +jobs: + review: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v6 + with: + ref: ${{ gitea.ref }} + + - uses: actions/setup-python@v6 + with: + python-version: '3.12' + + - name: Install pipenv + run: pip install pipenv + shell: bash + + - name: Sync Pipfile + run: pipenv sync --verbose --dev --system + shell: bash + + - name: Python Linting + uses: JacobDomagala/StaticAnalysis@v0.0.8 + with: + language: "Python" + pylint_args: "--load-plugins pylint_django --django-settings-module=rsvpproject.settings" + python_dirs: "rsvpproject events" + pr_num: ${{ gitea.event.pull_request.number }} diff --git a/Pipfile b/Pipfile index 7fac987..5d8083e 100644 --- a/Pipfile +++ b/Pipfile @@ -13,6 +13,8 @@ blacknoise = "*" twisted = {extras = ["http2", "tls"], version = "*"} [dev-packages] +pylint = "*" +pylint-django = "*" [requires] python_version = "3.12" diff --git a/Pipfile.lock b/Pipfile.lock index 534260c..b1d74ac 100644 --- a/Pipfile.lock +++ b/Pipfile.lock @@ -1,7 +1,7 @@ { "_meta": { "hash": { - "sha256": "07e2a33b6016199f2401424d35bc436e5355db12dd734f543d2633b4dd31a22d" + "sha256": "2e341eb3f5d30263fd1dd98309846356319234a34e4ee3b1817f5f88ba8683b9" }, "pipfile-spec": 6, "requires": { @@ -796,5 +796,79 @@ "version": "==8.2" } }, - "develop": {} + "develop": { + "astroid": { + "hashes": [ + "sha256:52f39653876c7dec3e3afd4c2696920e05c83832b9737afc21928f2d2eb7a753", + "sha256:986fed8bcf79fb82c78b18a53352a0b287a73817d6dbcfba3162da36667c49a0" + ], + "markers": "python_full_version >= '3.10.0'", + "version": "==4.0.4" + }, + "dill": { + "hashes": [ + "sha256:1e1ce33e978ae97fcfcff5638477032b801c46c7c65cf717f95fbc2248f79a9d", + "sha256:423092df4182177d4d8ba8290c8a5b640c66ab35ec7da59ccfa00f6fa3eea5fa" + ], + "markers": "python_version >= '3.11'", + "version": "==0.4.1" + }, + "isort": { + "hashes": [ + "sha256:171ac4ff559cdc060bcfff550bc8404a486fee0caab245679c2abe7cb253c78d", + "sha256:28b89bc70f751b559aeca209e6120393d43fbe2490de0559662be7a9787e3d75" + ], + "markers": "python_full_version >= '3.10.0'", + "version": "==8.0.1" + }, + "mccabe": { + "hashes": [ + "sha256:348e0240c33b60bbdf4e523192ef919f28cb2c3d7d5c7794f74009290f236325", + "sha256:6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e" + ], + "markers": "python_version >= '3.6'", + "version": "==0.7.0" + }, + "platformdirs": { + "hashes": [ + "sha256:1ec356301b7dc906d83f371c8f487070e99d3ccf9e501686456394622a01a934", + "sha256:68a9a4619a666ea6439f2ff250c12a853cd1cbd5158d258bd824a7df6be2f868" + ], + "markers": "python_version >= '3.10'", + "version": "==4.9.4" + }, + "pylint": { + "hashes": [ + "sha256:00f51c9b14a3b3ae08cff6b2cdd43f28165c78b165b628692e428fb1f8dc2cf2", + "sha256:8cd6a618df75deb013bd7eb98327a95f02a6fb839205a6bbf5456ef96afb317c" + ], + "index": "pypi", + "markers": "python_full_version >= '3.10.0'", + "version": "==4.0.5" + }, + "pylint-django": { + "hashes": [ + "sha256:76ef7e7bbbcf7ee86adbb2beac0ffaa7232509a17bf4a488d81467a1bbaa215b" + ], + "index": "pypi", + "markers": "python_version >= '3.9' and python_version < '4.0'", + "version": "==2.7.0" + }, + "pylint-plugin-utils": { + "hashes": [ + "sha256:16e9b84e5326ba893a319a0323fcc8b4bcc9c71fc654fcabba0605596c673818", + "sha256:5468d763878a18d5cc4db46eaffdda14313b043c962a263a7d78151b90132055" + ], + "markers": "python_version >= '3.9' and python_version < '4.0'", + "version": "==0.9.0" + }, + "tomlkit": { + "hashes": [ + "sha256:592064ed85b40fa213469f81ac584f67a4f2992509a7c3ea2d632208623a3680", + "sha256:cf00efca415dbd57575befb1f6634c4f42d2d87dbba376128adb42c121b87064" + ], + "markers": "python_version >= '3.9'", + "version": "==0.14.0" + } + } }