diff --git a/pgproto/.gitlab-ci.yml b/pgproto/.gitlab-ci.yml
index e2547b489747929213bdc74f6cdc57c1193388ab..57446e8611f2d1d2a2e01c5ae2a7ac9cb6bd750c 100644
--- a/pgproto/.gitlab-ci.yml
+++ b/pgproto/.gitlab-ci.yml
@@ -36,6 +36,26 @@ variables:
         echo "No cache found"
       fi
 
+lint-for-tests:
+  stage: test
+  tags:
+    - docker
+  image:
+    name: ${BASE_IMAGE}
+    pull_policy: if-not-present
+  variables:
+    GIT_DEPTH: 100
+    GIT_SUBMODULE_STRATEGY: recursive
+
+  script:
+    - |
+      # Pipenv install
+      ci-log-section start "pipenv-install" Installing pip dependencies ...
+      PIPENV_VENV_IN_PROJECT=1 PIP_NO_CACHE_DIR=true python3.10 -m pipenv install --deploy
+      ci-log-section end "pipenv-install"
+    # - pipenv run pytest --numprocesses auto -v
+    - pipenv run lint
+
 test-linux:
   extends: .test
   tags:
@@ -53,14 +73,6 @@ test-linux:
     - cargo clippy --version
     - cargo clippy -- --deny clippy::all
 
-    - |
-      # Pipenv install
-      ci-log-section start "pipenv-install" Installing pip dependencies ...
-      PIPENV_VENV_IN_PROJECT=1 PIP_NO_CACHE_DIR=true python3.10 -m pipenv install --deploy
-      ci-log-section end "pipenv-install"
-    # - pipenv run pytest --numprocesses auto -v
-    # - pipenv run lint
-
     - |
       # Save cache
       if [ "$CI_COMMIT_BRANCH" == "$CI_DEFAULT_BRANCH" ]; then