From d9c9b093a2dc1eae9a3f94573a7b7e597e8435ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=9Clgen=20Sar=C4=B1kavak?= Date: Sat, 22 Nov 2025 15:27:26 +0300 Subject: [PATCH 1/7] Remove references for unused tools --- README.md | 15 ++------------- compose.yml | 4 ---- requirements.txt | 1 - 3 files changed, 2 insertions(+), 18 deletions(-) diff --git a/README.md b/README.md index 899cd4b..d061656 100644 --- a/README.md +++ b/README.md @@ -128,24 +128,13 @@ in the documentation. ### Linting & Formatting -Django uses the following linting and formatting tools: `black`, `flake8`, -`isort`, and `eslint`. To ensure that the correct versions are used, Django -also supports using `pre-commit` which is the mechanism provided here: +The project uses `pre-commit` to configure and manage lint and formating tools. +Those tools can be invoked using the following command: ```console $ docker compose run --rm pre-commit ``` -You can run individual tools by passing them as an argument: - -```console -$ docker compose run --rm pre-commit black -$ docker compose run --rm pre-commit blacken-docs -$ docker compose run --rm pre-commit isort -$ docker compose run --rm pre-commit flake8 -$ docker compose run --rm pre-commit eslint # XXX: Currently not working. -``` - More information about Django's [coding style][5] can be found in the documentation. diff --git a/compose.yml b/compose.yml index fc65ac7..18cf4cb 100644 --- a/compose.yml +++ b/compose.yml @@ -389,10 +389,6 @@ services: <<: *base entrypoint: pre-commit run --all-files working_dir: /django/source - environment: - # XXX: Disable eslint due to issues finding dependencies. - # See https://github.com/django/django/pull/18162 - SKIP: eslint sphinx: <<: *base diff --git a/requirements.txt b/requirements.txt index c31c519..475c4f7 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,2 @@ -black pre-commit unittest-xml-reporting From aa8fb3aa32c7c5d9330364d775a4ea4ce095738f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=9Clgen=20Sar=C4=B1kavak?= Date: Sat, 22 Nov 2025 15:30:05 +0300 Subject: [PATCH 2/7] Update the ref for legacy hook https://github.com/astral-sh/ruff-pre-commit/blob/aad66557af3b56ba6d4d69cd1b6cba87cef50cbb/.pre-commit-hooks.yaml#L23 https://github.com/astral-sh/ruff-pre-commit/pull/124 --- .pre-commit-config.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 1aa3f4c..16e56af 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -31,9 +31,9 @@ repos: - id: requirements-txt-fixer - id: trailing-whitespace - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.8.2 + rev: v0.14.6 hooks: - - id: ruff + - id: ruff-check args: [--exit-non-zero-on-fix, --fix] - id: ruff-format args: [--check] From c34bcc44731d58c349c7e52773b35bef9437d161 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=9Clgen=20Sar=C4=B1kavak?= Date: Sat, 22 Nov 2025 15:36:24 +0300 Subject: [PATCH 3/7] Explicit definition for checked ruff rules Default config is imported from https://docs.astral.sh/ruff/configuration/ --- ruff.toml | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 ruff.toml diff --git a/ruff.toml b/ruff.toml new file mode 100644 index 0000000..8097b65 --- /dev/null +++ b/ruff.toml @@ -0,0 +1,11 @@ +[lint] +select = [ + # https://docs.astral.sh/ruff/rules/#error-e + # https://github.com/PyCQA/pycodestyle + "E4", + "E7", + "E9", + # https://docs.astral.sh/ruff/rules/#pyflakes-f + # https://github.com/PyCQA/pyflakes + "F", +] From 055ff6f86f833c10b8d43e0f3f76157c147000ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=9Clgen=20Sar=C4=B1kavak?= Date: Sat, 22 Nov 2025 15:41:33 +0300 Subject: [PATCH 4/7] Replace deprecated hook with pyupgrade https://github.com/pre-commit/pre-commit-hooks/pull/1034 > ### Deprecated / replaced hooks > - `check-byte-order-marker`: instead use fix-byte-order-marker > - `fix-encoding-pragma`: instead use [`pyupgrade`](https://github.com/asottile/pyupgrade) --- .pre-commit-config.yaml | 2 -- ruff.toml | 3 +++ 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 16e56af..fbd153f 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -26,8 +26,6 @@ repos: args: [--unique] files: ^(?:packages|requirements)\.txt$ - id: fix-byte-order-marker - - id: fix-encoding-pragma - args: [--remove] - id: requirements-txt-fixer - id: trailing-whitespace - repo: https://github.com/astral-sh/ruff-pre-commit diff --git a/ruff.toml b/ruff.toml index 8097b65..584afff 100644 --- a/ruff.toml +++ b/ruff.toml @@ -8,4 +8,7 @@ select = [ # https://docs.astral.sh/ruff/rules/#pyflakes-f # https://github.com/PyCQA/pyflakes "F", + # https://docs.astral.sh/ruff/rules/#pyupgrade-up + # https://github.com/asottile/pyupgrade + "UP", ] From 582e5ab74314917fc904b91ce2f882c50f080125 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=9Clgen=20Sar=C4=B1kavak?= Date: Sat, 22 Nov 2025 15:42:07 +0300 Subject: [PATCH 5/7] Update pre-commit hooks --- .pre-commit-config.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index fbd153f..d16170d 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -7,7 +7,7 @@ repos: - id: check-hooks-apply - id: check-useless-excludes - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v5.0.0 + rev: v6.0.0 hooks: - id: check-added-large-files - id: check-builtin-literals @@ -36,16 +36,16 @@ repos: - id: ruff-format args: [--check] - repo: https://github.com/adrienverge/yamllint.git - rev: v1.35.1 + rev: v1.37.1 hooks: - id: yamllint args: [--strict] - repo: https://github.com/hadolint/hadolint - rev: v2.12.0 + rev: v2.14.0 hooks: - id: hadolint-docker name: hadolint - repo: https://github.com/woodruffw/zizmor-pre-commit - rev: v0.9.2 + rev: v1.16.3 hooks: - id: zizmor From 243f9f32be2d9fb2ab7c852da8757fcdbda83829 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=9Clgen=20Sar=C4=B1kavak?= Date: Sat, 22 Nov 2025 15:46:39 +0300 Subject: [PATCH 6/7] Pin Ubuntu version for lint workflow --- .github/workflows/lint.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 13f8e2c..285ee1a 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -20,7 +20,7 @@ env: jobs: pre-commit: - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 name: pre-commit steps: - name: Checkout From c8d549ab003c3c6563fcce0378916986495818b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=9Clgen=20Sar=C4=B1kavak?= Date: Sat, 22 Nov 2025 15:48:20 +0300 Subject: [PATCH 7/7] Update action dependencies --- .github/workflows/lint.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 285ee1a..c1c8b85 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -24,11 +24,11 @@ jobs: name: pre-commit steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: persist-credentials: false - name: Set up Python - uses: actions/setup-python@v5 + uses: actions/setup-python@v6 with: python-version: '3.13' cache: pip