From f56fdde579487a385a98043fb06c46d4b54bb61e Mon Sep 17 00:00:00 2001
From: Varac <varac@varac.net>
Date: Wed, 1 Dec 2021 11:13:28 +0100
Subject: [PATCH] Use darker to pylint only changed lines

Closes: #82
---
 .gitlab-ci.yml                    | 34 +++++++++++++------------------
 test/lint/pylint/Dockerfile       | 11 ++++++----
 test/lint/pylint/requirements.txt |  2 +-
 3 files changed, 22 insertions(+), 25 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 705eff4..79dd99b 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -3,9 +3,7 @@ include:
 
 stages:
   - build
-  - build-test-images
-  # TODO: Re-enable after fixing #82
-  # - lint
+  - lint
   - application-test
   - integration-test
 
@@ -43,7 +41,7 @@ login_provider:
       - .gitlab-ci.yml
 
 integration_test_app:
-  stage: build-test-images
+  stage: build
   variables:
     KANIKO_CONTEXT: "test/integration_tests"
     KANIKO_BUILD_IMAGENAME: $CI_JOB_NAME
@@ -54,7 +52,7 @@ integration_test_app:
       - .gitlab-ci.yml
 
 integration_test:
-  stage: build-test-images
+  stage: build
   variables:
     KANIKO_CONTEXT: "test/integration_tests/test"
     KANIKO_BUILD_IMAGENAME: $CI_JOB_NAME
@@ -66,7 +64,7 @@ integration_test:
       - .gitlab-ci.yml
 
 pylint:
-  stage: build-test-images
+  stage: build
   variables:
     KANIKO_CONTEXT: "test/lint/pylint"
     KANIKO_BUILD_IMAGENAME: $CI_JOB_NAME
@@ -167,17 +165,13 @@ behave-integration:
     expire_in: 1 month
     when: on_failure
 
-# TODO: Fix https://open.greenhost.net/stackspin/single-sign-on/-/issues/82
-#
-# pylint-lint:
-#   stage: lint
-#   variables:
-#     GIT_AUTHOR_NAME: "RUNNER"
-#     GIT_AUTHOR_EMAIL: "runner@greenhost.net"
-#     PYLINT_PLUGINS: "pylint_flask pylint_flask_sqlalchemy"
-#   image: ${CI_REGISTRY_IMAGE}/pylint:${CI_COMMIT_REF_NAME}
-#   script:
-#     - echo "Reverting back to main to squash commits"
-#     - git reset --soft main
-#     - git lint
-
+pylint-lint:
+  stage: lint
+  variables:
+    GIT_STRATEGY: clone
+    GIT_DEPTH: 0
+    PYLINT_PLUGINS: "pylint_flask pylint_flask_sqlalchemy"
+  image: ${CI_REGISTRY_IMAGE}/pylint:${CI_COMMIT_REF_NAME}
+  script:
+    - git branch -a
+    - darker -L pylint --diff --revision remotes/origin/main .
diff --git a/test/lint/pylint/Dockerfile b/test/lint/pylint/Dockerfile
index ab29341..bab8f33 100644
--- a/test/lint/pylint/Dockerfile
+++ b/test/lint/pylint/Dockerfile
@@ -1,6 +1,9 @@
-FROM python:3.9-alpine
+FROM python:3.10-alpine
 
-RUN apk add build-base git bc
+COPY requirements.txt /
 
-COPY requirements.txt ./
-RUN pip3 install --no-cache-dir -r requirements.txt
+RUN apk add --no-cache \
+      build-base=0.5-r2 \
+      git=2.34.1-r0 \
+      bc=1.07.1-r1 && \
+    pip3 install --no-cache-dir -r requirements.txt
diff --git a/test/lint/pylint/requirements.txt b/test/lint/pylint/requirements.txt
index aa428fe..c36b80b 100644
--- a/test/lint/pylint/requirements.txt
+++ b/test/lint/pylint/requirements.txt
@@ -1,4 +1,4 @@
+darker
 pylint
 pylint-flask-sqlalchemy
 pylint-flask
-git-lint
-- 
GitLab