From 0cda12a30fcc277e1b5e84cee92b6359556a4905 Mon Sep 17 00:00:00 2001 From: nvuillam Date: Tue, 11 Jul 2023 21:33:09 +0200 Subject: [PATCH 1/2] Remove linters not in flavor before calling reporters --- CHANGELOG.md | 1 + megalinter/MegaLinter.py | 9 +++++---- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3e4e25220a9..c25af0f5325 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,7 @@ Note: Can be used with `oxsecurity/megalinter@beta` in your GitHub Action mega-l - Devskim: Remove default --ignore-globs argument - mypy: USe /tmp as cache folder by default with ENV MYPY_CACHE_DIR=/tmp in Dockerfile - Fix `hadolint` to use its default configuration file properly. + - Remove linters not in flavor before calling reporters - Reporters - New Redis reporter (alpha) diff --git a/megalinter/MegaLinter.py b/megalinter/MegaLinter.py index 43e8f8e9b80..8bcb894d5e7 100644 --- a/megalinter/MegaLinter.py +++ b/megalinter/MegaLinter.py @@ -211,10 +211,6 @@ def run(self): if linter.apply_fixes is True: linters_do_fixes = True - # Initialize reports - for reporter in self.reporters: - reporter.initialize() - # Display warning if selected flavors doesn't match all linters if ( flavor_factory.check_active_linters_match_flavor( @@ -222,10 +218,15 @@ def run(self): ) is False ): + # Remove linters that are not existing in the flavor active_linters = [ linter for linter in active_linters if linter.is_active is True ] + # Initialize reports + for reporter in self.reporters: + reporter.initialize() + if ( config.get(self.request_id, "PARALLEL", "true") == "true" and len(active_linters) > 1 From 20da7939415dc182934f501d828b95334dfa2641 Mon Sep 17 00:00:00 2001 From: nvuillam Date: Tue, 11 Jul 2023 21:42:43 +0200 Subject: [PATCH 2/2] Update dev dockerfile --- server/Dockerfile-dev | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/server/Dockerfile-dev b/server/Dockerfile-dev index fb8a793300d..101d8aa3f1a 100644 --- a/server/Dockerfile-dev +++ b/server/Dockerfile-dev @@ -1,3 +1,5 @@ +FROM hadolint/hadolint:v2.12.0-alpine as hadolint + FROM python:3.11-alpine WORKDIR / @@ -10,8 +12,15 @@ RUN apk add \ RUN npm install eslint stylelint --global +COPY --link --from=hadolint /bin/hadolint /usr/bin/hadolint + +ENV MEGALINTER_FLAVOR=security + # Core MegaLinter COPY megalinter /megalinter + + + RUN PYTHONDONTWRITEBYTECODE=1 python /megalinter/setup.py install \ && PYTHONDONTWRITEBYTECODE=1 python /megalinter/setup.py clean --all \ && rm -rf /var/cache/apk/* \