diff --git a/.automation/build.py b/.automation/build.py
index 801457402e1..ad78bf088e3 100644
--- a/.automation/build.py
+++ b/.automation/build.py
@@ -2805,6 +2805,7 @@ def generate_documentation_all_linters():
linters.sort(key=lambda x: x.linter_name)
table_header = [
"Linter",
+ "Supported Platforms",
"Version",
"License",
"Popularity",
@@ -2990,9 +2991,17 @@ def generate_documentation_all_linters():
f"[![GitHub stars](https://img.shields.io/github/stars/{repo}?cacheSeconds=3600)]"
f"(https://github.com/{repo}){{target=_blank}}"
)
+ supported_platforms = []
+ # supported platforms
+ if (
+ hasattr(linter, "supported_platforms")
+ and "platform" in linter.supported_platforms
+ ):
+ supported_platforms += linter.supported_platforms["platform"]
# line
table_line = [
linter.linter_name,
+ ", ".join(supported_platforms),
linter_version,
license,
"N/A",
@@ -3009,6 +3018,7 @@ def generate_documentation_all_linters():
linter_doc_links += [link]
md_table_line = [
md_linter_name,
+ "
".join(supported_platforms),
linter_version,
md_license,
md_popularity,
@@ -3049,10 +3059,10 @@ def generate_documentation_all_linters():
outfile.write("\n\n")
outfile.write("# References\n\n")
outfile.write(
- "| Linter | Version | License | Popularity | Descriptors | Ref | URL |\n"
+ "| Linter | Supported Platforms | Version | License | Popularity | Descriptors | Ref | URL |\n"
)
outfile.write(
- "| :---- | :-----: | :-----: | :-----: | :--------- | :--------------: | :-: |\n"
+ "| :---- | :-----: | :-----: | :-----: | :-----: | :--------- | :--------------: | :-: |\n"
)
for md_table_line in md_table_lines:
outfile.write("| %s |\n" % " | ".join(md_table_line))
diff --git a/.codecov.yml b/.codecov.yml
index ff807c4ceb2..3907d9e8f20 100644
--- a/.codecov.yml
+++ b/.codecov.yml
@@ -1,3 +1,4 @@
+---
# https://docs.codecov.io/docs/commit-status#disabling-a-status
# Disable blocking patch status to avoid to block PRs without good reason !
coverage:
diff --git a/.cspell.json b/.cspell.json
index 5d20dddbc74..25b53c6def9 100644
--- a/.cspell.json
+++ b/.cspell.json
@@ -454,6 +454,7 @@
"Syft",
"Symlinks",
"Syntastic",
+ "TARGETPLATFORM",
"TEAMPROJECT",
"TEKTON",
"TERMIOS",
@@ -492,6 +493,7 @@
"YMLs",
"YOURBRANCH",
"YOURUSERNAME",
+ "aarch64",
"abhith",
"absolutized",
"abstractproperty",
@@ -524,6 +526,7 @@
"arctan",
"aren",
"argparse",
+ "armv6",
"artefacts",
"asdict",
"ashokm",
@@ -1017,6 +1020,7 @@
"msrest",
"mstruebing",
"msvs",
+ "multiarch",
"muandane",
"multiline",
"multimatch",
@@ -1250,6 +1254,7 @@
"returnrules",
"rexec",
"risd",
+ "riscv",
"rmfamily",
"rockspec",
"rockspecs",
diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml
index de0878190d8..ec3edffdd78 100644
--- a/.github/FUNDING.yml
+++ b/.github/FUNDING.yml
@@ -1,3 +1,3 @@
+---
# These are supported funding model platforms
-
github: [nvuillam]
diff --git a/.github/dependabot.yml b/.github/dependabot.yml
index d84aab51f74..ef0565b0255 100644
--- a/.github/dependabot.yml
+++ b/.github/dependabot.yml
@@ -1,3 +1,4 @@
+---
#################################
# GitHub Dependabot Config info #
#################################
diff --git a/.github/linters/.cfnlintrc.yml b/.github/linters/.cfnlintrc.yml
index 16e8c9761f3..19b154e567e 100644
--- a/.github/linters/.cfnlintrc.yml
+++ b/.github/linters/.cfnlintrc.yml
@@ -1,2 +1,3 @@
+---
include_checks:
- I
diff --git a/.github/linters/.checkov.yml b/.github/linters/.checkov.yml
index 90a9a8b8d95..14e0be3db28 100644
--- a/.github/linters/.checkov.yml
+++ b/.github/linters/.checkov.yml
@@ -1,3 +1,4 @@
+---
# You can see all available properties here: https://github.com/bridgecrewio/checkov#configuration-using-a-config-file
quiet: true
skip-check:
diff --git a/.github/linters/.hadolint.yml b/.github/linters/.hadolint.yml
index c1119776011..e9f938cfa3a 100644
--- a/.github/linters/.hadolint.yml
+++ b/.github/linters/.hadolint.yml
@@ -1,3 +1,4 @@
+---
ignored:
- DL3007
- DL3016
diff --git a/.github/linters/.protolintrc.yml b/.github/linters/.protolintrc.yml
index 7bd3e0ced67..57513830da3 100644
--- a/.github/linters/.protolintrc.yml
+++ b/.github/linters/.protolintrc.yml
@@ -1,3 +1,4 @@
+---
# Lint directives.
lint:
# Linter rules.
diff --git a/.github/release-drafter.yml b/.github/release-drafter.yml
index 92b902e8c59..09e84804042 100644
--- a/.github/release-drafter.yml
+++ b/.github/release-drafter.yml
@@ -1,3 +1,4 @@
+---
name-template: "v$RESOLVED_VERSION"
tag-template: "v$RESOLVED_VERSION"
template: |
diff --git a/.github/workflows/auto-update-linters.yml b/.github/workflows/auto-update-linters.yml
index 927299bf7ac..1b79b10af52 100644
--- a/.github/workflows/auto-update-linters.yml
+++ b/.github/workflows/auto-update-linters.yml
@@ -81,7 +81,7 @@ jobs:
with:
context: .
file: Dockerfile
- platforms: linux/amd64
+ platforms: linux/amd64,linux/arm64
build-args: |
BUILD_DATE=${{ env.BUILD_DATE }}
BUILD_REVISION=auto_update_${{ github.sha }}
diff --git a/.github/workflows/deploy-ALPHA-flavors.yml b/.github/workflows/deploy-ALPHA-flavors.yml
index 4fcaf6244a9..187eaaf5dab 100644
--- a/.github/workflows/deploy-ALPHA-flavors.yml
+++ b/.github/workflows/deploy-ALPHA-flavors.yml
@@ -104,7 +104,7 @@ jobs:
with:
context: .
file: flavors/${{ matrix.flavor }}/Dockerfile
- platforms: linux/amd64
+ platforms: linux/amd64,linux/arm64
build-args: |
BUILD_DATE=${{ env.BUILD_DATE }}
BUILD_REVISION=${{ github.sha }}
diff --git a/.github/workflows/deploy-ALPHA.yml b/.github/workflows/deploy-ALPHA.yml
index 5f6857d3580..87337806ffd 100644
--- a/.github/workflows/deploy-ALPHA.yml
+++ b/.github/workflows/deploy-ALPHA.yml
@@ -111,7 +111,7 @@ jobs:
with:
context: .
file: Dockerfile
- platforms: linux/amd64
+ platforms: linux/amd64,linux/arm64
build-args: |
BUILD_DATE=${{ env.BUILD_DATE }}
BUILD_REVISION=${{ github.sha }}
diff --git a/.github/workflows/deploy-BETA-flavors.yml b/.github/workflows/deploy-BETA-flavors.yml
index 43378ad6524..be26182f499 100644
--- a/.github/workflows/deploy-BETA-flavors.yml
+++ b/.github/workflows/deploy-BETA-flavors.yml
@@ -122,7 +122,7 @@ jobs:
with:
context: .
file: flavors/${{ matrix.flavor }}/Dockerfile
- platforms: linux/amd64
+ platforms: linux/amd64,linux/arm64
build-args: |
BUILD_DATE=${{ env.BUILD_DATE }}
BUILD_REVISION=${{ github.sha }}
diff --git a/.github/workflows/deploy-BETA-linters.yml b/.github/workflows/deploy-BETA-linters.yml
index 020817056de..2fa21b1a4a4 100644
--- a/.github/workflows/deploy-BETA-linters.yml
+++ b/.github/workflows/deploy-BETA-linters.yml
@@ -233,7 +233,7 @@ jobs:
with:
context: .
file: linters/${{ matrix.linter }}/Dockerfile
- platforms: linux/amd64
+ platforms: linux/amd64,linux/arm64
build-args: |
BUILD_DATE=${{ env.BUILD_DATE }}
BUILD_REVISION=${{ github.sha }}
diff --git a/.github/workflows/deploy-BETA.yml b/.github/workflows/deploy-BETA.yml
index d20d8829eab..f7926801f1d 100644
--- a/.github/workflows/deploy-BETA.yml
+++ b/.github/workflows/deploy-BETA.yml
@@ -127,7 +127,7 @@ jobs:
with:
context: .
file: Dockerfile
- platforms: linux/amd64
+ platforms: linux/amd64,linux/arm64
build-args: |
BUILD_DATE=${{ env.BUILD_DATE }}
BUILD_REVISION=${{ github.sha }}
diff --git a/.github/workflows/deploy-DEV-linters.yml b/.github/workflows/deploy-DEV-linters.yml
index 43119da6d29..06a54dd883f 100644
--- a/.github/workflows/deploy-DEV-linters.yml
+++ b/.github/workflows/deploy-DEV-linters.yml
@@ -165,7 +165,7 @@ jobs:
"yaml_v8r",
]
# linters-end
- platform: ['linux/amd64']
+ platform: ['linux/amd64', 'linux/arm64']
# Only run this on the main repo
if: |
(
diff --git a/.github/workflows/deploy-DEV.yml b/.github/workflows/deploy-DEV.yml
index 7db6797caed..1aecf27cdd9 100644
--- a/.github/workflows/deploy-DEV.yml
+++ b/.github/workflows/deploy-DEV.yml
@@ -53,6 +53,14 @@ jobs:
# Set the agent to run on
runs-on: ubuntu-latest
permissions: read-all
+ services:
+ registry:
+ image: registry:2
+ ports:
+ - 5000:5000
+ env:
+ # If using Docker Hub, trivy would need to have docker.io as prefix
+ REGISTRY_PREFIX: localhost:5000
# Prevent duplicate run from happening when a forked push is committed
if: (github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository) && !contains(github.event.head_commit.message, 'skip deploy')
# Set max build time for the job
@@ -80,13 +88,15 @@ jobs:
id: meta
with:
images: |
- ${{ github.repository }}
+ ${{ env.REGISTRY_PREFIX }}/${{ github.repository }}
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
+ with:
+ driver-opts: network=host
###################################
# Build image locally for testing #
@@ -98,14 +108,13 @@ jobs:
with:
context: .
file: Dockerfile-quick
- platforms: linux/amd64
+ platforms: linux/amd64,linux/arm64
build-args: |
BUILD_DATE=${{ fromJSON(steps.meta.outputs.json).labels['org.opencontainers.image.created'] }}
BUILD_VERSION=${{ fromJSON(steps.meta.outputs.json).labels['org.opencontainers.image.version'] }}
BUILD_REVISION=${{ fromJSON(steps.meta.outputs.json).labels['org.opencontainers.image.revision'] }}
MEGA_LINTER_BASE_IMAGE="oxsecurity/megalinter:beta"
- load: true
- push: false
+ push: true
secrets: |
GITHUB_TOKEN=${{ secrets.GITHUB_TOKEN }}
tags: ${{ steps.meta.outputs.tags }}
@@ -127,13 +136,12 @@ jobs:
with:
context: .
file: Dockerfile
- platforms: linux/amd64
+ platforms: linux/amd64,linux/arm64
build-args: |
BUILD_DATE=${{ fromJSON(steps.meta.outputs.json).labels['org.opencontainers.image.created'] }}
BUILD_VERSION=${{ fromJSON(steps.meta.outputs.json).labels['org.opencontainers.image.version'] }}
BUILD_REVISION=${{ fromJSON(steps.meta.outputs.json).labels['org.opencontainers.image.revision'] }}
- load: true
- push: false
+ push: true
secrets: |
GITHUB_TOKEN=${{ secrets.GITHUB_TOKEN }}
tags: ${{ steps.meta.outputs.tags }}
@@ -154,13 +162,12 @@ jobs:
with:
context: .
file: Dockerfile
- platforms: linux/amd64
+ platforms: linux/amd64,linux/arm64
build-args: |
BUILD_DATE=${{ fromJSON(steps.meta.outputs.json).labels['org.opencontainers.image.created'] }}
BUILD_VERSION=${{ fromJSON(steps.meta.outputs.json).labels['org.opencontainers.image.version'] }}
BUILD_REVISION=${{ fromJSON(steps.meta.outputs.json).labels['org.opencontainers.image.revision'] }}
- load: true
- push: false
+ push: true
secrets: |
GITHUB_TOKEN=${{ secrets.GITHUB_TOKEN }}
tags: ${{ steps.meta.outputs.tags }}
diff --git a/.mega-linter.yml b/.mega-linter.yml
index 018d5d646a6..4e1068b85bf 100644
--- a/.mega-linter.yml
+++ b/.mega-linter.yml
@@ -1,3 +1,4 @@
+---
# Configuration file for MegaLinter
# See all available variables at https://megalinter.io/configuration/ and in linters documentation
diff --git a/Dockerfile b/Dockerfile
index 5d95cbe4df4..da553d72964 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -62,17 +62,27 @@ FROM alpine/terragrunt:latest as terragrunt
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
#ARG__START
+ARG TARGETPLATFORM
ARG ARM_TTK_NAME='master.zip'
ARG ARM_TTK_URI='https://github.com/Azure/arm-ttk/archive/master.zip'
ARG ARM_TTK_DIRECTORY='/opt/microsoft'
ARG BICEP_EXE='bicep'
-ARG BICEP_URI='https://github.com/Azure/bicep/releases/latest/download/bicep-linux-musl-x64'
ARG BICEP_DIR='/usr/local/bin'
ARG DART_VERSION='2.8.4'
# renovate: datasource=github-tags depName=pmd/pmd extractVersion=^pmd_releases/(?.*)$
@@ -351,11 +361,15 @@ COPY --link --from=terragrunt /bin/terraform /usr/bin/
#OTHER__START
RUN rc-update add docker boot && rc-service docker start || true \
# ARM installation
- && curl -L https://github.com/PowerShell/PowerShell/releases/download/v7.4.2/powershell-7.4.2-linux-musl-x64.tar.gz -o /tmp/powershell.tar.gz \
- && mkdir -p /opt/microsoft/powershell/7 \
- && tar zxf /tmp/powershell.tar.gz -C /opt/microsoft/powershell/7 \
- && chmod +x /opt/microsoft/powershell/7/pwsh \
- && ln -s /opt/microsoft/powershell/7/pwsh /usr/bin/pwsh
+ && case ${TARGETPLATFORM} in \
+ "linux/amd64") POWERSHELL_ARCH=musl-x64 ;; \
+ "linux/arm64") POWERSHELL_ARCH=arm64 ;; \
+esac \
+&& curl -L https://github.com/PowerShell/PowerShell/releases/download/v7.4.2/powershell-7.4.2-linux-${POWERSHELL_ARCH}.tar.gz -o /tmp/powershell.tar.gz \
+&& mkdir -p /opt/microsoft/powershell/7 \
+&& tar zxf /tmp/powershell.tar.gz -C /opt/microsoft/powershell/7 \
+&& chmod +x /opt/microsoft/powershell/7/pwsh \
+&& ln -s /opt/microsoft/powershell/7/pwsh /usr/bin/pwsh
# CLOJURE installation
@@ -479,11 +493,15 @@ ENV PATH="/root/.composer/vendor/bin:${PATH}"
# POWERSHELL installation
# Next line commented because already managed by another linter
-# RUN curl -L https://github.com/PowerShell/PowerShell/releases/download/v7.4.2/powershell-7.4.2-linux-musl-x64.tar.gz -o /tmp/powershell.tar.gz \
-# && mkdir -p /opt/microsoft/powershell/7 \
-# && tar zxf /tmp/powershell.tar.gz -C /opt/microsoft/powershell/7 \
-# && chmod +x /opt/microsoft/powershell/7/pwsh \
-# && ln -s /opt/microsoft/powershell/7/pwsh /usr/bin/pwsh
+# RUN case ${TARGETPLATFORM} in \
+# "linux/amd64") POWERSHELL_ARCH=musl-x64 ;; \
+# "linux/arm64") POWERSHELL_ARCH=arm64 ;; \
+# esac \
+# && curl -L https://github.com/PowerShell/PowerShell/releases/download/v7.4.2/powershell-7.4.2-linux-${POWERSHELL_ARCH}.tar.gz -o /tmp/powershell.tar.gz \
+# && mkdir -p /opt/microsoft/powershell/7 \
+# && tar zxf /tmp/powershell.tar.gz -C /opt/microsoft/powershell/7 \
+# && chmod +x /opt/microsoft/powershell/7/pwsh \
+# && ln -s /opt/microsoft/powershell/7/pwsh /usr/bin/pwsh
# SALESFORCE installation
# Next line commented because already managed by another linter
@@ -535,9 +553,13 @@ RUN curl --retry 5 --retry-delay 5 -sLO "${ARM_TTK_URI}" \
# Managed with COPY --link --from=shfmt /bin/shfmt /usr/bin/
# bicep_linter installation
- && curl --retry 5 --retry-delay 5 -sLo ${BICEP_EXE} "${BICEP_URI}" \
- && chmod +x "${BICEP_EXE}" \
- && mv "${BICEP_EXE}" "${BICEP_DIR}" \
+ && case ${TARGETPLATFORM} in \
+ "linux/amd64") POWERSHELL_ARCH=musl-x64 ;; \
+ "linux/arm64") POWERSHELL_ARCH=arm64 ;; \
+esac \
+&& curl --retry 5 --retry-delay 5 -sLo ${BICEP_EXE} "https://github.com/Azure/bicep/releases/latest/download/bicep-linux-${POWERSHELL_ARCH}" \
+&& chmod +x "${BICEP_EXE}" \
+&& mv "${BICEP_EXE}" "${BICEP_DIR}" \
# clj-kondo installation
&& curl --retry 5 --retry-delay 5 -sLO https://raw.githubusercontent.com/clj-kondo/clj-kondo/master/script/install-clj-kondo \
@@ -551,10 +573,14 @@ RUN curl --retry 5 --retry-delay 5 -sLO "${ARM_TTK_URI}" \
&& dotnet tool install -g roslynator.dotnet.cli \
# dartanalyzer installation
- && wget --tries=5 https://storage.googleapis.com/dart-archive/channels/stable/release/${DART_VERSION}/sdk/dartsdk-linux-x64-release.zip -O - -q | unzip -q - \
- && chmod +x dart-sdk/bin/dart* \
- && mv dart-sdk/bin/* /usr/bin/ && mv dart-sdk/lib/* /usr/lib/ && mv dart-sdk/include/* /usr/include/ \
- && rm -r dart-sdk/ \
+ && case ${TARGETPLATFORM} in \
+ "linux/amd64") DART_ARCH=x64 ;; \
+ "linux/arm64") DART_ARCH=arm64 ;; \
+esac \
+&& wget --tries=5 https://storage.googleapis.com/dart-archive/channels/stable/release/${DART_VERSION}/sdk/dartsdk-linux-${DART_ARCH}-release.zip -O - -q | unzip -q - \
+&& chmod +x dart-sdk/bin/dart* \
+&& mv dart-sdk/bin/* /usr/bin/ && mv dart-sdk/lib/* /usr/lib/ && mv dart-sdk/include/* /usr/include/ \
+&& rm -r dart-sdk/ \
# hadolint installation
# Managed with COPY --link --from=hadolint /bin/hadolint /usr/bin/hadolint
diff --git a/docs/all_linters.md b/docs/all_linters.md
index c53cd76ddfd..fb8ecdf09fc 100644
--- a/docs/all_linters.md
+++ b/docs/all_linters.md
@@ -3,32 +3,120 @@
# References
-| Linter | Version | License | Popularity | Descriptors | Ref | URL |
-|:-------------------------------------------------------------------------------------------------------------------|:-------------:|:----------------------------------------------:|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-------------------:|:---------------------------------------------------------------------------------------------------------------------------------------------------:|
-| [**actionlint**](https://github.com/rhysd/actionlint){target=_blank} | 1.7.1 | [MIT](licenses/actionlint.md) | [![GitHub stars](https://img.shields.io/github/stars/rhysd/actionlint?cacheSeconds=3600)](https://github.com/rhysd/actionlint){target=_blank} | [ACTION](descriptors/action_actionlint.md) | :white_circle: | [Repository](https://github.com/rhysd/actionlint){target=_blank} |
-| [**ansible-lint**](https://github.com/ansible/ansible-lint){target=_blank} | 24.6.0 | [GPL-3.0](licenses/ansible-lint.md) | [![GitHub stars](https://img.shields.io/github/stars/ansible/ansible-lint?cacheSeconds=3600)](https://github.com/ansible/ansible-lint){target=_blank} | [ANSIBLE](descriptors/ansible_ansible_lint.md) | :white_circle: | [Repository](https://github.com/ansible/ansible-lint){target=_blank} |
-| [**arm-ttk**](https://github.com/Azure/arm-ttk){target=_blank} | N/A | [MIT](licenses/arm-ttk.md) | [![GitHub stars](https://img.shields.io/github/stars/Azure/arm-ttk?cacheSeconds=3600)](https://github.com/Azure/arm-ttk){target=_blank} | [ARM](descriptors/arm_arm_ttk.md) | :white_circle: | [Repository](https://github.com/Azure/arm-ttk){target=_blank} |
-| [**bandit**](https://github.com/PyCQA/bandit){target=_blank} | 1.7.8 | [Apache-2.0](licenses/bandit.md) | [![GitHub stars](https://img.shields.io/github/stars/PyCQA/bandit?cacheSeconds=3600)](https://github.com/PyCQA/bandit){target=_blank} | [PYTHON](descriptors/python_bandit.md) | :white_circle: | [Repository](https://github.com/PyCQA/bandit){target=_blank} |
-| [**bash-exec**](https://www.gnu.org/software/bash/){target=_blank} | 5.2.21 | | | [BASH](descriptors/bash_bash_exec.md) | | [Web Site](https://www.gnu.org/software/bash/){target=_blank} |
-| [**bicep_linter**](https://github.com/Azure/bicep){target=_blank} | 0.28.1 | [MIT](licenses/bicep_linter.md) | [![GitHub stars](https://img.shields.io/github/stars/Azure/bicep?cacheSeconds=3600)](https://github.com/Azure/bicep){target=_blank} | [BICEP](descriptors/bicep_bicep_linter.md) | :white_circle: | [Repository](https://github.com/Azure/bicep){target=_blank} |
-| [**black**](https://github.com/psf/black){target=_blank} | 24.4.2 | [MIT](licenses/black.md) | [![GitHub stars](https://img.shields.io/github/stars/psf/black?cacheSeconds=3600)](https://github.com/psf/black){target=_blank} | [PYTHON](descriptors/python_black.md) | :white_circle: | [Repository](https://github.com/psf/black){target=_blank} |
-| [**cfn-lint**](https://github.com/aws-cloudformation/cfn-lint){target=_blank} | 0.87.5 | [MIT-0](licenses/cfn-lint.md) | [![GitHub stars](https://img.shields.io/github/stars/aws-cloudformation/cfn-lint?cacheSeconds=3600)](https://github.com/aws-cloudformation/cfn-lint){target=_blank} | [CLOUDFORMATION](descriptors/cloudformation_cfn_lint.md) | :white_circle: | [Repository](https://github.com/aws-cloudformation/cfn-lint){target=_blank} |
-| [**checkmake**](https://github.com/mrtazz/checkmake){target=_blank} | 0.2.0 | [MIT](licenses/checkmake.md) | [![GitHub stars](https://img.shields.io/github/stars/mrtazz/checkmake?cacheSeconds=3600)](https://github.com/mrtazz/checkmake){target=_blank} | [MAKEFILE](descriptors/makefile_checkmake.md) | :white_circle: | [Repository](https://github.com/mrtazz/checkmake){target=_blank} |
-| [**checkov**](https://github.com/bridgecrewio/checkov){target=_blank} | 3.2.130 | [Apache-2.0](licenses/checkov.md) | [![GitHub stars](https://img.shields.io/github/stars/bridgecrewio/checkov?cacheSeconds=3600)](https://github.com/bridgecrewio/checkov){target=_blank} | [REPOSITORY](descriptors/repository_checkov.md) | :no_entry_sign: | [Repository](https://github.com/bridgecrewio/checkov){target=_blank} |
-| [**checkstyle**](https://github.com/checkstyle/checkstyle){target=_blank} | 10.17.0 | [LGPL-2.1](licenses/checkstyle.md) | [![GitHub stars](https://img.shields.io/github/stars/checkstyle/checkstyle?cacheSeconds=3600)](https://github.com/checkstyle/checkstyle){target=_blank} | [JAVA](descriptors/java_checkstyle.md) | :heart: | [MegaLinter reference](https://checkstyle.org/index.html#Related_Tools_Active_Tools){target=_blank} |
-| [**chktex**](https://www.nongnu.org/chktex){target=_blank} | 1.7.8 | | | [LATEX](descriptors/latex_chktex.md) | :white_circle: | [Web Site](https://www.nongnu.org/chktex){target=_blank} |
-| [**clang-format**](https://github.com/llvm/llvm-project){target=_blank} | 17.0.5 | [Other](licenses/clang-format.md) | [![GitHub stars](https://img.shields.io/github/stars/llvm/llvm-project?cacheSeconds=3600)](https://github.com/llvm/llvm-project){target=_blank} | [C](descriptors/c_clang_format.md)
[CPP](descriptors/cpp_clang_format.md) | :white_circle: | [Repository](https://github.com/llvm/llvm-project){target=_blank} |
-| [**clippy**](https://github.com/rust-lang/rust-clippy){target=_blank} | 0.1.78 | [Other](licenses/clippy.md) | [![GitHub stars](https://img.shields.io/github/stars/rust-lang/rust-clippy?cacheSeconds=3600)](https://github.com/rust-lang/rust-clippy){target=_blank} | [RUST](descriptors/rust_clippy.md) | :white_circle: | [Repository](https://github.com/rust-lang/rust-clippy){target=_blank} |
-| [**clj-kondo**](https://github.com/borkdude/clj-kondo){target=_blank} | 2024.05.24 | [EPL-1.0](licenses/clj-kondo.md) | [![GitHub stars](https://img.shields.io/github/stars/borkdude/clj-kondo?cacheSeconds=3600)](https://github.com/borkdude/clj-kondo){target=_blank} | [CLOJURE](descriptors/clojure_clj_kondo.md) | :heart: | [MegaLinter reference](https://github.com/borkdude/clj-kondo/blob/master/doc/ci-integration.md#github){target=_blank} |
-| [**cljstyle**](https://github.com/greglook/cljstyle){target=_blank} | 0.15.0 | [EPL-1.0](licenses/cljstyle.md) | [![GitHub stars](https://img.shields.io/github/stars/greglook/cljstyle?cacheSeconds=3600)](https://github.com/greglook/cljstyle){target=_blank} | [CLOJURE](descriptors/clojure_cljstyle.md) | :heart: | [MegaLinter reference](https://github.com/greglook/cljstyle/blob/main/doc/integrations.md){target=_blank} |
-| [**coffeelint**](https://github.com/clutchski/coffeelint){target=_blank} | 5.2.11 | [Other](licenses/coffeelint.md) | [![GitHub stars](https://img.shields.io/github/stars/clutchski/coffeelint?cacheSeconds=3600)](https://github.com/clutchski/coffeelint){target=_blank} | [COFFEE](descriptors/coffee_coffeelint.md) | :white_circle: | [Repository](https://github.com/clutchski/coffeelint){target=_blank} |
-| [**cpplint**](https://github.com/cpplint/cpplint){target=_blank} | 1.6.1 | [Other](licenses/cpplint.md) | [![GitHub stars](https://img.shields.io/github/stars/cpplint/cpplint?cacheSeconds=3600)](https://github.com/cpplint/cpplint){target=_blank} | [C](descriptors/c_cpplint.md)
[CPP](descriptors/cpp_cpplint.md) | :white_circle: | [Repository](https://github.com/cpplint/cpplint){target=_blank} |
-| [**csharpier**](https://github.com/belav/csharpier){target=_blank} | 0.28.2 | [MIT](licenses/csharpier.md) | [![GitHub stars](https://img.shields.io/github/stars/belav/csharpier?cacheSeconds=3600)](https://github.com/belav/csharpier){target=_blank} | [CSHARP](descriptors/csharp_csharpier.md) | :white_circle: | [Repository](https://github.com/belav/csharpier){target=_blank} |
-| [**cspell**](https://github.com/streetsidesoftware/cspell){target=_blank} | 8.8.4 | [MIT](licenses/cspell.md) | [![GitHub stars](https://img.shields.io/github/stars/streetsidesoftware/cspell?cacheSeconds=3600)](https://github.com/streetsidesoftware/cspell){target=_blank} | [SPELL](descriptors/spell_cspell.md) | :heart: | [MegaLinter reference](https://github.com/streetsidesoftware/cspell/tree/master/packages/cspell#mega-linter){target=_blank} |
-| [**dartanalyzer**](https://github.com/dart-lang/sdk){target=_blank} | N/A | [BSD-3-Clause](licenses/dartanalyzer.md) | [![GitHub stars](https://img.shields.io/github/stars/dart-lang/sdk?cacheSeconds=3600)](https://github.com/dart-lang/sdk){target=_blank} | [DART](descriptors/dart_dartanalyzer.md) | :no_entry_sign: | [Repository](https://github.com/dart-lang/sdk){target=_blank} |
-| [**detekt**](https://github.com/detekt/detekt){target=_blank} | 1.23.6 | [Apache-2.0](licenses/detekt.md) | [![GitHub stars](https://img.shields.io/github/stars/detekt/detekt?cacheSeconds=3600)](https://github.com/detekt/detekt){target=_blank} | [KOTLIN](descriptors/kotlin_detekt.md) | :heart: | [MegaLinter reference](https://detekt.dev/docs/intro){target=_blank} |
-| [**devskim**](https://github.com/microsoft/DevSkim){target=_blank} | 1.0.33 | [MIT](licenses/devskim.md) | [![GitHub stars](https://img.shields.io/github/stars/microsoft/DevSkim?cacheSeconds=3600)](https://github.com/microsoft/DevSkim){target=_blank} | [REPOSITORY](descriptors/repository_devskim.md) | :white_circle: | [Repository](https://github.com/microsoft/DevSkim){target=_blank} |
-| [**djlint**](https://github.com/Riverside-Healthcare/djlint){target=_blank} | 1.34.1 | [GPL-3.0](licenses/djlint.md) | [![GitHub stars](https://img.shields.io/github/stars/Riverside-Healthcare/djlint?cacheSeconds=3600)](https://github.com/Riverside-Healthcare/djlint){target=_blank} | [HTML](descriptors/html_djlint.md) | :heart: | [MegaLinter reference](https://djlint.com/docs/integrations/#megalinter){target=_blank} |
+| Linter | Supported Platforms | Version | License | Popularity | Descriptors | Ref | URL |
+|:-------------------------------------------------------------------------------------------------------------------|:------------------------------:|:-------------:|:----------------------------------------------:|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-------------------:|:---------------------------------------------------------------------------------------------------------------------------------------------------:|
+| [**actionlint**](https://github.com/rhysd/actionlint){target=_blank} | linux/amd64
linux/arm64 | 1.7.1 | [MIT](licenses/actionlint.md) | [![GitHub stars](https://img.shields.io/github/stars/rhysd/actionlint?cacheSeconds=3600)](https://github.com/rhysd/actionlint){target=_blank} | [ACTION](descriptors/action_actionlint.md) | :white_circle: | [Repository](https://github.com/rhysd/actionlint){target=_blank} |
+| [**ansible-lint**](https://github.com/ansible/ansible-lint){target=_blank} | linux/amd64
linux/arm64 | 24.2.3 | [GPL-3.0](licenses/ansible-lint.md) | [![GitHub stars](https://img.shields.io/github/stars/ansible/ansible-lint?cacheSeconds=3600)](https://github.com/ansible/ansible-lint){target=_blank} | [ANSIBLE](descriptors/ansible_ansible_lint.md) | :white_circle: | [Repository](https://github.com/ansible/ansible-lint){target=_blank} |
+| [**arm-ttk**](https://github.com/Azure/arm-ttk){target=_blank} | linux/amd64
linux/arm64 | N/A | [MIT](licenses/arm-ttk.md) | [![GitHub stars](https://img.shields.io/github/stars/Azure/arm-ttk?cacheSeconds=3600)](https://github.com/Azure/arm-ttk){target=_blank} | [ARM](descriptors/arm_arm_ttk.md) | :white_circle: | [Repository](https://github.com/Azure/arm-ttk){target=_blank} |
+| [**bandit**](https://github.com/PyCQA/bandit){target=_blank} | linux/amd64
linux/arm64 | 1.7.8 | [Apache-2.0](licenses/bandit.md) | [![GitHub stars](https://img.shields.io/github/stars/PyCQA/bandit?cacheSeconds=3600)](https://github.com/PyCQA/bandit){target=_blank} | [PYTHON](descriptors/python_bandit.md) | :white_circle: | [Repository](https://github.com/PyCQA/bandit){target=_blank} |
+| [**bash-exec**](https://www.gnu.org/software/bash/){target=_blank} | linux/amd64
linux/arm64 | 5.2.21 | | | [BASH](descriptors/bash_bash_exec.md) | | [Web Site](https://www.gnu.org/software/bash/){target=_blank} |
+| [**bicep_linter**](https://github.com/Azure/bicep){target=_blank} | linux/amd64
linux/arm64 | 0.27.1 | [MIT](licenses/bicep_linter.md) | [![GitHub stars](https://img.shields.io/github/stars/Azure/bicep?cacheSeconds=3600)](https://github.com/Azure/bicep){target=_blank} | [BICEP](descriptors/bicep_bicep_linter.md) | :white_circle: | [Repository](https://github.com/Azure/bicep){target=_blank} |
+| [**black**](https://github.com/psf/black){target=_blank} | linux/amd64
linux/arm64 | 24.4.2 | [MIT](licenses/black.md) | [![GitHub stars](https://img.shields.io/github/stars/psf/black?cacheSeconds=3600)](https://github.com/psf/black){target=_blank} | [PYTHON](descriptors/python_black.md) | :white_circle: | [Repository](https://github.com/psf/black){target=_blank} |
+| [**cfn-lint**](https://github.com/aws-cloudformation/cfn-lint){target=_blank} | linux/amd64
linux/arm64 | 0.87.4 | [MIT-0](licenses/cfn-lint.md) | [![GitHub stars](https://img.shields.io/github/stars/aws-cloudformation/cfn-lint?cacheSeconds=3600)](https://github.com/aws-cloudformation/cfn-lint){target=_blank} | [CLOUDFORMATION](descriptors/cloudformation_cfn_lint.md) | :white_circle: | [Repository](https://github.com/aws-cloudformation/cfn-lint){target=_blank} |
+| [**checkmake**](https://github.com/mrtazz/checkmake){target=_blank} | linux/amd64 | 0.2.0 | [MIT](licenses/checkmake.md) | [![GitHub stars](https://img.shields.io/github/stars/mrtazz/checkmake?cacheSeconds=3600)](https://github.com/mrtazz/checkmake){target=_blank} | [MAKEFILE](descriptors/makefile_checkmake.md) | :white_circle: | [Repository](https://github.com/mrtazz/checkmake){target=_blank} |
+| [**checkov**](https://github.com/bridgecrewio/checkov){target=_blank} | linux/amd64
linux/arm64 | 3.2.120 | [Apache-2.0](licenses/checkov.md) | [![GitHub stars](https://img.shields.io/github/stars/bridgecrewio/checkov?cacheSeconds=3600)](https://github.com/bridgecrewio/checkov){target=_blank} | [REPOSITORY](descriptors/repository_checkov.md) | :no_entry_sign: | [Repository](https://github.com/bridgecrewio/checkov){target=_blank} |
+| [**checkstyle**](https://github.com/checkstyle/checkstyle){target=_blank} | linux/amd64
linux/arm64 | 10.17.0 | [LGPL-2.1](licenses/checkstyle.md) | [![GitHub stars](https://img.shields.io/github/stars/checkstyle/checkstyle?cacheSeconds=3600)](https://github.com/checkstyle/checkstyle){target=_blank} | [JAVA](descriptors/java_checkstyle.md) | :heart: | [MegaLinter reference](https://checkstyle.org/index.html#Related_Tools_Active_Tools){target=_blank} |
+| [**chktex**](https://www.nongnu.org/chktex){target=_blank} | linux/amd64 | 1.7.8 | | | [LATEX](descriptors/latex_chktex.md) | :white_circle: | [Web Site](https://www.nongnu.org/chktex){target=_blank} |
+| [**clang-format**](https://github.com/llvm/llvm-project){target=_blank} | linux/amd64
linux/arm64 | 17.0.5 | [Other](licenses/clang-format.md) | [![GitHub stars](https://img.shields.io/github/stars/llvm/llvm-project?cacheSeconds=3600)](https://github.com/llvm/llvm-project){target=_blank} | [C](descriptors/c_clang_format.md)
[CPP](descriptors/cpp_clang_format.md) | :white_circle: | [Repository](https://github.com/llvm/llvm-project){target=_blank} |
+| [**clippy**](https://github.com/rust-lang/rust-clippy){target=_blank} | linux/amd64
linux/arm64 | 0.1.78 | [Other](licenses/clippy.md) | [![GitHub stars](https://img.shields.io/github/stars/rust-lang/rust-clippy?cacheSeconds=3600)](https://github.com/rust-lang/rust-clippy){target=_blank} | [RUST](descriptors/rust_clippy.md) | :white_circle: | [Repository](https://github.com/rust-lang/rust-clippy){target=_blank} |
+| [**clj-kondo**](https://github.com/borkdude/clj-kondo){target=_blank} | linux/amd64
windows/amd64 | 2024.05.24 | [EPL-1.0](licenses/clj-kondo.md) | [![GitHub stars](https://img.shields.io/github/stars/borkdude/clj-kondo?cacheSeconds=3600)](https://github.com/borkdude/clj-kondo){target=_blank} | [CLOJURE](descriptors/clojure_clj_kondo.md) | :heart: | [MegaLinter reference](https://github.com/borkdude/clj-kondo/blob/master/doc/ci-integration.md#github){target=_blank} |
+| [**cljstyle**](https://github.com/greglook/cljstyle){target=_blank} | linux/amd64
linux/arm64 | 0.15.0 | [EPL-1.0](licenses/cljstyle.md) | [![GitHub stars](https://img.shields.io/github/stars/greglook/cljstyle?cacheSeconds=3600)](https://github.com/greglook/cljstyle){target=_blank} | [CLOJURE](descriptors/clojure_cljstyle.md) | :heart: | [MegaLinter reference](https://github.com/greglook/cljstyle/blob/main/doc/integrations.md){target=_blank} |
+| [**coffeelint**](https://github.com/clutchski/coffeelint){target=_blank} | linux/amd64
linux/arm64 | 5.2.11 | [Other](licenses/coffeelint.md) | [![GitHub stars](https://img.shields.io/github/stars/clutchski/coffeelint?cacheSeconds=3600)](https://github.com/clutchski/coffeelint){target=_blank} | [COFFEE](descriptors/coffee_coffeelint.md) | :white_circle: | [Repository](https://github.com/clutchski/coffeelint){target=_blank} |
+| [**cpplint**](https://github.com/cpplint/cpplint){target=_blank} | linux/amd64
linux/arm64 | 1.6.1 | [Other](licenses/cpplint.md) | [![GitHub stars](https://img.shields.io/github/stars/cpplint/cpplint?cacheSeconds=3600)](https://github.com/cpplint/cpplint){target=_blank} | [C](descriptors/c_cpplint.md)
[CPP](descriptors/cpp_cpplint.md) | :white_circle: | [Repository](https://github.com/cpplint/cpplint){target=_blank} |
+| [**csharpier**](https://github.com/belav/csharpier){target=_blank} | linux/amd64
linux/arm64 | 0.28.2 | [MIT](licenses/csharpier.md) | [![GitHub stars](https://img.shields.io/github/stars/belav/csharpier?cacheSeconds=3600)](https://github.com/belav/csharpier){target=_blank} | [CSHARP](descriptors/csharp_csharpier.md) | :white_circle: | [Repository](https://github.com/belav/csharpier){target=_blank} |
+| [**cspell**](https://github.com/streetsidesoftware/cspell){target=_blank} | linux/amd64
linux/arm64 | 8.8.3 | [MIT](licenses/cspell.md) | [![GitHub stars](https://img.shields.io/github/stars/streetsidesoftware/cspell?cacheSeconds=3600)](https://github.com/streetsidesoftware/cspell){target=_blank} | [SPELL](descriptors/spell_cspell.md) | :heart: | [MegaLinter reference](https://github.com/streetsidesoftware/cspell/tree/master/packages/cspell#mega-linter){target=_blank} |
+| [**dartanalyzer**](https://github.com/dart-lang/sdk){target=_blank} | linux/amd64
linux/arm64 | N/A | [BSD-3-Clause](licenses/dartanalyzer.md) | [![GitHub stars](https://img.shields.io/github/stars/dart-lang/sdk?cacheSeconds=3600)](https://github.com/dart-lang/sdk){target=_blank} | [DART](descriptors/dart_dartanalyzer.md) | :no_entry_sign: | [Repository](https://github.com/dart-lang/sdk){target=_blank} |
+| [**detekt**](https://github.com/detekt/detekt){target=_blank} | | 1.23.6 | [Apache-2.0](licenses/detekt.md) | [![GitHub stars](https://img.shields.io/github/stars/detekt/detekt?cacheSeconds=3600)](https://github.com/detekt/detekt){target=_blank} | [KOTLIN](descriptors/kotlin_detekt.md) | :heart: | [MegaLinter reference](https://detekt.dev/docs/intro){target=_blank} |
+| [**devskim**](https://github.com/microsoft/DevSkim){target=_blank} | linux/amd64
linux/arm64 | 1.0.33 | [MIT](licenses/devskim.md) | [![GitHub stars](https://img.shields.io/github/stars/microsoft/DevSkim?cacheSeconds=3600)](https://github.com/microsoft/DevSkim){target=_blank} | [REPOSITORY](descriptors/repository_devskim.md) | :white_circle: | [Repository](https://github.com/microsoft/DevSkim){target=_blank} |
+| [**djlint**](https://github.com/Riverside-Healthcare/djlint){target=_blank} | linux/amd64
linux/arm64 | 1.34.1 | [GPL-3.0](licenses/djlint.md) | [![GitHub stars](https://img.shields.io/github/stars/Riverside-Healthcare/djlint?cacheSeconds=3600)](https://github.com/Riverside-Healthcare/djlint){target=_blank} | [HTML](descriptors/html_djlint.md) | :heart: | [MegaLinter reference](https://djlint.com/docs/integrations/#megalinter){target=_blank} |
+| [**dotenv-linter**](https://github.com/dotenv-linter/dotenv-linter){target=_blank} | linux/amd64
linux/arm64 | 3.3.0 | [MIT](licenses/dotenv-linter.md) | [![GitHub stars](https://img.shields.io/github/stars/dotenv-linter/dotenv-linter?cacheSeconds=3600)](https://github.com/dotenv-linter/dotenv-linter){target=_blank} | [ENV](descriptors/env_dotenv_linter.md) | :heart: | [MegaLinter reference](https://dotenv-linter.github.io/#/integrations/mega_linter){target=_blank} |
+| [**dotnet-format**](https://github.com/dotnet/format){target=_blank} | linux/amd64
linux/arm64 | 8.0.105 | [MIT](licenses/dotnet-format.md) | [![GitHub stars](https://img.shields.io/github/stars/dotnet/format?cacheSeconds=3600)](https://github.com/dotnet/format){target=_blank} | [CSHARP](descriptors/csharp_dotnet_format.md)
[VBDOTNET](descriptors/vbdotnet_dotnet_format.md) | :white_circle: | [Repository](https://github.com/dotnet/format){target=_blank} |
+| [**dustilock**](https://github.com/Checkmarx/dustilock){target=_blank} | linux/amd64
linux/arm64 | 1.2.0 | [Apache-2.0](licenses/dustilock.md) | [![GitHub stars](https://img.shields.io/github/stars/Checkmarx/dustilock?cacheSeconds=3600)](https://github.com/Checkmarx/dustilock){target=_blank} | [REPOSITORY](descriptors/repository_dustilock.md) | :white_circle: | [Repository](https://github.com/Checkmarx/dustilock){target=_blank} |
+| [**editorconfig-checker**](https://github.com/editorconfig-checker/editorconfig-checker){target=_blank} | linux/amd64
linux/arm64 | 3.0.1 | [MIT](licenses/editorconfig-checker.md) | [![GitHub stars](https://img.shields.io/github/stars/editorconfig-checker/editorconfig-checker?cacheSeconds=3600)](https://github.com/editorconfig-checker/editorconfig-checker){target=_blank} | [EDITORCONFIG](descriptors/editorconfig_editorconfig_checker.md) | :heart: | [MegaLinter reference](https://github.com/editorconfig-checker/editorconfig-checker#mega-linter){target=_blank} |
+| [**eslint**](https://github.com/eslint/eslint){target=_blank} | linux/amd64
linux/arm64 | 8.57.0 | [MIT](licenses/eslint.md) | [![GitHub stars](https://img.shields.io/github/stars/eslint/eslint?cacheSeconds=3600)](https://github.com/eslint/eslint){target=_blank} | [JAVASCRIPT](descriptors/javascript_eslint.md)
[JSX](descriptors/jsx_eslint.md)
[TSX](descriptors/tsx_eslint.md)
[TYPESCRIPT](descriptors/typescript_eslint.md) | :heart: | [MegaLinter reference](https://eslint.org/docs/user-guide/integrations#source-control){target=_blank} |
+| [**eslint-plugin-jsonc**](https://github.com/ota-meshi/eslint-plugin-jsonc){target=_blank} | linux/amd64
linux/arm64 | 2.15.1 | [MIT](licenses/eslint-plugin-jsonc.md) | [![GitHub stars](https://img.shields.io/github/stars/ota-meshi/eslint-plugin-jsonc?cacheSeconds=3600)](https://github.com/ota-meshi/eslint-plugin-jsonc){target=_blank} | [JSON](descriptors/json_eslint_plugin_jsonc.md) | :heart: | [MegaLinter reference](https://eslint.org/docs/user-guide/integrations#source-control){target=_blank} |
+| [**flake8**](https://github.com/PyCQA/flake8){target=_blank} | linux/amd64
linux/arm64 | 7.0.0 | [MIT](licenses/flake8.md) | [![GitHub stars](https://img.shields.io/github/stars/PyCQA/flake8?cacheSeconds=3600)](https://github.com/PyCQA/flake8){target=_blank} | [PYTHON](descriptors/python_flake8.md) | :white_circle: | [Repository](https://github.com/PyCQA/flake8){target=_blank} |
+| [**gherkin-lint**](https://github.com/vsiakka/gherkin-lint){target=_blank} | linux/amd64
linux/arm64 | N/A | [ISC](licenses/gherkin-lint.md) | [![GitHub stars](https://img.shields.io/github/stars/vsiakka/gherkin-lint?cacheSeconds=3600)](https://github.com/vsiakka/gherkin-lint){target=_blank} | [GHERKIN](descriptors/gherkin_gherkin_lint.md) | :white_circle: | [Repository](https://github.com/vsiakka/gherkin-lint){target=_blank} |
+| [**git_diff**](https://github.com/git/git){target=_blank} | linux/amd64
linux/arm64 | 2.43.4 | [LGPL-2.1](licenses/git_diff.md) | [![GitHub stars](https://img.shields.io/github/stars/git/git?cacheSeconds=3600)](https://github.com/git/git){target=_blank} | [REPOSITORY](descriptors/repository_git_diff.md) | | [Repository](https://github.com/git/git){target=_blank} |
+| [**gitleaks**](https://github.com/gitleaks/gitleaks){target=_blank} | linux/amd64
linux/arm64 | 8.18.2 | [MIT](licenses/gitleaks.md) | [![GitHub stars](https://img.shields.io/github/stars/gitleaks/gitleaks?cacheSeconds=3600)](https://github.com/gitleaks/gitleaks){target=_blank} | [REPOSITORY](descriptors/repository_gitleaks.md) | :white_circle: | [Repository](https://github.com/gitleaks/gitleaks){target=_blank} |
+| [**golangci-lint**](https://github.com/golangci/golangci-lint){target=_blank} | linux/amd64
linux/arm64 | 1.59.0 | [GPL-3.0](licenses/golangci-lint.md) | [![GitHub stars](https://img.shields.io/github/stars/golangci/golangci-lint?cacheSeconds=3600)](https://github.com/golangci/golangci-lint){target=_blank} | [GO](descriptors/go_golangci_lint.md) | :white_circle: | [Repository](https://github.com/golangci/golangci-lint){target=_blank} |
+| [**graphql-schema-linter**](https://github.com/cjoudrey/graphql-schema-linter){target=_blank} | linux/amd64
linux/arm64 | 3.0.1 | [MIT](licenses/graphql-schema-linter.md) | [![GitHub stars](https://img.shields.io/github/stars/cjoudrey/graphql-schema-linter?cacheSeconds=3600)](https://github.com/cjoudrey/graphql-schema-linter){target=_blank} | [GRAPHQL](descriptors/graphql_graphql_schema_linter.md) | :hammer_and_wrench: | [Pull Request](https://github.com/cjoudrey/graphql-schema-linter/pull/272){target=_blank} |
+| [**grype**](https://github.com/anchore/grype){target=_blank} | linux/amd64
linux/arm64 | 0.78.0 | [Apache-2.0](licenses/grype.md) | [![GitHub stars](https://img.shields.io/github/stars/anchore/grype?cacheSeconds=3600)](https://github.com/anchore/grype){target=_blank} | [REPOSITORY](descriptors/repository_grype.md) | :white_circle: | [Repository](https://github.com/anchore/grype){target=_blank} |
+| [**hadolint**](https://github.com/hadolint/hadolint){target=_blank} | linux/amd64
linux/arm64 | 2.12.0 | [GPL-3.0](licenses/hadolint.md) | [![GitHub stars](https://img.shields.io/github/stars/hadolint/hadolint?cacheSeconds=3600)](https://github.com/hadolint/hadolint){target=_blank} | [DOCKERFILE](descriptors/dockerfile_hadolint.md) | :heart: | [MegaLinter reference](https://github.com/hadolint/hadolint/blob/master/docs/INTEGRATION.md#mega-linter){target=_blank} |
+| [**helm**](https://github.com/helm/helm){target=_blank} | linux/amd64
linux/arm64 | 3.14.2 | [Apache-2.0](licenses/helm.md) | [![GitHub stars](https://img.shields.io/github/stars/helm/helm?cacheSeconds=3600)](https://github.com/helm/helm){target=_blank} | [KUBERNETES](descriptors/kubernetes_helm.md) | :white_circle: | [Repository](https://github.com/helm/helm){target=_blank} |
+| [**htmlhint**](https://github.com/htmlhint/HTMLHint){target=_blank} | linux/amd64
linux/arm64 | 1.1.4 | [MIT](licenses/htmlhint.md) | [![GitHub stars](https://img.shields.io/github/stars/htmlhint/HTMLHint?cacheSeconds=3600)](https://github.com/htmlhint/HTMLHint){target=_blank} | [HTML](descriptors/html_htmlhint.md) | :heart: | [MegaLinter reference](https://htmlhint.com/docs/user-guide/integrations/task-runner){target=_blank} |
+| [**isort**](https://github.com/PyCQA/isort){target=_blank} | linux/amd64
linux/arm64 | 5.13.2 | [MIT](licenses/isort.md) | [![GitHub stars](https://img.shields.io/github/stars/PyCQA/isort?cacheSeconds=3600)](https://github.com/PyCQA/isort){target=_blank} | [PYTHON](descriptors/python_isort.md) | :white_circle: | [Repository](https://github.com/PyCQA/isort){target=_blank} |
+| [**jscpd**](https://github.com/kucherenko/jscpd){target=_blank} | linux/amd64
linux/arm64 | 4.0.4 | [MIT](licenses/jscpd.md) | [![GitHub stars](https://img.shields.io/github/stars/kucherenko/jscpd?cacheSeconds=3600)](https://github.com/kucherenko/jscpd){target=_blank} | [COPYPASTE](descriptors/copypaste_jscpd.md) | :heart: | [MegaLinter reference](https://github.com/kucherenko/jscpd#who-uses-jscpd){target=_blank} |
+| [**jsonlint**](https://github.com/prantlf/jsonlint){target=_blank} | linux/amd64
linux/arm64 | 14.0.3 | [MIT](licenses/jsonlint.md) | [![GitHub stars](https://img.shields.io/github/stars/prantlf/jsonlint?cacheSeconds=3600)](https://github.com/prantlf/jsonlint){target=_blank} | [JSON](descriptors/json_jsonlint.md) | :white_circle: | [Repository](https://github.com/prantlf/jsonlint){target=_blank} |
+| [**kics**](https://github.com/checkmarx/kics){target=_blank} | linux/amd64
linux/arm64 | 2.0.1 | [Apache-2.0](licenses/kics.md) | [![GitHub stars](https://img.shields.io/github/stars/checkmarx/kics?cacheSeconds=3600)](https://github.com/checkmarx/kics){target=_blank} | [REPOSITORY](descriptors/repository_kics.md) | :heart: | [MegaLinter reference](https://docs.kics.io/latest/integrations/){target=_blank} |
+| [**ktlint**](https://github.com/pinterest/ktlint){target=_blank} | linux/amd64
linux/arm64 | 1.2.1 | [MIT](licenses/ktlint.md) | [![GitHub stars](https://img.shields.io/github/stars/pinterest/ktlint?cacheSeconds=3600)](https://github.com/pinterest/ktlint){target=_blank} | [KOTLIN](descriptors/kotlin_ktlint.md) | :heart: | [MegaLinter reference](https://github.com/pinterest/ktlint#-with-continuous-integration){target=_blank} |
+| [**kubeconform**](https://github.com/yannh/kubeconform){target=_blank} | linux/amd64
linux/arm64 | 0.6.6 | [Apache-2.0](licenses/kubeconform.md) | [![GitHub stars](https://img.shields.io/github/stars/yannh/kubeconform?cacheSeconds=3600)](https://github.com/yannh/kubeconform){target=_blank} | [KUBERNETES](descriptors/kubernetes_kubeconform.md) | :white_circle: | [Repository](https://github.com/yannh/kubeconform){target=_blank} |
+| [**kubescape**](https://github.com/kubescape/kubescape){target=_blank} | linux/amd64
linux/arm64 | 2.9.0 | [Apache-2.0](licenses/kubescape.md) | [![GitHub stars](https://img.shields.io/github/stars/kubescape/kubescape?cacheSeconds=3600)](https://github.com/kubescape/kubescape){target=_blank} | [KUBERNETES](descriptors/kubernetes_kubescape.md) | :white_circle: | [Repository](https://github.com/kubescape/kubescape){target=_blank} |
+| [**lightning-flow-scanner**](https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-sfdx){target=_blank} | linux/amd64
linux/arm64 | 2.26.0 | [AGPL-3.0](licenses/lightning-flow-scanner.md) | [![GitHub stars](https://img.shields.io/github/stars/Lightning-Flow-Scanner/lightning-flow-scanner-sfdx?cacheSeconds=3600)](https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-sfdx){target=_blank} | [SALESFORCE](descriptors/salesforce_lightning_flow_scanner.md) | :white_circle: | [Repository](https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-sfdx){target=_blank} |
+| [**lintr**](https://github.com/r-lib/lintr){target=_blank} | linux/amd64
linux/arm64 | N/A | [Other](licenses/lintr.md) | [![GitHub stars](https://img.shields.io/github/stars/r-lib/lintr?cacheSeconds=3600)](https://github.com/r-lib/lintr){target=_blank} | [R](descriptors/r_lintr.md) | :heart: | [MegaLinter reference](https://lintr.r-lib.org/articles/continuous-integration.html){target=_blank} |
+| [**luacheck**](https://github.com/luarocks/luacheck){target=_blank} | linux/amd64
linux/arm64 | 1.2.0 | [MIT](licenses/luacheck.md) | [![GitHub stars](https://img.shields.io/github/stars/luarocks/luacheck?cacheSeconds=3600)](https://github.com/luarocks/luacheck){target=_blank} | [LUA](descriptors/lua_luacheck.md) | :no_entry_sign: | [Repository](https://github.com/luarocks/luacheck){target=_blank} |
+| [**lychee**](https://github.com/lycheeverse/lychee){target=_blank} | linux/amd64
linux/arm64 | 0.15.1 | [Apache-2.0](licenses/lychee.md) | [![GitHub stars](https://img.shields.io/github/stars/lycheeverse/lychee?cacheSeconds=3600)](https://github.com/lycheeverse/lychee){target=_blank} | [SPELL](descriptors/spell_lychee.md) | :white_circle: | [Repository](https://github.com/lycheeverse/lychee){target=_blank} |
+| [**markdown-link-check**](https://github.com/tcort/markdown-link-check){target=_blank} | linux/amd64
linux/arm64 | 3.12.2 | [ISC](licenses/markdown-link-check.md) | [![GitHub stars](https://img.shields.io/github/stars/tcort/markdown-link-check?cacheSeconds=3600)](https://github.com/tcort/markdown-link-check){target=_blank} | [MARKDOWN](descriptors/markdown_markdown_link_check.md) | :heart: | [MegaLinter reference](https://github.com/tcort/markdown-link-check#run-in-other-tools){target=_blank} |
+| [**markdown-table-formatter**](https://github.com/nvuillam/markdown-table-formatter){target=_blank} | linux/amd64
linux/arm64 | 1.6.0 | [MIT](licenses/markdown-table-formatter.md) | [![GitHub stars](https://img.shields.io/github/stars/nvuillam/markdown-table-formatter?cacheSeconds=3600)](https://github.com/nvuillam/markdown-table-formatter){target=_blank} | [MARKDOWN](descriptors/markdown_markdown_table_formatter.md) | :white_circle: | [Repository](https://github.com/nvuillam/markdown-table-formatter){target=_blank} |
+| [**markdownlint**](https://github.com/DavidAnson/markdownlint){target=_blank} | linux/amd64
linux/arm64 | 0.41.0 | [MIT](licenses/markdownlint.md) | [![GitHub stars](https://img.shields.io/github/stars/DavidAnson/markdownlint?cacheSeconds=3600)](https://github.com/DavidAnson/markdownlint){target=_blank} | [MARKDOWN](descriptors/markdown_markdownlint.md) | :white_circle: | [Repository](https://github.com/DavidAnson/markdownlint){target=_blank} |
+| [**mypy**](https://github.com/python/mypy){target=_blank} | linux/amd64
linux/arm64 | 1.10.0 | [MIT](licenses/mypy.md) | [![GitHub stars](https://img.shields.io/github/stars/python/mypy?cacheSeconds=3600)](https://github.com/python/mypy){target=_blank} | [PYTHON](descriptors/python_mypy.md) | | [Repository](https://github.com/python/mypy){target=_blank} |
+| [**npm-groovy-lint**](https://github.com/nvuillam/npm-groovy-lint){target=_blank} | linux/amd64
linux/arm64 | 14.6.0 | [MIT](licenses/npm-groovy-lint.md) | [![GitHub stars](https://img.shields.io/github/stars/nvuillam/npm-groovy-lint?cacheSeconds=3600)](https://github.com/nvuillam/npm-groovy-lint){target=_blank} | [GROOVY](descriptors/groovy_npm_groovy_lint.md) | :heart: | [MegaLinter reference](https://nvuillam.github.io/npm-groovy-lint/#mega-linter){target=_blank} |
+| [**npm-package-json-lint**](https://github.com/tclindner/npm-package-json-lint){target=_blank} | linux/amd64
linux/arm64 | 7.1.0 | [MIT](licenses/npm-package-json-lint.md) | [![GitHub stars](https://img.shields.io/github/stars/tclindner/npm-package-json-lint?cacheSeconds=3600)](https://github.com/tclindner/npm-package-json-lint){target=_blank} | [JSON](descriptors/json_npm_package_json_lint.md) | :heart: | [MegaLinter reference](https://npmpackagejsonlint.org/docs/integrations#megalinter){target=_blank} |
+| [**perlcritic**](https://github.com/Perl-Critic/Perl-Critic){target=_blank} | linux/amd64
linux/arm64 | 1.152 | [Other](licenses/perlcritic.md) | [![GitHub stars](https://img.shields.io/github/stars/Perl-Critic/Perl-Critic?cacheSeconds=3600)](https://github.com/Perl-Critic/Perl-Critic){target=_blank} | [PERL](descriptors/perl_perlcritic.md) | :white_circle: | [Repository](https://github.com/Perl-Critic/Perl-Critic){target=_blank} |
+| [**phpcs**](https://github.com/PHPCSStandards/PHP_CodeSniffer){target=_blank} | linux/amd64
linux/arm64 | 3.10.1 | [BSD-3-Clause](licenses/phpcs.md) | [![GitHub stars](https://img.shields.io/github/stars/PHPCSStandards/PHP_CodeSniffer?cacheSeconds=3600)](https://github.com/PHPCSStandards/PHP_CodeSniffer){target=_blank} | [PHP](descriptors/php_phpcs.md) | :white_circle: | [Repository](https://github.com/PHPCSStandards/PHP_CodeSniffer){target=_blank} |
+| [**phplint**](https://github.com/overtrue/phplint){target=_blank} | linux/amd64
linux/arm64 | 9.3.1 | [MIT](licenses/phplint.md) | [![GitHub stars](https://img.shields.io/github/stars/overtrue/phplint?cacheSeconds=3600)](https://github.com/overtrue/phplint){target=_blank} | [PHP](descriptors/php_phplint.md) | :white_circle: | [Repository](https://github.com/overtrue/phplint){target=_blank} |
+| [**phpstan**](https://github.com/phpstan/phpstan){target=_blank} | linux/amd64
linux/arm64 | 1.11.3 | [MIT](licenses/phpstan.md) | [![GitHub stars](https://img.shields.io/github/stars/phpstan/phpstan?cacheSeconds=3600)](https://github.com/phpstan/phpstan){target=_blank} | [PHP](descriptors/php_phpstan.md) | :white_circle: | [Repository](https://github.com/phpstan/phpstan){target=_blank} |
+| [**pmd**](https://github.com/pmd/pmd){target=_blank} | linux/amd64
linux/arm64 | 7.1.0 | [Apache-2.0](licenses/pmd.md) | [![GitHub stars](https://img.shields.io/github/stars/pmd/pmd?cacheSeconds=3600)](https://github.com/pmd/pmd){target=_blank} | [JAVA](descriptors/java_pmd.md) | :heart: | [MegaLinter reference](https://pmd.sourceforge.io/pmd-6.55.0/pmd_userdocs_tools_ci.html){target=_blank} |
+| [**powershell**](https://github.com/PowerShell/PSScriptAnalyzer){target=_blank} | linux/amd64
linux/arm64 | 7.4.2 | [MIT](licenses/powershell.md) | [![GitHub stars](https://img.shields.io/github/stars/PowerShell/PSScriptAnalyzer?cacheSeconds=3600)](https://github.com/PowerShell/PSScriptAnalyzer){target=_blank} | [POWERSHELL](descriptors/powershell_powershell.md) | :white_circle: | [Repository](https://github.com/PowerShell/PSScriptAnalyzer){target=_blank} |
+| [**powershell_formatter**](https://github.com/PowerShell/PSScriptAnalyzer){target=_blank} | linux/amd64
linux/arm64 | 7.4.2 | [MIT](licenses/powershell_formatter.md) | [![GitHub stars](https://img.shields.io/github/stars/PowerShell/PSScriptAnalyzer?cacheSeconds=3600)](https://github.com/PowerShell/PSScriptAnalyzer){target=_blank} | [POWERSHELL](descriptors/powershell_powershell_formatter.md) | :white_circle: | [Repository](https://github.com/PowerShell/PSScriptAnalyzer){target=_blank} |
+| [**prettier**](https://github.com/prettier/prettier){target=_blank} | linux/amd64
linux/arm64 | 3.2.5 | [MIT](licenses/prettier.md) | [![GitHub stars](https://img.shields.io/github/stars/prettier/prettier?cacheSeconds=3600)](https://github.com/prettier/prettier){target=_blank} | [JAVASCRIPT](descriptors/javascript_prettier.md)
[JSON](descriptors/json_prettier.md)
[TYPESCRIPT](descriptors/typescript_prettier.md)
[YAML](descriptors/yaml_prettier.md) | :white_circle: | [Repository](https://github.com/prettier/prettier){target=_blank} |
+| [**proselint**](https://github.com/amperser/proselint){target=_blank} | linux/amd64
linux/arm64 | 0.14.0 | [BSD-3-Clause](licenses/proselint.md) | [![GitHub stars](https://img.shields.io/github/stars/amperser/proselint?cacheSeconds=3600)](https://github.com/amperser/proselint){target=_blank} | [SPELL](descriptors/spell_proselint.md) | :white_circle: | [Repository](https://github.com/amperser/proselint){target=_blank} |
+| [**protolint**](https://github.com/yoheimuta/protolint){target=_blank} | linux/amd64
linux/arm64 | 0.49.7 | [MIT](licenses/protolint.md) | [![GitHub stars](https://img.shields.io/github/stars/yoheimuta/protolint?cacheSeconds=3600)](https://github.com/yoheimuta/protolint){target=_blank} | [PROTOBUF](descriptors/protobuf_protolint.md) | :white_circle: | [Repository](https://github.com/yoheimuta/protolint){target=_blank} |
+| [**psalm**](https://github.com/vimeo/psalm){target=_blank} | linux/amd64
linux/arm64 | Psalm.5.24.0@ | [MIT](licenses/psalm.md) | [![GitHub stars](https://img.shields.io/github/stars/vimeo/psalm?cacheSeconds=3600)](https://github.com/vimeo/psalm){target=_blank} | [PHP](descriptors/php_psalm.md) | :white_circle: | [Repository](https://github.com/vimeo/psalm){target=_blank} |
+| [**puppet-lint**](https://github.com/puppetlabs/puppet-lint){target=_blank} | linux/amd64
linux/arm64 | 4.2.4 | [MIT](licenses/puppet-lint.md) | [![GitHub stars](https://img.shields.io/github/stars/puppetlabs/puppet-lint?cacheSeconds=3600)](https://github.com/puppetlabs/puppet-lint){target=_blank} | [PUPPET](descriptors/puppet_puppet_lint.md) | :white_circle: | [Repository](https://github.com/puppetlabs/puppet-lint){target=_blank} |
+| [**pylint**](https://github.com/pylint-dev/pylint){target=_blank} | linux/amd64
linux/arm64 | 3.2.2 | [GPL-2.0](licenses/pylint.md) | [![GitHub stars](https://img.shields.io/github/stars/pylint-dev/pylint?cacheSeconds=3600)](https://github.com/pylint-dev/pylint){target=_blank} | [PYTHON](descriptors/python_pylint.md) | :white_circle: | [Repository](https://github.com/pylint-dev/pylint){target=_blank} |
+| [**pyright**](https://github.com/microsoft/pyright){target=_blank} | linux/amd64
linux/arm64 | 1.1.365 | [Other](licenses/pyright.md) | [![GitHub stars](https://img.shields.io/github/stars/microsoft/pyright?cacheSeconds=3600)](https://github.com/microsoft/pyright){target=_blank} | [PYTHON](descriptors/python_pyright.md) | :white_circle: | [Repository](https://github.com/microsoft/pyright){target=_blank} |
+| [**raku**](https://github.com/rakudo/rakudo){target=_blank} | linux/amd64
linux/arm64 | 2020.10 | [Artistic-2.0](licenses/raku.md) | [![GitHub stars](https://img.shields.io/github/stars/rakudo/rakudo?cacheSeconds=3600)](https://github.com/rakudo/rakudo){target=_blank} | [RAKU](descriptors/raku_raku.md) | :white_circle: | [Repository](https://github.com/rakudo/rakudo){target=_blank} |
+| [**remark-lint**](https://github.com/remarkjs/remark-lint){target=_blank} | linux/amd64
linux/arm64 | 14.0.2 | [MIT](licenses/remark-lint.md) | [![GitHub stars](https://img.shields.io/github/stars/remarkjs/remark-lint?cacheSeconds=3600)](https://github.com/remarkjs/remark-lint){target=_blank} | [MARKDOWN](descriptors/markdown_remark_lint.md) | :white_circle: | [Repository](https://github.com/remarkjs/remark-lint){target=_blank} |
+| [**revive**](https://github.com/mgechev/revive){target=_blank} | linux/amd64
linux/arm64 | 1.3.7 | [MIT](licenses/revive.md) | [![GitHub stars](https://img.shields.io/github/stars/mgechev/revive?cacheSeconds=3600)](https://github.com/mgechev/revive){target=_blank} | [GO](descriptors/go_revive.md) | :white_circle: | [Repository](https://github.com/mgechev/revive){target=_blank} |
+| [**roslynator**](https://github.com/dotnet/Roslynator){target=_blank} | linux/amd64
linux/arm64 | 0.8.8.0 | | [![GitHub stars](https://img.shields.io/github/stars/dotnet/Roslynator?cacheSeconds=3600)](https://github.com/dotnet/Roslynator){target=_blank} | [CSHARP](descriptors/csharp_roslynator.md) | :white_circle: | [Repository](https://github.com/dotnet/Roslynator){target=_blank} |
+| [**rst-lint**](https://github.com/twolfson/restructuredtext-lint){target=_blank} | linux/amd64
linux/arm64 | 1.4.0 | [Unlicense](licenses/rst-lint.md) | [![GitHub stars](https://img.shields.io/github/stars/twolfson/restructuredtext-lint?cacheSeconds=3600)](https://github.com/twolfson/restructuredtext-lint){target=_blank} | [RST](descriptors/rst_rst_lint.md) | :heart: | [MegaLinter reference](https://github.com/twolfson/restructuredtext-lint/wiki/Integration-in-other-tools#integration-in-other-tools){target=_blank} |
+| [**rstcheck**](https://github.com/myint/rstcheck){target=_blank} | linux/amd64
linux/arm64 | 6.2.1 | [MIT](licenses/rstcheck.md) | [![GitHub stars](https://img.shields.io/github/stars/myint/rstcheck?cacheSeconds=3600)](https://github.com/myint/rstcheck){target=_blank} | [RST](descriptors/rst_rstcheck.md) | :heart: | [MegaLinter reference](https://rstcheck.readthedocs.io/en/latest/usage/integration/#use-with-mega-linter){target=_blank} |
+| [**rstfmt**](https://github.com/dzhu/rstfmt){target=_blank} | linux/amd64
linux/arm64 | 0.0.14 | | | [RST](descriptors/rst_rstfmt.md) | :hammer_and_wrench: | [Pull Request](https://github.com/dzhu/rstfmt/pull/1){target=_blank} |
+| [**rubocop**](https://github.com/rubocop-hq/rubocop){target=_blank} | linux/amd64
linux/arm64 | 1.64.1 | [MIT](licenses/rubocop.md) | [![GitHub stars](https://img.shields.io/github/stars/rubocop-hq/rubocop?cacheSeconds=3600)](https://github.com/rubocop-hq/rubocop){target=_blank} | [RUBY](descriptors/ruby_rubocop.md) | :heart: | [MegaLinter reference](https://docs.rubocop.org/rubocop/integration_with_other_tools.html#mega-linter-integration){target=_blank} |
+| [**ruff**](https://github.com/astral-sh/ruff){target=_blank} | linux/amd64
linux/arm64 | 0.4.7 | [MIT](licenses/ruff.md) | [![GitHub stars](https://img.shields.io/github/stars/astral-sh/ruff?cacheSeconds=3600)](https://github.com/astral-sh/ruff){target=_blank} | [PYTHON](descriptors/python_ruff.md) | :white_circle: | [Repository](https://github.com/astral-sh/ruff){target=_blank} |
+| [**scalafix**](https://github.com/scalacenter/scalafix){target=_blank} | linux/amd64
linux/arm64 | 0.12.1 | [Other](licenses/scalafix.md) | [![GitHub stars](https://img.shields.io/github/stars/scalacenter/scalafix?cacheSeconds=3600)](https://github.com/scalacenter/scalafix){target=_blank} | [SCALA](descriptors/scala_scalafix.md) | :heart: | [MegaLinter reference](https://scalacenter.github.io/scalafix/docs/users/installation.html#plugins-for-other-build-tools){target=_blank} |
+| [**scss-lint**](https://github.com/sds/scss-lint){target=_blank} | linux/amd64
linux/arm64 | 0.60.0 | [MIT](licenses/scss-lint.md) | [![GitHub stars](https://img.shields.io/github/stars/sds/scss-lint?cacheSeconds=3600)](https://github.com/sds/scss-lint){target=_blank} | [CSS](descriptors/css_scss_lint.md) | :white_circle: | [Repository](https://github.com/sds/scss-lint){target=_blank} |
+| [**secretlint**](https://github.com/secretlint/secretlint){target=_blank} | linux/amd64
linux/arm64 | 8.2.4 | [MIT](licenses/secretlint.md) | [![GitHub stars](https://img.shields.io/github/stars/secretlint/secretlint?cacheSeconds=3600)](https://github.com/secretlint/secretlint){target=_blank} | [REPOSITORY](descriptors/repository_secretlint.md) | :heart: | [MegaLinter reference](https://github.com/secretlint/secretlint#mega-linter){target=_blank} |
+| [**semgrep**](https://github.com/returntocorp/semgrep){target=_blank} | linux/amd64
linux/arm64 | 3.12 | [LGPL-2.1](licenses/semgrep.md) | [![GitHub stars](https://img.shields.io/github/stars/returntocorp/semgrep?cacheSeconds=3600)](https://github.com/returntocorp/semgrep){target=_blank} | [REPOSITORY](descriptors/repository_semgrep.md) | :white_circle: | [Repository](https://github.com/returntocorp/semgrep){target=_blank} |
+| [**sfdx-scanner-apex**](https://github.com/forcedotcom/sfdx-scanner){target=_blank} | linux/amd64
linux/arm64 | 3.25.0 | [MIT](licenses/sfdx-scanner-apex.md) | [![GitHub stars](https://img.shields.io/github/stars/forcedotcom/sfdx-scanner?cacheSeconds=3600)](https://github.com/forcedotcom/sfdx-scanner){target=_blank} | [SALESFORCE](descriptors/salesforce_sfdx_scanner_apex.md) | :hammer_and_wrench: | [Pull Request](https://github.com/forcedotcom/sfdx-scanner/pull/307){target=_blank} |
+| [**sfdx-scanner-aura**](https://github.com/forcedotcom/sfdx-scanner){target=_blank} | linux/amd64
linux/arm64 | 3.25.0 | [MIT](licenses/sfdx-scanner-aura.md) | [![GitHub stars](https://img.shields.io/github/stars/forcedotcom/sfdx-scanner?cacheSeconds=3600)](https://github.com/forcedotcom/sfdx-scanner){target=_blank} | [SALESFORCE](descriptors/salesforce_sfdx_scanner_aura.md) | :hammer_and_wrench: | [Pull Request](https://github.com/forcedotcom/sfdx-scanner/pull/307){target=_blank} |
+| [**sfdx-scanner-lwc**](https://github.com/forcedotcom/sfdx-scanner){target=_blank} | linux/amd64
linux/arm64 | 3.25.0 | [MIT](licenses/sfdx-scanner-lwc.md) | [![GitHub stars](https://img.shields.io/github/stars/forcedotcom/sfdx-scanner?cacheSeconds=3600)](https://github.com/forcedotcom/sfdx-scanner){target=_blank} | [SALESFORCE](descriptors/salesforce_sfdx_scanner_lwc.md) | :hammer_and_wrench: | [Pull Request](https://github.com/forcedotcom/sfdx-scanner/pull/307){target=_blank} |
+| [**shellcheck**](https://github.com/koalaman/shellcheck){target=_blank} | linux/amd64
linux/arm64 | 0.10.0 | [GPL-3.0](licenses/shellcheck.md) | [![GitHub stars](https://img.shields.io/github/stars/koalaman/shellcheck?cacheSeconds=3600)](https://github.com/koalaman/shellcheck){target=_blank} | [BASH](descriptors/bash_shellcheck.md) | | [Repository](https://github.com/koalaman/shellcheck){target=_blank} |
+| [**shfmt**](https://github.com/mvdan/sh){target=_blank} | linux/amd64
linux/arm64 | 3.8.0 | [BSD-3-Clause](licenses/shfmt.md) | [![GitHub stars](https://img.shields.io/github/stars/mvdan/sh?cacheSeconds=3600)](https://github.com/mvdan/sh){target=_blank} | [BASH](descriptors/bash_shfmt.md) | :no_entry_sign: | [Repository](https://github.com/mvdan/sh){target=_blank} |
+| [**snakefmt**](https://github.com/snakemake/snakefmt){target=_blank} | linux/amd64
linux/arm64 | 0.10.2 | [MIT](licenses/snakefmt.md) | [![GitHub stars](https://img.shields.io/github/stars/snakemake/snakefmt?cacheSeconds=3600)](https://github.com/snakemake/snakefmt){target=_blank} | [SNAKEMAKE](descriptors/snakemake_snakefmt.md) | :white_circle: | [Repository](https://github.com/snakemake/snakefmt){target=_blank} |
+| [**snakemake**](https://github.com/snakemake/snakemake){target=_blank} | linux/amd64
linux/arm64 | 8.12.0 | [MIT](licenses/snakemake.md) | [![GitHub stars](https://img.shields.io/github/stars/snakemake/snakemake?cacheSeconds=3600)](https://github.com/snakemake/snakemake){target=_blank} | [SNAKEMAKE](descriptors/snakemake_snakemake.md) | :white_circle: | [Repository](https://github.com/snakemake/snakemake){target=_blank} |
+| [**spectral**](https://github.com/stoplightio/spectral){target=_blank} | | 6.11.1 | [Apache-2.0](licenses/spectral.md) | [![GitHub stars](https://img.shields.io/github/stars/stoplightio/spectral?cacheSeconds=3600)](https://github.com/stoplightio/spectral){target=_blank} | [API](descriptors/api_spectral.md)
[OPENAPI](descriptors/openapi_spectral.md) | :white_circle: | [Repository](https://github.com/stoplightio/spectral){target=_blank} |
+| [**sql-lint**](https://github.com/joereynolds/sql-lint){target=_blank} | linux/amd64
linux/arm64 | 1.0.0 | [MIT](licenses/sql-lint.md) | [![GitHub stars](https://img.shields.io/github/stars/joereynolds/sql-lint?cacheSeconds=3600)](https://github.com/joereynolds/sql-lint){target=_blank} | [SQL](descriptors/sql_sql_lint.md) | :white_circle: | [Repository](https://github.com/joereynolds/sql-lint){target=_blank} |
+| [**sqlfluff**](https://github.com/sqlfluff/sqlfluff){target=_blank} | linux/amd64
linux/arm64 | 3.0.7 | [MIT](licenses/sqlfluff.md) | [![GitHub stars](https://img.shields.io/github/stars/sqlfluff/sqlfluff?cacheSeconds=3600)](https://github.com/sqlfluff/sqlfluff){target=_blank} | [SQL](descriptors/sql_sqlfluff.md) | :white_circle: | [Repository](https://github.com/sqlfluff/sqlfluff){target=_blank} |
+| [**standard**](https://github.com/standard/standard){target=_blank} | linux/amd64
linux/arm64 | 17.1.0 | [MIT](licenses/standard.md) | [![GitHub stars](https://img.shields.io/github/stars/standard/standard?cacheSeconds=3600)](https://github.com/standard/standard){target=_blank} | [JAVASCRIPT](descriptors/javascript_standard.md) | :white_circle: | [Repository](https://github.com/standard/standard){target=_blank} |
+| [**stylelint**](https://github.com/stylelint/stylelint){target=_blank} | linux/amd64
linux/arm64 | 16.6.1 | [MIT](licenses/stylelint.md) | [![GitHub stars](https://img.shields.io/github/stars/stylelint/stylelint?cacheSeconds=3600)](https://github.com/stylelint/stylelint){target=_blank} | [CSS](descriptors/css_stylelint.md) | :white_circle: | [Repository](https://github.com/stylelint/stylelint){target=_blank} |
+| [**swiftlint**](https://github.com/realm/SwiftLint){target=_blank} | linux/amd64
linux/arm64 | 0.54.0 | [MIT](licenses/swiftlint.md) | [![GitHub stars](https://img.shields.io/github/stars/realm/SwiftLint?cacheSeconds=3600)](https://github.com/realm/SwiftLint){target=_blank} | [SWIFT](descriptors/swift_swiftlint.md) | :white_circle: | [Repository](https://github.com/realm/SwiftLint){target=_blank} |
+| [**syft**](https://github.com/anchore/syft){target=_blank} | linux/amd64
linux/arm64 | 1.5.0 | [Apache-2.0](licenses/syft.md) | [![GitHub stars](https://img.shields.io/github/stars/anchore/syft?cacheSeconds=3600)](https://github.com/anchore/syft){target=_blank} | [REPOSITORY](descriptors/repository_syft.md) | :white_circle: | [Repository](https://github.com/anchore/syft){target=_blank} |
+| [**tekton-lint**](https://github.com/IBM/tekton-lint){target=_blank} | linux/amd64
linux/arm64 | 1.1.0 | | [![GitHub stars](https://img.shields.io/github/stars/IBM/tekton-lint?cacheSeconds=3600)](https://github.com/IBM/tekton-lint){target=_blank} | [TEKTON](descriptors/tekton_tekton_lint.md) | :white_circle: | [Repository](https://github.com/IBM/tekton-lint){target=_blank} |
+| [**terraform-fmt**](https://github.com/hashicorp/terraform){target=_blank} | linux/amd64
linux/arm64 | 1.8.4 | [MPL-2.0](licenses/terraform-fmt.md) | [![GitHub stars](https://img.shields.io/github/stars/hashicorp/terraform?cacheSeconds=3600)](https://github.com/hashicorp/terraform){target=_blank} | [TERRAFORM](descriptors/terraform_terraform_fmt.md) | :white_circle: | [Repository](https://github.com/hashicorp/terraform){target=_blank} |
+| [**terragrunt**](https://github.com/gruntwork-io/terragrunt){target=_blank} | linux/amd64
linux/arm64 | 0.58.12 | [MIT](licenses/terragrunt.md) | [![GitHub stars](https://img.shields.io/github/stars/gruntwork-io/terragrunt?cacheSeconds=3600)](https://github.com/gruntwork-io/terragrunt){target=_blank} | [TERRAFORM](descriptors/terraform_terragrunt.md) | :white_circle: | [Repository](https://github.com/gruntwork-io/terragrunt){target=_blank} |
+| [**terrascan**](https://github.com/tenable/terrascan){target=_blank} | linux/amd64
linux/arm64 | 1.18.11 | [Apache-2.0](licenses/terrascan.md) | [![GitHub stars](https://img.shields.io/github/stars/tenable/terrascan?cacheSeconds=3600)](https://github.com/tenable/terrascan){target=_blank} | [TERRAFORM](descriptors/terraform_terrascan.md) | :white_circle: | [Repository](https://github.com/tenable/terrascan){target=_blank} |
+| [**tflint**](https://github.com/terraform-linters/tflint){target=_blank} | linux/amd64
linux/arm64 | 0.51.0 | [MPL-2.0](licenses/tflint.md) | [![GitHub stars](https://img.shields.io/github/stars/terraform-linters/tflint?cacheSeconds=3600)](https://github.com/terraform-linters/tflint){target=_blank} | [TERRAFORM](descriptors/terraform_tflint.md) | :white_circle: | [Repository](https://github.com/terraform-linters/tflint){target=_blank} |
+| [**trivy**](https://github.com/aquasecurity/trivy){target=_blank} | linux/amd64
linux/arm64 | 0.51.4 | [Apache-2.0](licenses/trivy.md) | [![GitHub stars](https://img.shields.io/github/stars/aquasecurity/trivy?cacheSeconds=3600)](https://github.com/aquasecurity/trivy){target=_blank} | [REPOSITORY](descriptors/repository_trivy.md) | :white_circle: | [Repository](https://github.com/aquasecurity/trivy){target=_blank} |
+| [**trivy-sbom**](https://github.com/aquasecurity/trivy){target=_blank} | linux/amd64
linux/arm64 | 0.51.4 | | [![GitHub stars](https://img.shields.io/github/stars/aquasecurity/trivy?cacheSeconds=3600)](https://github.com/aquasecurity/trivy){target=_blank} | [REPOSITORY](descriptors/repository_trivy_sbom.md) | :white_circle: | [Repository](https://github.com/aquasecurity/trivy){target=_blank} |
+| [**trufflehog**](https://github.com/trufflesecurity/trufflehog){target=_blank} | linux/amd64
linux/arm64 | 3.77.0 | | [![GitHub stars](https://img.shields.io/github/stars/trufflesecurity/trufflehog?cacheSeconds=3600)](https://github.com/trufflesecurity/trufflehog){target=_blank} | [REPOSITORY](descriptors/repository_trufflehog.md) | :white_circle: | [Repository](https://github.com/trufflesecurity/trufflehog){target=_blank} |
+| [**ts-standard**](https://github.com/standard/ts-standard){target=_blank} | linux/amd64
linux/arm64 | 12.0.2 | | [![GitHub stars](https://img.shields.io/github/stars/standard/ts-standard?cacheSeconds=3600)](https://github.com/standard/ts-standard){target=_blank} | [TYPESCRIPT](descriptors/typescript_ts_standard.md) | :white_circle: | [Repository](https://github.com/standard/ts-standard){target=_blank} |
+| [**tsqllint**](https://github.com/tsqllint/tsqllint){target=_blank} | linux/amd64
linux/arm64 | 1.15.3.0 | [MIT](licenses/tsqllint.md) | [![GitHub stars](https://img.shields.io/github/stars/tsqllint/tsqllint?cacheSeconds=3600)](https://github.com/tsqllint/tsqllint){target=_blank} | [SQL](descriptors/sql_tsqllint.md) | :white_circle: | [Repository](https://github.com/tsqllint/tsqllint){target=_blank} |
+| [**v8r**](https://github.com/chris48s/v8r){target=_blank} | linux/amd64
linux/arm64 | 3.0.0 | [MIT](licenses/v8r.md) | [![GitHub stars](https://img.shields.io/github/stars/chris48s/v8r?cacheSeconds=3600)](https://github.com/chris48s/v8r){target=_blank} | [JSON](descriptors/json_v8r.md)
[YAML](descriptors/yaml_v8r.md) | :no_entry_sign: | [Repository](https://github.com/chris48s/v8r){target=_blank} |
+| [**vale**](https://github.com/errata-ai/vale){target=_blank} | linux/amd64
linux/arm64 | 3.4.2 | [MIT](licenses/vale.md) | [![GitHub stars](https://img.shields.io/github/stars/errata-ai/vale?cacheSeconds=3600)](https://github.com/errata-ai/vale){target=_blank} | [SPELL](descriptors/spell_vale.md) | :white_circle: | [Repository](https://github.com/errata-ai/vale){target=_blank} |
+| [**xmllint**](https://gitlab.gnome.org/GNOME/libxml2/-/wikis/home){target=_blank} | linux/amd64
linux/arm64 | 21108 | | | [XML](descriptors/xml_xmllint.md) | :white_circle: | [Web Site](https://gitlab.gnome.org/GNOME/libxml2/-/wikis/home){target=_blank} |
+| [**yamllint**](https://github.com/adrienverge/yamllint){target=_blank} | linux/amd64
linux/arm64 | 1.35.1 | [GPL-3.0](licenses/yamllint.md) | [![GitHub stars](https://img.shields.io/github/stars/adrienverge/yamllint?cacheSeconds=3600)](https://github.com/adrienverge/yamllint){target=_blank} | [YAML](descriptors/yaml_yamllint.md) | :no_entry_sign: | [Repository](https://github.com/adrienverge/yamllint){target=_blank} |
| [**dotenv-linter**](https://github.com/dotenv-linter/dotenv-linter){target=_blank} | 3.3.0 | [MIT](licenses/dotenv-linter.md) | [![GitHub stars](https://img.shields.io/github/stars/dotenv-linter/dotenv-linter?cacheSeconds=3600)](https://github.com/dotenv-linter/dotenv-linter){target=_blank} | [ENV](descriptors/env_dotenv_linter.md) | :heart: | [MegaLinter reference](https://dotenv-linter.github.io/#/integrations/mega_linter){target=_blank} |
| [**dotnet-format**](https://github.com/dotnet/format){target=_blank} | 8.0.106 | [MIT](licenses/dotnet-format.md) | [![GitHub stars](https://img.shields.io/github/stars/dotnet/format?cacheSeconds=3600)](https://github.com/dotnet/format){target=_blank} | [CSHARP](descriptors/csharp_dotnet_format.md)
[VBDOTNET](descriptors/vbdotnet_dotnet_format.md) | :white_circle: | [Repository](https://github.com/dotnet/format){target=_blank} |
| [**dustilock**](https://github.com/Checkmarx/dustilock){target=_blank} | 1.2.0 | [Apache-2.0](licenses/dustilock.md) | [![GitHub stars](https://img.shields.io/github/stars/Checkmarx/dustilock?cacheSeconds=3600)](https://github.com/Checkmarx/dustilock){target=_blank} | [REPOSITORY](descriptors/repository_dustilock.md) | :white_circle: | [Repository](https://github.com/Checkmarx/dustilock){target=_blank} |
diff --git a/docs/descriptors/arm.md b/docs/descriptors/arm.md
index 341c94468d8..a9f9f64b197 100644
--- a/docs/descriptors/arm.md
+++ b/docs/descriptors/arm.md
@@ -37,11 +37,16 @@ description: arm-ttk is available to analyze ARM files in MegaLinter
- Dockerfile commands :
```dockerfile
-RUN curl -L https://github.com/PowerShell/PowerShell/releases/download/v7.4.2/powershell-7.4.2-linux-musl-x64.tar.gz -o /tmp/powershell.tar.gz \
- && mkdir -p /opt/microsoft/powershell/7 \
- && tar zxf /tmp/powershell.tar.gz -C /opt/microsoft/powershell/7 \
- && chmod +x /opt/microsoft/powershell/7/pwsh \
- && ln -s /opt/microsoft/powershell/7/pwsh /usr/bin/pwsh
+ARG TARGETPLATFORM
+RUN case ${TARGETPLATFORM} in \
+ "linux/amd64") POWERSHELL_ARCH=musl-x64 ;; \
+ "linux/arm64") POWERSHELL_ARCH=arm64 ;; \
+esac \
+&& curl -L https://github.com/PowerShell/PowerShell/releases/download/v7.4.2/powershell-7.4.2-linux-${POWERSHELL_ARCH}.tar.gz -o /tmp/powershell.tar.gz \
+&& mkdir -p /opt/microsoft/powershell/7 \
+&& tar zxf /tmp/powershell.tar.gz -C /opt/microsoft/powershell/7 \
+&& chmod +x /opt/microsoft/powershell/7/pwsh \
+&& ln -s /opt/microsoft/powershell/7/pwsh /usr/bin/pwsh
```
diff --git a/docs/descriptors/arm_arm_ttk.md b/docs/descriptors/arm_arm_ttk.md
index 3e1691b687f..11aa6c43c46 100644
--- a/docs/descriptors/arm_arm_ttk.md
+++ b/docs/descriptors/arm_arm_ttk.md
@@ -112,11 +112,16 @@ Check the spelling of the name, or if a path was included, verify that the path
- Dockerfile commands :
```dockerfile
# Parent descriptor install
-RUN curl -L https://github.com/PowerShell/PowerShell/releases/download/v7.4.2/powershell-7.4.2-linux-musl-x64.tar.gz -o /tmp/powershell.tar.gz \
- && mkdir -p /opt/microsoft/powershell/7 \
- && tar zxf /tmp/powershell.tar.gz -C /opt/microsoft/powershell/7 \
- && chmod +x /opt/microsoft/powershell/7/pwsh \
- && ln -s /opt/microsoft/powershell/7/pwsh /usr/bin/pwsh
+ARG TARGETPLATFORM
+RUN case ${TARGETPLATFORM} in \
+ "linux/amd64") POWERSHELL_ARCH=musl-x64 ;; \
+ "linux/arm64") POWERSHELL_ARCH=arm64 ;; \
+esac \
+&& curl -L https://github.com/PowerShell/PowerShell/releases/download/v7.4.2/powershell-7.4.2-linux-${POWERSHELL_ARCH}.tar.gz -o /tmp/powershell.tar.gz \
+&& mkdir -p /opt/microsoft/powershell/7 \
+&& tar zxf /tmp/powershell.tar.gz -C /opt/microsoft/powershell/7 \
+&& chmod +x /opt/microsoft/powershell/7/pwsh \
+&& ln -s /opt/microsoft/powershell/7/pwsh /usr/bin/pwsh
# Linter install
ARG ARM_TTK_NAME='master.zip'
diff --git a/docs/descriptors/bicep_bicep_linter.md b/docs/descriptors/bicep_bicep_linter.md
index 1372ff1dbe8..c1da065d267 100644
--- a/docs/descriptors/bicep_bicep_linter.md
+++ b/docs/descriptors/bicep_bicep_linter.md
@@ -266,12 +266,16 @@ Usage:
- Dockerfile commands :
```dockerfile
+ARG TARGETPLATFORM
ARG BICEP_EXE='bicep'
-ARG BICEP_URI='https://github.com/Azure/bicep/releases/latest/download/bicep-linux-musl-x64'
ARG BICEP_DIR='/usr/local/bin'
-RUN curl --retry 5 --retry-delay 5 -sLo ${BICEP_EXE} "${BICEP_URI}" \
- && chmod +x "${BICEP_EXE}" \
- && mv "${BICEP_EXE}" "${BICEP_DIR}"
+RUN case ${TARGETPLATFORM} in \
+ "linux/amd64") POWERSHELL_ARCH=musl-x64 ;; \
+ "linux/arm64") POWERSHELL_ARCH=arm64 ;; \
+esac \
+&& curl --retry 5 --retry-delay 5 -sLo ${BICEP_EXE} "https://github.com/Azure/bicep/releases/latest/download/bicep-linux-${POWERSHELL_ARCH}" \
+&& chmod +x "${BICEP_EXE}" \
+&& mv "${BICEP_EXE}" "${BICEP_DIR}"
```
diff --git a/docs/descriptors/dart_dartanalyzer.md b/docs/descriptors/dart_dartanalyzer.md
index 29e14030b5f..9c9cf937c06 100644
--- a/docs/descriptors/dart_dartanalyzer.md
+++ b/docs/descriptors/dart_dartanalyzer.md
@@ -156,11 +156,16 @@ RUN ALPINE_GLIBC_BASE_URL="https://github.com/sgerrand/alpine-pkg-glibc/releases
"$ALPINE_GLIBC_I18N_PACKAGE_FILENAME"
# Linter install
+ARG TARGETPLATFORM
ARG DART_VERSION='2.8.4'
-RUN wget --tries=5 https://storage.googleapis.com/dart-archive/channels/stable/release/${DART_VERSION}/sdk/dartsdk-linux-x64-release.zip -O - -q | unzip -q - \
- && chmod +x dart-sdk/bin/dart* \
- && mv dart-sdk/bin/* /usr/bin/ && mv dart-sdk/lib/* /usr/lib/ && mv dart-sdk/include/* /usr/include/ \
- && rm -r dart-sdk/
+RUN case ${TARGETPLATFORM} in \
+ "linux/amd64") DART_ARCH=x64 ;; \
+ "linux/arm64") DART_ARCH=arm64 ;; \
+esac \
+&& wget --tries=5 https://storage.googleapis.com/dart-archive/channels/stable/release/${DART_VERSION}/sdk/dartsdk-linux-${DART_ARCH}-release.zip -O - -q | unzip -q - \
+&& chmod +x dart-sdk/bin/dart* \
+&& mv dart-sdk/bin/* /usr/bin/ && mv dart-sdk/lib/* /usr/lib/ && mv dart-sdk/include/* /usr/include/ \
+&& rm -r dart-sdk/
```
diff --git a/docs/descriptors/powershell.md b/docs/descriptors/powershell.md
index f69d9886843..207962068b8 100644
--- a/docs/descriptors/powershell.md
+++ b/docs/descriptors/powershell.md
@@ -41,11 +41,16 @@ description: powershell, powershell_formatter are available to analyze POWERSHEL
- Dockerfile commands :
```dockerfile
-RUN curl -L https://github.com/PowerShell/PowerShell/releases/download/v7.4.2/powershell-7.4.2-linux-musl-x64.tar.gz -o /tmp/powershell.tar.gz \
- && mkdir -p /opt/microsoft/powershell/7 \
- && tar zxf /tmp/powershell.tar.gz -C /opt/microsoft/powershell/7 \
- && chmod +x /opt/microsoft/powershell/7/pwsh \
- && ln -s /opt/microsoft/powershell/7/pwsh /usr/bin/pwsh
+ARG TARGETPLATFORM
+RUN case ${TARGETPLATFORM} in \
+ "linux/amd64") POWERSHELL_ARCH=musl-x64 ;; \
+ "linux/arm64") POWERSHELL_ARCH=arm64 ;; \
+esac \
+&& curl -L https://github.com/PowerShell/PowerShell/releases/download/v7.4.2/powershell-7.4.2-linux-${POWERSHELL_ARCH}.tar.gz -o /tmp/powershell.tar.gz \
+&& mkdir -p /opt/microsoft/powershell/7 \
+&& tar zxf /tmp/powershell.tar.gz -C /opt/microsoft/powershell/7 \
+&& chmod +x /opt/microsoft/powershell/7/pwsh \
+&& ln -s /opt/microsoft/powershell/7/pwsh /usr/bin/pwsh
```
diff --git a/docs/descriptors/powershell_powershell.md b/docs/descriptors/powershell_powershell.md
index 1b758248ff1..68fb43908db 100644
--- a/docs/descriptors/powershell_powershell.md
+++ b/docs/descriptors/powershell_powershell.md
@@ -429,11 +429,16 @@ All parameters are case-insensitive.
- Dockerfile commands :
```dockerfile
# Parent descriptor install
-RUN curl -L https://github.com/PowerShell/PowerShell/releases/download/v7.4.2/powershell-7.4.2-linux-musl-x64.tar.gz -o /tmp/powershell.tar.gz \
- && mkdir -p /opt/microsoft/powershell/7 \
- && tar zxf /tmp/powershell.tar.gz -C /opt/microsoft/powershell/7 \
- && chmod +x /opt/microsoft/powershell/7/pwsh \
- && ln -s /opt/microsoft/powershell/7/pwsh /usr/bin/pwsh
+ARG TARGETPLATFORM
+RUN case ${TARGETPLATFORM} in \
+ "linux/amd64") POWERSHELL_ARCH=musl-x64 ;; \
+ "linux/arm64") POWERSHELL_ARCH=arm64 ;; \
+esac \
+&& curl -L https://github.com/PowerShell/PowerShell/releases/download/v7.4.2/powershell-7.4.2-linux-${POWERSHELL_ARCH}.tar.gz -o /tmp/powershell.tar.gz \
+&& mkdir -p /opt/microsoft/powershell/7 \
+&& tar zxf /tmp/powershell.tar.gz -C /opt/microsoft/powershell/7 \
+&& chmod +x /opt/microsoft/powershell/7/pwsh \
+&& ln -s /opt/microsoft/powershell/7/pwsh /usr/bin/pwsh
# Linter install
# renovate: datasource=nuget depName=PSScriptAnalyzer registryUrl=https://www.powershellgallery.com/api/v2/
diff --git a/docs/descriptors/powershell_powershell_formatter.md b/docs/descriptors/powershell_powershell_formatter.md
index 507c3deedab..b5bb2e1865c 100644
--- a/docs/descriptors/powershell_powershell_formatter.md
+++ b/docs/descriptors/powershell_powershell_formatter.md
@@ -431,11 +431,16 @@ All parameters are case-insensitive.
- Dockerfile commands :
```dockerfile
# Parent descriptor install
-RUN curl -L https://github.com/PowerShell/PowerShell/releases/download/v7.4.2/powershell-7.4.2-linux-musl-x64.tar.gz -o /tmp/powershell.tar.gz \
- && mkdir -p /opt/microsoft/powershell/7 \
- && tar zxf /tmp/powershell.tar.gz -C /opt/microsoft/powershell/7 \
- && chmod +x /opt/microsoft/powershell/7/pwsh \
- && ln -s /opt/microsoft/powershell/7/pwsh /usr/bin/pwsh
+ARG TARGETPLATFORM
+RUN case ${TARGETPLATFORM} in \
+ "linux/amd64") POWERSHELL_ARCH=musl-x64 ;; \
+ "linux/arm64") POWERSHELL_ARCH=arm64 ;; \
+esac \
+&& curl -L https://github.com/PowerShell/PowerShell/releases/download/v7.4.2/powershell-7.4.2-linux-${POWERSHELL_ARCH}.tar.gz -o /tmp/powershell.tar.gz \
+&& mkdir -p /opt/microsoft/powershell/7 \
+&& tar zxf /tmp/powershell.tar.gz -C /opt/microsoft/powershell/7 \
+&& chmod +x /opt/microsoft/powershell/7/pwsh \
+&& ln -s /opt/microsoft/powershell/7/pwsh /usr/bin/pwsh
# Linter install
# renovate: datasource=nuget depName=PSScriptAnalyzer registryUrl=https://www.powershellgallery.com/api/v2/
diff --git a/flavors/c_cpp/Dockerfile b/flavors/c_cpp/Dockerfile
index 2e35e1a289c..ca5122ddbf6 100644
--- a/flavors/c_cpp/Dockerfile
+++ b/flavors/c_cpp/Dockerfile
@@ -44,8 +44,18 @@ FROM lycheeverse/lychee:latest-alpine as lychee
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/flavors/ci_light/Dockerfile b/flavors/ci_light/Dockerfile
index 20662fa1f57..ae16f7bfd36 100644
--- a/flavors/ci_light/Dockerfile
+++ b/flavors/ci_light/Dockerfile
@@ -31,8 +31,18 @@ FROM trufflesecurity/trufflehog:latest as trufflehog
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/flavors/cupcake/Dockerfile b/flavors/cupcake/Dockerfile
index ec301d2fd66..a219a3445ff 100644
--- a/flavors/cupcake/Dockerfile
+++ b/flavors/cupcake/Dockerfile
@@ -57,8 +57,18 @@ FROM alpine/terragrunt:latest as terragrunt
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/flavors/documentation/Dockerfile b/flavors/documentation/Dockerfile
index 8a341efc624..6af470b74b4 100644
--- a/flavors/documentation/Dockerfile
+++ b/flavors/documentation/Dockerfile
@@ -44,8 +44,18 @@ FROM lycheeverse/lychee:latest-alpine as lychee
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/flavors/dotnet/Dockerfile b/flavors/dotnet/Dockerfile
index dbf7f945083..53fa7f97018 100644
--- a/flavors/dotnet/Dockerfile
+++ b/flavors/dotnet/Dockerfile
@@ -44,17 +44,27 @@ FROM lycheeverse/lychee:latest-alpine as lychee
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
#ARG__START
+ARG TARGETPLATFORM
ARG ARM_TTK_NAME='master.zip'
ARG ARM_TTK_URI='https://github.com/Azure/arm-ttk/archive/master.zip'
ARG ARM_TTK_DIRECTORY='/opt/microsoft'
ARG BICEP_EXE='bicep'
-ARG BICEP_URI='https://github.com/Azure/bicep/releases/latest/download/bicep-linux-musl-x64'
ARG BICEP_DIR='/usr/local/bin'
# renovate: datasource=github-tags depName=detekt/detekt
ARG DETEKT_VERSION=1.23.6
@@ -248,11 +258,15 @@ COPY --link --from=lychee /usr/local/bin/lychee /usr/bin/
#############################################################################################
#OTHER__START
# ARM installation
-RUN curl -L https://github.com/PowerShell/PowerShell/releases/download/v7.4.2/powershell-7.4.2-linux-musl-x64.tar.gz -o /tmp/powershell.tar.gz \
- && mkdir -p /opt/microsoft/powershell/7 \
- && tar zxf /tmp/powershell.tar.gz -C /opt/microsoft/powershell/7 \
- && chmod +x /opt/microsoft/powershell/7/pwsh \
- && ln -s /opt/microsoft/powershell/7/pwsh /usr/bin/pwsh \
+RUN case ${TARGETPLATFORM} in \
+ "linux/amd64") POWERSHELL_ARCH=musl-x64 ;; \
+ "linux/arm64") POWERSHELL_ARCH=arm64 ;; \
+esac \
+&& curl -L https://github.com/PowerShell/PowerShell/releases/download/v7.4.2/powershell-7.4.2-linux-${POWERSHELL_ARCH}.tar.gz -o /tmp/powershell.tar.gz \
+&& mkdir -p /opt/microsoft/powershell/7 \
+&& tar zxf /tmp/powershell.tar.gz -C /opt/microsoft/powershell/7 \
+&& chmod +x /opt/microsoft/powershell/7/pwsh \
+&& ln -s /opt/microsoft/powershell/7/pwsh /usr/bin/pwsh \
# CSHARP installation
&& apk add --no-cache dotnet8-sdk --repository=https://dl-cdn.alpinelinux.org/alpine/edge/community
@@ -264,11 +278,15 @@ ENV PATH="$JAVA_HOME/bin:${PATH}"
# POWERSHELL installation
# Next line commented because already managed by another linter
-# RUN curl -L https://github.com/PowerShell/PowerShell/releases/download/v7.4.2/powershell-7.4.2-linux-musl-x64.tar.gz -o /tmp/powershell.tar.gz \
-# && mkdir -p /opt/microsoft/powershell/7 \
-# && tar zxf /tmp/powershell.tar.gz -C /opt/microsoft/powershell/7 \
-# && chmod +x /opt/microsoft/powershell/7/pwsh \
-# && ln -s /opt/microsoft/powershell/7/pwsh /usr/bin/pwsh
+# RUN case ${TARGETPLATFORM} in \
+# "linux/amd64") POWERSHELL_ARCH=musl-x64 ;; \
+# "linux/arm64") POWERSHELL_ARCH=arm64 ;; \
+# esac \
+# && curl -L https://github.com/PowerShell/PowerShell/releases/download/v7.4.2/powershell-7.4.2-linux-${POWERSHELL_ARCH}.tar.gz -o /tmp/powershell.tar.gz \
+# && mkdir -p /opt/microsoft/powershell/7 \
+# && tar zxf /tmp/powershell.tar.gz -C /opt/microsoft/powershell/7 \
+# && chmod +x /opt/microsoft/powershell/7/pwsh \
+# && ln -s /opt/microsoft/powershell/7/pwsh /usr/bin/pwsh
# VBDOTNET installation
# Next line commented because already managed by another linter
@@ -301,9 +319,13 @@ RUN curl --retry 5 --retry-delay 5 -sLO "${ARM_TTK_URI}" \
# Managed with COPY --link --from=shfmt /bin/shfmt /usr/bin/
# bicep_linter installation
- && curl --retry 5 --retry-delay 5 -sLo ${BICEP_EXE} "${BICEP_URI}" \
- && chmod +x "${BICEP_EXE}" \
- && mv "${BICEP_EXE}" "${BICEP_DIR}" \
+ && case ${TARGETPLATFORM} in \
+ "linux/amd64") POWERSHELL_ARCH=musl-x64 ;; \
+ "linux/arm64") POWERSHELL_ARCH=arm64 ;; \
+esac \
+&& curl --retry 5 --retry-delay 5 -sLo ${BICEP_EXE} "https://github.com/Azure/bicep/releases/latest/download/bicep-linux-${POWERSHELL_ARCH}" \
+&& chmod +x "${BICEP_EXE}" \
+&& mv "${BICEP_EXE}" "${BICEP_DIR}" \
# csharpier installation
&& dotnet tool install --global csharpier \
diff --git a/flavors/dotnetweb/Dockerfile b/flavors/dotnetweb/Dockerfile
index b02431e2b2b..aea1aafd060 100644
--- a/flavors/dotnetweb/Dockerfile
+++ b/flavors/dotnetweb/Dockerfile
@@ -44,17 +44,27 @@ FROM lycheeverse/lychee:latest-alpine as lychee
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
#ARG__START
+ARG TARGETPLATFORM
ARG ARM_TTK_NAME='master.zip'
ARG ARM_TTK_URI='https://github.com/Azure/arm-ttk/archive/master.zip'
ARG ARM_TTK_DIRECTORY='/opt/microsoft'
ARG BICEP_EXE='bicep'
-ARG BICEP_URI='https://github.com/Azure/bicep/releases/latest/download/bicep-linux-musl-x64'
ARG BICEP_DIR='/usr/local/bin'
# renovate: datasource=github-tags depName=detekt/detekt
ARG DETEKT_VERSION=1.23.6
@@ -270,11 +280,15 @@ COPY --link --from=lychee /usr/local/bin/lychee /usr/bin/
#############################################################################################
#OTHER__START
# ARM installation
-RUN curl -L https://github.com/PowerShell/PowerShell/releases/download/v7.4.2/powershell-7.4.2-linux-musl-x64.tar.gz -o /tmp/powershell.tar.gz \
- && mkdir -p /opt/microsoft/powershell/7 \
- && tar zxf /tmp/powershell.tar.gz -C /opt/microsoft/powershell/7 \
- && chmod +x /opt/microsoft/powershell/7/pwsh \
- && ln -s /opt/microsoft/powershell/7/pwsh /usr/bin/pwsh \
+RUN case ${TARGETPLATFORM} in \
+ "linux/amd64") POWERSHELL_ARCH=musl-x64 ;; \
+ "linux/arm64") POWERSHELL_ARCH=arm64 ;; \
+esac \
+&& curl -L https://github.com/PowerShell/PowerShell/releases/download/v7.4.2/powershell-7.4.2-linux-${POWERSHELL_ARCH}.tar.gz -o /tmp/powershell.tar.gz \
+&& mkdir -p /opt/microsoft/powershell/7 \
+&& tar zxf /tmp/powershell.tar.gz -C /opt/microsoft/powershell/7 \
+&& chmod +x /opt/microsoft/powershell/7/pwsh \
+&& ln -s /opt/microsoft/powershell/7/pwsh /usr/bin/pwsh \
# CSHARP installation
&& apk add --no-cache dotnet8-sdk --repository=https://dl-cdn.alpinelinux.org/alpine/edge/community
@@ -286,11 +300,15 @@ ENV PATH="$JAVA_HOME/bin:${PATH}"
# POWERSHELL installation
# Next line commented because already managed by another linter
-# RUN curl -L https://github.com/PowerShell/PowerShell/releases/download/v7.4.2/powershell-7.4.2-linux-musl-x64.tar.gz -o /tmp/powershell.tar.gz \
-# && mkdir -p /opt/microsoft/powershell/7 \
-# && tar zxf /tmp/powershell.tar.gz -C /opt/microsoft/powershell/7 \
-# && chmod +x /opt/microsoft/powershell/7/pwsh \
-# && ln -s /opt/microsoft/powershell/7/pwsh /usr/bin/pwsh
+# RUN case ${TARGETPLATFORM} in \
+# "linux/amd64") POWERSHELL_ARCH=musl-x64 ;; \
+# "linux/arm64") POWERSHELL_ARCH=arm64 ;; \
+# esac \
+# && curl -L https://github.com/PowerShell/PowerShell/releases/download/v7.4.2/powershell-7.4.2-linux-${POWERSHELL_ARCH}.tar.gz -o /tmp/powershell.tar.gz \
+# && mkdir -p /opt/microsoft/powershell/7 \
+# && tar zxf /tmp/powershell.tar.gz -C /opt/microsoft/powershell/7 \
+# && chmod +x /opt/microsoft/powershell/7/pwsh \
+# && ln -s /opt/microsoft/powershell/7/pwsh /usr/bin/pwsh
# VBDOTNET installation
# Next line commented because already managed by another linter
@@ -323,9 +341,13 @@ RUN curl --retry 5 --retry-delay 5 -sLO "${ARM_TTK_URI}" \
# Managed with COPY --link --from=shfmt /bin/shfmt /usr/bin/
# bicep_linter installation
- && curl --retry 5 --retry-delay 5 -sLo ${BICEP_EXE} "${BICEP_URI}" \
- && chmod +x "${BICEP_EXE}" \
- && mv "${BICEP_EXE}" "${BICEP_DIR}" \
+ && case ${TARGETPLATFORM} in \
+ "linux/amd64") POWERSHELL_ARCH=musl-x64 ;; \
+ "linux/arm64") POWERSHELL_ARCH=arm64 ;; \
+esac \
+&& curl --retry 5 --retry-delay 5 -sLo ${BICEP_EXE} "https://github.com/Azure/bicep/releases/latest/download/bicep-linux-${POWERSHELL_ARCH}" \
+&& chmod +x "${BICEP_EXE}" \
+&& mv "${BICEP_EXE}" "${BICEP_DIR}" \
# csharpier installation
&& dotnet tool install --global csharpier \
diff --git a/flavors/formatters/Dockerfile b/flavors/formatters/Dockerfile
index 6a39b708733..56b1c4f8954 100644
--- a/flavors/formatters/Dockerfile
+++ b/flavors/formatters/Dockerfile
@@ -26,12 +26,23 @@ FROM alpine/terragrunt:latest as terragrunt
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
#ARG__START
+ARG TARGETPLATFORM
# renovate: datasource=nuget depName=PSScriptAnalyzer registryUrl=https://www.powershellgallery.com/api/v2/
ARG PSSA_VERSION='1.22.0'
@@ -168,11 +179,15 @@ RUN apk add --no-cache dotnet8-sdk --repository=https://dl-cdn.alpinelinux.org/a
ENV PATH="${PATH}:/root/.dotnet/tools"
# POWERSHELL installation
-RUN curl -L https://github.com/PowerShell/PowerShell/releases/download/v7.4.2/powershell-7.4.2-linux-musl-x64.tar.gz -o /tmp/powershell.tar.gz \
- && mkdir -p /opt/microsoft/powershell/7 \
- && tar zxf /tmp/powershell.tar.gz -C /opt/microsoft/powershell/7 \
- && chmod +x /opt/microsoft/powershell/7/pwsh \
- && ln -s /opt/microsoft/powershell/7/pwsh /usr/bin/pwsh \
+RUN case ${TARGETPLATFORM} in \
+ "linux/amd64") POWERSHELL_ARCH=musl-x64 ;; \
+ "linux/arm64") POWERSHELL_ARCH=arm64 ;; \
+esac \
+&& curl -L https://github.com/PowerShell/PowerShell/releases/download/v7.4.2/powershell-7.4.2-linux-${POWERSHELL_ARCH}.tar.gz -o /tmp/powershell.tar.gz \
+&& mkdir -p /opt/microsoft/powershell/7 \
+&& tar zxf /tmp/powershell.tar.gz -C /opt/microsoft/powershell/7 \
+&& chmod +x /opt/microsoft/powershell/7/pwsh \
+&& ln -s /opt/microsoft/powershell/7/pwsh /usr/bin/pwsh \
# VBDOTNET installation
# Next line commented because already managed by another linter
diff --git a/flavors/go/Dockerfile b/flavors/go/Dockerfile
index 4868dd48e11..5065a823fcc 100644
--- a/flavors/go/Dockerfile
+++ b/flavors/go/Dockerfile
@@ -50,8 +50,18 @@ FROM lycheeverse/lychee:latest-alpine as lychee
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/flavors/java/Dockerfile b/flavors/java/Dockerfile
index d2b229100b0..0e2e06637ae 100644
--- a/flavors/java/Dockerfile
+++ b/flavors/java/Dockerfile
@@ -44,8 +44,18 @@ FROM lycheeverse/lychee:latest-alpine as lychee
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/flavors/javascript/Dockerfile b/flavors/javascript/Dockerfile
index 93866421c4e..d85cf9bf1d0 100644
--- a/flavors/javascript/Dockerfile
+++ b/flavors/javascript/Dockerfile
@@ -44,8 +44,18 @@ FROM lycheeverse/lychee:latest-alpine as lychee
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/flavors/php/Dockerfile b/flavors/php/Dockerfile
index f0879f98966..99c9c24f3e7 100644
--- a/flavors/php/Dockerfile
+++ b/flavors/php/Dockerfile
@@ -44,8 +44,18 @@ FROM lycheeverse/lychee:latest-alpine as lychee
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/flavors/python/Dockerfile b/flavors/python/Dockerfile
index 41a21eb84b0..3c02188a6c5 100644
--- a/flavors/python/Dockerfile
+++ b/flavors/python/Dockerfile
@@ -44,8 +44,18 @@ FROM lycheeverse/lychee:latest-alpine as lychee
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/flavors/ruby/Dockerfile b/flavors/ruby/Dockerfile
index f0de5497157..4a6fd6358af 100644
--- a/flavors/ruby/Dockerfile
+++ b/flavors/ruby/Dockerfile
@@ -44,8 +44,18 @@ FROM lycheeverse/lychee:latest-alpine as lychee
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/flavors/rust/Dockerfile b/flavors/rust/Dockerfile
index 1aa32f8e2d9..8cb27da9ee6 100644
--- a/flavors/rust/Dockerfile
+++ b/flavors/rust/Dockerfile
@@ -44,8 +44,18 @@ FROM lycheeverse/lychee:latest-alpine as lychee
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/flavors/salesforce/Dockerfile b/flavors/salesforce/Dockerfile
index 08e27c78be4..5c8a2918fcb 100644
--- a/flavors/salesforce/Dockerfile
+++ b/flavors/salesforce/Dockerfile
@@ -44,8 +44,18 @@ FROM lycheeverse/lychee:latest-alpine as lychee
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/flavors/security/Dockerfile b/flavors/security/Dockerfile
index ff13e489b3e..70b1b72c08b 100644
--- a/flavors/security/Dockerfile
+++ b/flavors/security/Dockerfile
@@ -41,8 +41,18 @@ FROM alpine/terragrunt:latest as terragrunt
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/flavors/swift/Dockerfile b/flavors/swift/Dockerfile
index 57ce1009755..816ee9b5902 100644
--- a/flavors/swift/Dockerfile
+++ b/flavors/swift/Dockerfile
@@ -44,8 +44,18 @@ FROM lycheeverse/lychee:latest-alpine as lychee
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/flavors/terraform/Dockerfile b/flavors/terraform/Dockerfile
index 826e93a2bec..e70131723a6 100644
--- a/flavors/terraform/Dockerfile
+++ b/flavors/terraform/Dockerfile
@@ -53,8 +53,18 @@ FROM alpine/terragrunt:latest as terragrunt
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/action_actionlint/Dockerfile b/linters/action_actionlint/Dockerfile
index f499b53d18c..3db8924c2f2 100644
--- a/linters/action_actionlint/Dockerfile
+++ b/linters/action_actionlint/Dockerfile
@@ -27,8 +27,18 @@ FROM koalaman/shellcheck:stable as shellcheck
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/ansible_ansible_lint/Dockerfile b/linters/ansible_ansible_lint/Dockerfile
index bd12f2118e1..b09b865d177 100644
--- a/linters/ansible_ansible_lint/Dockerfile
+++ b/linters/ansible_ansible_lint/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/api_spectral/Dockerfile b/linters/api_spectral/Dockerfile
index 01d7534fc88..183ebe8dba3 100644
--- a/linters/api_spectral/Dockerfile
+++ b/linters/api_spectral/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/arm_arm_ttk/Dockerfile b/linters/arm_arm_ttk/Dockerfile
index 50704c3f5ad..44f6e308adf 100644
--- a/linters/arm_arm_ttk/Dockerfile
+++ b/linters/arm_arm_ttk/Dockerfile
@@ -24,12 +24,23 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
#ARG__START
+ARG TARGETPLATFORM
ARG ARM_TTK_NAME='master.zip'
ARG ARM_TTK_URI='https://github.com/Azure/arm-ttk/archive/master.zip'
ARG ARM_TTK_DIRECTORY='/opt/microsoft'
@@ -134,11 +145,15 @@ ENV PATH="/node-deps/node_modules/.bin:${PATH}" \
#############################################################################################
#OTHER__START
# ARM installation
-RUN curl -L https://github.com/PowerShell/PowerShell/releases/download/v7.4.2/powershell-7.4.2-linux-musl-x64.tar.gz -o /tmp/powershell.tar.gz \
- && mkdir -p /opt/microsoft/powershell/7 \
- && tar zxf /tmp/powershell.tar.gz -C /opt/microsoft/powershell/7 \
- && chmod +x /opt/microsoft/powershell/7/pwsh \
- && ln -s /opt/microsoft/powershell/7/pwsh /usr/bin/pwsh
+RUN case ${TARGETPLATFORM} in \
+ "linux/amd64") POWERSHELL_ARCH=musl-x64 ;; \
+ "linux/arm64") POWERSHELL_ARCH=arm64 ;; \
+esac \
+&& curl -L https://github.com/PowerShell/PowerShell/releases/download/v7.4.2/powershell-7.4.2-linux-${POWERSHELL_ARCH}.tar.gz -o /tmp/powershell.tar.gz \
+&& mkdir -p /opt/microsoft/powershell/7 \
+&& tar zxf /tmp/powershell.tar.gz -C /opt/microsoft/powershell/7 \
+&& chmod +x /opt/microsoft/powershell/7/pwsh \
+&& ln -s /opt/microsoft/powershell/7/pwsh /usr/bin/pwsh
# arm-ttk installation
diff --git a/linters/bash_exec/Dockerfile b/linters/bash_exec/Dockerfile
index 565f14a8681..e0b3971176f 100644
--- a/linters/bash_exec/Dockerfile
+++ b/linters/bash_exec/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/bash_shellcheck/Dockerfile b/linters/bash_shellcheck/Dockerfile
index 127ce17c679..5e17321d1c1 100644
--- a/linters/bash_shellcheck/Dockerfile
+++ b/linters/bash_shellcheck/Dockerfile
@@ -24,8 +24,18 @@ FROM koalaman/shellcheck:stable as shellcheck
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/bash_shfmt/Dockerfile b/linters/bash_shfmt/Dockerfile
index 5e67885eaff..b01ef075836 100644
--- a/linters/bash_shfmt/Dockerfile
+++ b/linters/bash_shfmt/Dockerfile
@@ -24,8 +24,18 @@ FROM mvdan/shfmt:latest-alpine as shfmt
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/bicep_bicep_linter/Dockerfile b/linters/bicep_bicep_linter/Dockerfile
index 5df140efc7a..bc02e36a93e 100644
--- a/linters/bicep_bicep_linter/Dockerfile
+++ b/linters/bicep_bicep_linter/Dockerfile
@@ -24,14 +24,24 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
#ARG__START
+ARG TARGETPLATFORM
ARG BICEP_EXE='bicep'
-ARG BICEP_URI='https://github.com/Azure/bicep/releases/latest/download/bicep-linux-musl-x64'
ARG BICEP_DIR='/usr/local/bin'
#ARG__END
@@ -134,9 +144,13 @@ ENV PATH="/node-deps/node_modules/.bin:${PATH}" \
#############################################################################################
#OTHER__START
# bicep_linter installation
-RUN curl --retry 5 --retry-delay 5 -sLo ${BICEP_EXE} "${BICEP_URI}" \
- && chmod +x "${BICEP_EXE}" \
- && mv "${BICEP_EXE}" "${BICEP_DIR}"
+RUN case ${TARGETPLATFORM} in \
+ "linux/amd64") POWERSHELL_ARCH=musl-x64 ;; \
+ "linux/arm64") POWERSHELL_ARCH=arm64 ;; \
+esac \
+&& curl --retry 5 --retry-delay 5 -sLo ${BICEP_EXE} "https://github.com/Azure/bicep/releases/latest/download/bicep-linux-${POWERSHELL_ARCH}" \
+&& chmod +x "${BICEP_EXE}" \
+&& mv "${BICEP_EXE}" "${BICEP_DIR}"
#OTHER__END
diff --git a/linters/c_clang_format/Dockerfile b/linters/c_clang_format/Dockerfile
index 561780a5ce1..ed844fc1f41 100644
--- a/linters/c_clang_format/Dockerfile
+++ b/linters/c_clang_format/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/c_cpplint/Dockerfile b/linters/c_cpplint/Dockerfile
index 3bff2cdde7d..f3841dca00b 100644
--- a/linters/c_cpplint/Dockerfile
+++ b/linters/c_cpplint/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/clojure_clj_kondo/Dockerfile b/linters/clojure_clj_kondo/Dockerfile
index dd9e348c39c..2e8ff3a12e3 100644
--- a/linters/clojure_clj_kondo/Dockerfile
+++ b/linters/clojure_clj_kondo/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/clojure_cljstyle/Dockerfile b/linters/clojure_cljstyle/Dockerfile
index b357a47a460..bf721866148 100644
--- a/linters/clojure_cljstyle/Dockerfile
+++ b/linters/clojure_cljstyle/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/cloudformation_cfn_lint/Dockerfile b/linters/cloudformation_cfn_lint/Dockerfile
index 9a3f8d7e7df..dacfbc565c6 100644
--- a/linters/cloudformation_cfn_lint/Dockerfile
+++ b/linters/cloudformation_cfn_lint/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/coffee_coffeelint/Dockerfile b/linters/coffee_coffeelint/Dockerfile
index e1f5195eb8b..4d8e7959978 100644
--- a/linters/coffee_coffeelint/Dockerfile
+++ b/linters/coffee_coffeelint/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/copypaste_jscpd/Dockerfile b/linters/copypaste_jscpd/Dockerfile
index ec470c8eb18..2e104950f45 100644
--- a/linters/copypaste_jscpd/Dockerfile
+++ b/linters/copypaste_jscpd/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/cpp_clang_format/Dockerfile b/linters/cpp_clang_format/Dockerfile
index cd3406b1a5a..962ca97a257 100644
--- a/linters/cpp_clang_format/Dockerfile
+++ b/linters/cpp_clang_format/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/cpp_cpplint/Dockerfile b/linters/cpp_cpplint/Dockerfile
index 04339fcc9a6..5b455e44fc6 100644
--- a/linters/cpp_cpplint/Dockerfile
+++ b/linters/cpp_cpplint/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/csharp_csharpier/Dockerfile b/linters/csharp_csharpier/Dockerfile
index d90f5a39998..f39fdd254ef 100644
--- a/linters/csharp_csharpier/Dockerfile
+++ b/linters/csharp_csharpier/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/csharp_dotnet_format/Dockerfile b/linters/csharp_dotnet_format/Dockerfile
index 6b4f73100c2..75700b85792 100644
--- a/linters/csharp_dotnet_format/Dockerfile
+++ b/linters/csharp_dotnet_format/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/csharp_roslynator/Dockerfile b/linters/csharp_roslynator/Dockerfile
index b8bb670d786..95db88664ba 100644
--- a/linters/csharp_roslynator/Dockerfile
+++ b/linters/csharp_roslynator/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/css_scss_lint/Dockerfile b/linters/css_scss_lint/Dockerfile
index c34128a5e67..80b20efa8c4 100644
--- a/linters/css_scss_lint/Dockerfile
+++ b/linters/css_scss_lint/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/css_stylelint/Dockerfile b/linters/css_stylelint/Dockerfile
index b2f75e642af..1d61c152671 100644
--- a/linters/css_stylelint/Dockerfile
+++ b/linters/css_stylelint/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/dart_dartanalyzer/Dockerfile b/linters/dart_dartanalyzer/Dockerfile
index 2de08cb6bfb..149d9e766b7 100644
--- a/linters/dart_dartanalyzer/Dockerfile
+++ b/linters/dart_dartanalyzer/Dockerfile
@@ -24,12 +24,23 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
#ARG__START
+ARG TARGETPLATFORM
ARG DART_VERSION='2.8.4'
#ARG__END
@@ -173,10 +184,14 @@ RUN ALPINE_GLIBC_BASE_URL="https://github.com/sgerrand/alpine-pkg-glibc/releases
"$ALPINE_GLIBC_I18N_PACKAGE_FILENAME" \
# dartanalyzer installation
- && wget --tries=5 https://storage.googleapis.com/dart-archive/channels/stable/release/${DART_VERSION}/sdk/dartsdk-linux-x64-release.zip -O - -q | unzip -q - \
- && chmod +x dart-sdk/bin/dart* \
- && mv dart-sdk/bin/* /usr/bin/ && mv dart-sdk/lib/* /usr/lib/ && mv dart-sdk/include/* /usr/include/ \
- && rm -r dart-sdk/
+ && case ${TARGETPLATFORM} in \
+ "linux/amd64") DART_ARCH=x64 ;; \
+ "linux/arm64") DART_ARCH=arm64 ;; \
+esac \
+&& wget --tries=5 https://storage.googleapis.com/dart-archive/channels/stable/release/${DART_VERSION}/sdk/dartsdk-linux-${DART_ARCH}-release.zip -O - -q | unzip -q - \
+&& chmod +x dart-sdk/bin/dart* \
+&& mv dart-sdk/bin/* /usr/bin/ && mv dart-sdk/lib/* /usr/lib/ && mv dart-sdk/include/* /usr/include/ \
+&& rm -r dart-sdk/
#OTHER__END
diff --git a/linters/dockerfile_hadolint/Dockerfile b/linters/dockerfile_hadolint/Dockerfile
index 8e4c61bb716..e0517534bb0 100644
--- a/linters/dockerfile_hadolint/Dockerfile
+++ b/linters/dockerfile_hadolint/Dockerfile
@@ -24,8 +24,18 @@ FROM hadolint/hadolint:v2.12.0-alpine as hadolint
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/editorconfig_editorconfig_checker/Dockerfile b/linters/editorconfig_editorconfig_checker/Dockerfile
index 4610c8a35e1..f5437cab9ab 100644
--- a/linters/editorconfig_editorconfig_checker/Dockerfile
+++ b/linters/editorconfig_editorconfig_checker/Dockerfile
@@ -26,8 +26,18 @@ FROM mstruebing/editorconfig-checker:${EDITORCONFIG_CHECKER_VERSION} as editorco
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/env_dotenv_linter/Dockerfile b/linters/env_dotenv_linter/Dockerfile
index 508499da820..c32fe24859d 100644
--- a/linters/env_dotenv_linter/Dockerfile
+++ b/linters/env_dotenv_linter/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/gherkin_gherkin_lint/Dockerfile b/linters/gherkin_gherkin_lint/Dockerfile
index 5937028a6ea..4bc7a3f04e6 100644
--- a/linters/gherkin_gherkin_lint/Dockerfile
+++ b/linters/gherkin_gherkin_lint/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/go_golangci_lint/Dockerfile b/linters/go_golangci_lint/Dockerfile
index c60ed12e75c..1ae01e6068a 100644
--- a/linters/go_golangci_lint/Dockerfile
+++ b/linters/go_golangci_lint/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/go_revive/Dockerfile b/linters/go_revive/Dockerfile
index 8eb46bc73b4..eac1883a11b 100644
--- a/linters/go_revive/Dockerfile
+++ b/linters/go_revive/Dockerfile
@@ -29,8 +29,18 @@ RUN GOBIN=/usr/bin go install github.com/mgechev/revive@latest
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/graphql_graphql_schema_linter/Dockerfile b/linters/graphql_graphql_schema_linter/Dockerfile
index b3be3429c75..c49391f3277 100644
--- a/linters/graphql_graphql_schema_linter/Dockerfile
+++ b/linters/graphql_graphql_schema_linter/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/groovy_npm_groovy_lint/Dockerfile b/linters/groovy_npm_groovy_lint/Dockerfile
index fef13a0b23e..7356ba7d2f0 100644
--- a/linters/groovy_npm_groovy_lint/Dockerfile
+++ b/linters/groovy_npm_groovy_lint/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/html_djlint/Dockerfile b/linters/html_djlint/Dockerfile
index aad38ab711d..d5549b6082b 100644
--- a/linters/html_djlint/Dockerfile
+++ b/linters/html_djlint/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/html_htmlhint/Dockerfile b/linters/html_htmlhint/Dockerfile
index fa75eb4e448..6ef27bbb6e1 100644
--- a/linters/html_htmlhint/Dockerfile
+++ b/linters/html_htmlhint/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/java_checkstyle/Dockerfile b/linters/java_checkstyle/Dockerfile
index 0a30af6da7b..ccc65f4abd9 100644
--- a/linters/java_checkstyle/Dockerfile
+++ b/linters/java_checkstyle/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/java_pmd/Dockerfile b/linters/java_pmd/Dockerfile
index b307f4d3cd5..252cc3bf3e7 100644
--- a/linters/java_pmd/Dockerfile
+++ b/linters/java_pmd/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/javascript_es/Dockerfile b/linters/javascript_es/Dockerfile
index 69ac7f91379..b7f67036517 100644
--- a/linters/javascript_es/Dockerfile
+++ b/linters/javascript_es/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/javascript_prettier/Dockerfile b/linters/javascript_prettier/Dockerfile
index 81ca19fbffe..9bbeea88c48 100644
--- a/linters/javascript_prettier/Dockerfile
+++ b/linters/javascript_prettier/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/javascript_standard/Dockerfile b/linters/javascript_standard/Dockerfile
index e085c8894cb..b7213067a6a 100644
--- a/linters/javascript_standard/Dockerfile
+++ b/linters/javascript_standard/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/json_eslint_plugin_jsonc/Dockerfile b/linters/json_eslint_plugin_jsonc/Dockerfile
index a28b21a2e60..0bbd5e1a58b 100644
--- a/linters/json_eslint_plugin_jsonc/Dockerfile
+++ b/linters/json_eslint_plugin_jsonc/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/json_jsonlint/Dockerfile b/linters/json_jsonlint/Dockerfile
index ee5479c65e2..d0cb4dfc490 100644
--- a/linters/json_jsonlint/Dockerfile
+++ b/linters/json_jsonlint/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/json_npm_package_json_lint/Dockerfile b/linters/json_npm_package_json_lint/Dockerfile
index 7d7cf73f7dc..bce61d25185 100644
--- a/linters/json_npm_package_json_lint/Dockerfile
+++ b/linters/json_npm_package_json_lint/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/json_prettier/Dockerfile b/linters/json_prettier/Dockerfile
index 285acc2fd5e..a69a1861dba 100644
--- a/linters/json_prettier/Dockerfile
+++ b/linters/json_prettier/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/json_v8r/Dockerfile b/linters/json_v8r/Dockerfile
index f98c4fd6ddb..6641dd0170b 100644
--- a/linters/json_v8r/Dockerfile
+++ b/linters/json_v8r/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/jsx_eslint/Dockerfile b/linters/jsx_eslint/Dockerfile
index d315c53fa71..b12f9a3ee9e 100644
--- a/linters/jsx_eslint/Dockerfile
+++ b/linters/jsx_eslint/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/kotlin_detekt/Dockerfile b/linters/kotlin_detekt/Dockerfile
index a9cef6dbdc9..0d7c9c740bd 100644
--- a/linters/kotlin_detekt/Dockerfile
+++ b/linters/kotlin_detekt/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/kotlin_ktlint/Dockerfile b/linters/kotlin_ktlint/Dockerfile
index 63ea2c7fbbc..b6ba505deaf 100644
--- a/linters/kotlin_ktlint/Dockerfile
+++ b/linters/kotlin_ktlint/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/kubernetes_helm/Dockerfile b/linters/kubernetes_helm/Dockerfile
index 0fb89df69f4..672e718edb2 100644
--- a/linters/kubernetes_helm/Dockerfile
+++ b/linters/kubernetes_helm/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/kubernetes_kubeconform/Dockerfile b/linters/kubernetes_kubeconform/Dockerfile
index 02a0d2fe431..0905463a0d0 100644
--- a/linters/kubernetes_kubeconform/Dockerfile
+++ b/linters/kubernetes_kubeconform/Dockerfile
@@ -24,8 +24,18 @@ FROM ghcr.io/yannh/kubeconform:latest-alpine as kubeconform
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/kubernetes_kubescape/Dockerfile b/linters/kubernetes_kubescape/Dockerfile
index 5459cc785af..3fec9f6fbbc 100644
--- a/linters/kubernetes_kubescape/Dockerfile
+++ b/linters/kubernetes_kubescape/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/latex_chktex/Dockerfile b/linters/latex_chktex/Dockerfile
index 0b349e2aeed..0409751b33c 100644
--- a/linters/latex_chktex/Dockerfile
+++ b/linters/latex_chktex/Dockerfile
@@ -24,8 +24,18 @@ FROM ghcr.io/assignuser/chktex-alpine:latest as chktex
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/lua_luacheck/Dockerfile b/linters/lua_luacheck/Dockerfile
index b7a51c7e8c3..ba0cef8acfa 100644
--- a/linters/lua_luacheck/Dockerfile
+++ b/linters/lua_luacheck/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/makefile_checkmake/Dockerfile b/linters/makefile_checkmake/Dockerfile
index 0120b86c611..e5caabed946 100644
--- a/linters/makefile_checkmake/Dockerfile
+++ b/linters/makefile_checkmake/Dockerfile
@@ -24,8 +24,18 @@ FROM mrtazz/checkmake:latest as checkmake
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/markdown_markdown_link_check/Dockerfile b/linters/markdown_markdown_link_check/Dockerfile
index c2da8ad37bb..46662a09463 100644
--- a/linters/markdown_markdown_link_check/Dockerfile
+++ b/linters/markdown_markdown_link_check/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/markdown_markdown_table_formatter/Dockerfile b/linters/markdown_markdown_table_formatter/Dockerfile
index f4612838d5d..4c63cdbf886 100644
--- a/linters/markdown_markdown_table_formatter/Dockerfile
+++ b/linters/markdown_markdown_table_formatter/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/markdown_markdownlint/Dockerfile b/linters/markdown_markdownlint/Dockerfile
index b01687de88e..86dca7f23af 100644
--- a/linters/markdown_markdownlint/Dockerfile
+++ b/linters/markdown_markdownlint/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/markdown_remark_lint/Dockerfile b/linters/markdown_remark_lint/Dockerfile
index c9c04ff4d55..992e0946952 100644
--- a/linters/markdown_remark_lint/Dockerfile
+++ b/linters/markdown_remark_lint/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/openapi_spectral/Dockerfile b/linters/openapi_spectral/Dockerfile
index ed1dedb5f98..5cd1b7b6949 100644
--- a/linters/openapi_spectral/Dockerfile
+++ b/linters/openapi_spectral/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/perl_perlcritic/Dockerfile b/linters/perl_perlcritic/Dockerfile
index 034a6abe065..cf56c53f7d7 100644
--- a/linters/perl_perlcritic/Dockerfile
+++ b/linters/perl_perlcritic/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/php_phpcs/Dockerfile b/linters/php_phpcs/Dockerfile
index 9cadd5c43d0..99740d13663 100644
--- a/linters/php_phpcs/Dockerfile
+++ b/linters/php_phpcs/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/php_phpcsfixer/Dockerfile b/linters/php_phpcsfixer/Dockerfile
index 8ac865fe4cd..ebec26557cc 100644
--- a/linters/php_phpcsfixer/Dockerfile
+++ b/linters/php_phpcsfixer/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/php_phplint/Dockerfile b/linters/php_phplint/Dockerfile
index 3419cbd0b65..50404350215 100644
--- a/linters/php_phplint/Dockerfile
+++ b/linters/php_phplint/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/php_phpstan/Dockerfile b/linters/php_phpstan/Dockerfile
index 8373d6a94fc..78abbe92289 100644
--- a/linters/php_phpstan/Dockerfile
+++ b/linters/php_phpstan/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/php_psalm/Dockerfile b/linters/php_psalm/Dockerfile
index 224cd2b6fc7..3a6e60fd67c 100644
--- a/linters/php_psalm/Dockerfile
+++ b/linters/php_psalm/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/powershell_powershell/Dockerfile b/linters/powershell_powershell/Dockerfile
index 25b3279988e..c007b65fa40 100644
--- a/linters/powershell_powershell/Dockerfile
+++ b/linters/powershell_powershell/Dockerfile
@@ -24,12 +24,23 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
#ARG__START
+ARG TARGETPLATFORM
# renovate: datasource=nuget depName=PSScriptAnalyzer registryUrl=https://www.powershellgallery.com/api/v2/
ARG PSSA_VERSION='1.22.0'
@@ -134,11 +145,15 @@ ENV PATH="/node-deps/node_modules/.bin:${PATH}" \
#############################################################################################
#OTHER__START
# POWERSHELL installation
-RUN curl -L https://github.com/PowerShell/PowerShell/releases/download/v7.4.2/powershell-7.4.2-linux-musl-x64.tar.gz -o /tmp/powershell.tar.gz \
- && mkdir -p /opt/microsoft/powershell/7 \
- && tar zxf /tmp/powershell.tar.gz -C /opt/microsoft/powershell/7 \
- && chmod +x /opt/microsoft/powershell/7/pwsh \
- && ln -s /opt/microsoft/powershell/7/pwsh /usr/bin/pwsh \
+RUN case ${TARGETPLATFORM} in \
+ "linux/amd64") POWERSHELL_ARCH=musl-x64 ;; \
+ "linux/arm64") POWERSHELL_ARCH=arm64 ;; \
+esac \
+&& curl -L https://github.com/PowerShell/PowerShell/releases/download/v7.4.2/powershell-7.4.2-linux-${POWERSHELL_ARCH}.tar.gz -o /tmp/powershell.tar.gz \
+&& mkdir -p /opt/microsoft/powershell/7 \
+&& tar zxf /tmp/powershell.tar.gz -C /opt/microsoft/powershell/7 \
+&& chmod +x /opt/microsoft/powershell/7/pwsh \
+&& ln -s /opt/microsoft/powershell/7/pwsh /usr/bin/pwsh \
# powershell installation
&& pwsh -c 'Install-Module -Name PSScriptAnalyzer -RequiredVersion ${PSSA_VERSION} -Scope AllUsers -Force'
diff --git a/linters/powershell_powershell_formatter/Dockerfile b/linters/powershell_powershell_formatter/Dockerfile
index d7436816a91..ade96533a40 100644
--- a/linters/powershell_powershell_formatter/Dockerfile
+++ b/linters/powershell_powershell_formatter/Dockerfile
@@ -24,12 +24,23 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
#ARG__START
+ARG TARGETPLATFORM
# renovate: datasource=nuget depName=PSScriptAnalyzer registryUrl=https://www.powershellgallery.com/api/v2/
ARG PSSA_VERSION='1.22.0'
@@ -134,11 +145,15 @@ ENV PATH="/node-deps/node_modules/.bin:${PATH}" \
#############################################################################################
#OTHER__START
# POWERSHELL installation
-RUN curl -L https://github.com/PowerShell/PowerShell/releases/download/v7.4.2/powershell-7.4.2-linux-musl-x64.tar.gz -o /tmp/powershell.tar.gz \
- && mkdir -p /opt/microsoft/powershell/7 \
- && tar zxf /tmp/powershell.tar.gz -C /opt/microsoft/powershell/7 \
- && chmod +x /opt/microsoft/powershell/7/pwsh \
- && ln -s /opt/microsoft/powershell/7/pwsh /usr/bin/pwsh \
+RUN case ${TARGETPLATFORM} in \
+ "linux/amd64") POWERSHELL_ARCH=musl-x64 ;; \
+ "linux/arm64") POWERSHELL_ARCH=arm64 ;; \
+esac \
+&& curl -L https://github.com/PowerShell/PowerShell/releases/download/v7.4.2/powershell-7.4.2-linux-${POWERSHELL_ARCH}.tar.gz -o /tmp/powershell.tar.gz \
+&& mkdir -p /opt/microsoft/powershell/7 \
+&& tar zxf /tmp/powershell.tar.gz -C /opt/microsoft/powershell/7 \
+&& chmod +x /opt/microsoft/powershell/7/pwsh \
+&& ln -s /opt/microsoft/powershell/7/pwsh /usr/bin/pwsh \
# powershell_formatter installation
&& pwsh -c 'Install-Module -Name PSScriptAnalyzer -RequiredVersion ${PSSA_VERSION} -Scope AllUsers -Force'
diff --git a/linters/protobuf_protolint/Dockerfile b/linters/protobuf_protolint/Dockerfile
index 4d07173fedc..42e2914b0a0 100644
--- a/linters/protobuf_protolint/Dockerfile
+++ b/linters/protobuf_protolint/Dockerfile
@@ -24,8 +24,18 @@ FROM yoheimuta/protolint:latest as protolint
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/puppet_puppet_lint/Dockerfile b/linters/puppet_puppet_lint/Dockerfile
index 0dfa3474b78..3bd865c022a 100644
--- a/linters/puppet_puppet_lint/Dockerfile
+++ b/linters/puppet_puppet_lint/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/python_bandit/Dockerfile b/linters/python_bandit/Dockerfile
index ad0e9a88687..6b918f22074 100644
--- a/linters/python_bandit/Dockerfile
+++ b/linters/python_bandit/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/python_black/Dockerfile b/linters/python_black/Dockerfile
index ab042dd7f1d..16cdf0a8a5b 100644
--- a/linters/python_black/Dockerfile
+++ b/linters/python_black/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/python_flake8/Dockerfile b/linters/python_flake8/Dockerfile
index 5f9267d2aaf..76bd2fe73ce 100644
--- a/linters/python_flake8/Dockerfile
+++ b/linters/python_flake8/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/python_isort/Dockerfile b/linters/python_isort/Dockerfile
index 629b3b5b31f..18879729e80 100644
--- a/linters/python_isort/Dockerfile
+++ b/linters/python_isort/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/python_mypy/Dockerfile b/linters/python_mypy/Dockerfile
index 62257cf03bc..d4eed96b3ff 100644
--- a/linters/python_mypy/Dockerfile
+++ b/linters/python_mypy/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/python_pylint/Dockerfile b/linters/python_pylint/Dockerfile
index a5d0d9432e6..f92b3bf456e 100644
--- a/linters/python_pylint/Dockerfile
+++ b/linters/python_pylint/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/python_pyright/Dockerfile b/linters/python_pyright/Dockerfile
index cf59cf61a9c..5c0e0d4319c 100644
--- a/linters/python_pyright/Dockerfile
+++ b/linters/python_pyright/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/python_ruff/Dockerfile b/linters/python_ruff/Dockerfile
index c9a32883496..b607ee4a680 100644
--- a/linters/python_ruff/Dockerfile
+++ b/linters/python_ruff/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/r_lintr/Dockerfile b/linters/r_lintr/Dockerfile
index 4c394f38bea..06c91fab545 100644
--- a/linters/r_lintr/Dockerfile
+++ b/linters/r_lintr/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/raku_raku/Dockerfile b/linters/raku_raku/Dockerfile
index a214e3fb8f1..a7d55c079ce 100644
--- a/linters/raku_raku/Dockerfile
+++ b/linters/raku_raku/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/repository_checkov/Dockerfile b/linters/repository_checkov/Dockerfile
index a61b58c257e..0620138676b 100644
--- a/linters/repository_checkov/Dockerfile
+++ b/linters/repository_checkov/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/repository_devskim/Dockerfile b/linters/repository_devskim/Dockerfile
index bf05d7d5834..9c175ba524b 100644
--- a/linters/repository_devskim/Dockerfile
+++ b/linters/repository_devskim/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/repository_dustilock/Dockerfile b/linters/repository_dustilock/Dockerfile
index 85f1062158b..54f75905422 100644
--- a/linters/repository_dustilock/Dockerfile
+++ b/linters/repository_dustilock/Dockerfile
@@ -26,8 +26,18 @@ RUN GOBIN=/usr/bin go install github.com/checkmarx/dustilock@v1.2.0
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/repository_git_diff/Dockerfile b/linters/repository_git_diff/Dockerfile
index 607d99dfb67..c3ac4278f0b 100644
--- a/linters/repository_git_diff/Dockerfile
+++ b/linters/repository_git_diff/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/repository_gitleaks/Dockerfile b/linters/repository_gitleaks/Dockerfile
index 56322a85950..f5ef23865a9 100644
--- a/linters/repository_gitleaks/Dockerfile
+++ b/linters/repository_gitleaks/Dockerfile
@@ -26,8 +26,18 @@ FROM zricethezav/gitleaks:${GITLEAKS_VERSION} as gitleaks
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/repository_grype/Dockerfile b/linters/repository_grype/Dockerfile
index 674dd22373e..2d0609c1765 100644
--- a/linters/repository_grype/Dockerfile
+++ b/linters/repository_grype/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/repository_kics/Dockerfile b/linters/repository_kics/Dockerfile
index 60a3332fc08..a67c96e7cbe 100644
--- a/linters/repository_kics/Dockerfile
+++ b/linters/repository_kics/Dockerfile
@@ -24,8 +24,18 @@ FROM checkmarx/kics:alpine as kics
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/repository_secretlint/Dockerfile b/linters/repository_secretlint/Dockerfile
index 1f28d562d32..b6b1aae6bf2 100644
--- a/linters/repository_secretlint/Dockerfile
+++ b/linters/repository_secretlint/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/repository_semgrep/Dockerfile b/linters/repository_semgrep/Dockerfile
index fe9c3a191b5..6f975717365 100644
--- a/linters/repository_semgrep/Dockerfile
+++ b/linters/repository_semgrep/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/repository_syft/Dockerfile b/linters/repository_syft/Dockerfile
index 1b31c2d9f6f..3ad7a991fb7 100644
--- a/linters/repository_syft/Dockerfile
+++ b/linters/repository_syft/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/repository_trivy/Dockerfile b/linters/repository_trivy/Dockerfile
index 1720ad13333..7e3f7fa22ec 100644
--- a/linters/repository_trivy/Dockerfile
+++ b/linters/repository_trivy/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/repository_trivy_sbom/Dockerfile b/linters/repository_trivy_sbom/Dockerfile
index 516d775eef8..1aee8303da4 100644
--- a/linters/repository_trivy_sbom/Dockerfile
+++ b/linters/repository_trivy_sbom/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/repository_trufflehog/Dockerfile b/linters/repository_trufflehog/Dockerfile
index 5ff3f3ecc7f..dcf529c6794 100644
--- a/linters/repository_trufflehog/Dockerfile
+++ b/linters/repository_trufflehog/Dockerfile
@@ -24,8 +24,18 @@ FROM trufflesecurity/trufflehog:latest as trufflehog
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/rst_rst_lint/Dockerfile b/linters/rst_rst_lint/Dockerfile
index e7d0809b5c6..c9745253af3 100644
--- a/linters/rst_rst_lint/Dockerfile
+++ b/linters/rst_rst_lint/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/rst_rstcheck/Dockerfile b/linters/rst_rstcheck/Dockerfile
index 0c1b976dedd..3b528384709 100644
--- a/linters/rst_rstcheck/Dockerfile
+++ b/linters/rst_rstcheck/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/rst_rstfmt/Dockerfile b/linters/rst_rstfmt/Dockerfile
index 007ea451e0c..e5a96cc3cd5 100644
--- a/linters/rst_rstfmt/Dockerfile
+++ b/linters/rst_rstfmt/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/ruby_rubocop/Dockerfile b/linters/ruby_rubocop/Dockerfile
index 2ab66d16562..fb40408e91c 100644
--- a/linters/ruby_rubocop/Dockerfile
+++ b/linters/ruby_rubocop/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/rust_clippy/Dockerfile b/linters/rust_clippy/Dockerfile
index 1aba5fc5942..64f48a428d2 100644
--- a/linters/rust_clippy/Dockerfile
+++ b/linters/rust_clippy/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/salesforce_lightning_flow_scanner/Dockerfile b/linters/salesforce_lightning_flow_scanner/Dockerfile
index 66e6acb01c7..30f23bb4677 100644
--- a/linters/salesforce_lightning_flow_scanner/Dockerfile
+++ b/linters/salesforce_lightning_flow_scanner/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/salesforce_sfdx_scanner_apex/Dockerfile b/linters/salesforce_sfdx_scanner_apex/Dockerfile
index 7a3be4afb62..288d6cb8cbe 100644
--- a/linters/salesforce_sfdx_scanner_apex/Dockerfile
+++ b/linters/salesforce_sfdx_scanner_apex/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/salesforce_sfdx_scanner_aura/Dockerfile b/linters/salesforce_sfdx_scanner_aura/Dockerfile
index 848baf6256e..c1edfeed8bf 100644
--- a/linters/salesforce_sfdx_scanner_aura/Dockerfile
+++ b/linters/salesforce_sfdx_scanner_aura/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/salesforce_sfdx_scanner_lwc/Dockerfile b/linters/salesforce_sfdx_scanner_lwc/Dockerfile
index d45710898aa..5a1b5b90fe4 100644
--- a/linters/salesforce_sfdx_scanner_lwc/Dockerfile
+++ b/linters/salesforce_sfdx_scanner_lwc/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/scala_scalafix/Dockerfile b/linters/scala_scalafix/Dockerfile
index 690b490f34c..002ed288f2a 100644
--- a/linters/scala_scalafix/Dockerfile
+++ b/linters/scala_scalafix/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/snakemake_lint/Dockerfile b/linters/snakemake_lint/Dockerfile
index 5f75fe0b12a..e7ca7ca921f 100644
--- a/linters/snakemake_lint/Dockerfile
+++ b/linters/snakemake_lint/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/snakemake_snakefmt/Dockerfile b/linters/snakemake_snakefmt/Dockerfile
index 3453a91a908..2cee7673483 100644
--- a/linters/snakemake_snakefmt/Dockerfile
+++ b/linters/snakemake_snakefmt/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/spell_cspell/Dockerfile b/linters/spell_cspell/Dockerfile
index 7b93bbde700..bb808fe3fb2 100644
--- a/linters/spell_cspell/Dockerfile
+++ b/linters/spell_cspell/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/spell_lychee/Dockerfile b/linters/spell_lychee/Dockerfile
index 601116b89e2..fbc1f4db895 100644
--- a/linters/spell_lychee/Dockerfile
+++ b/linters/spell_lychee/Dockerfile
@@ -24,8 +24,18 @@ FROM lycheeverse/lychee:latest-alpine as lychee
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/spell_proselint/Dockerfile b/linters/spell_proselint/Dockerfile
index 874b63f5bde..cea7fff7ed6 100644
--- a/linters/spell_proselint/Dockerfile
+++ b/linters/spell_proselint/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/spell_vale/Dockerfile b/linters/spell_vale/Dockerfile
index 4beb04b8c01..41cd18e53a0 100644
--- a/linters/spell_vale/Dockerfile
+++ b/linters/spell_vale/Dockerfile
@@ -24,8 +24,18 @@ FROM jdkato/vale:latest as vale
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/sql_sql_lint/Dockerfile b/linters/sql_sql_lint/Dockerfile
index a68ea775f61..e2045239f5d 100644
--- a/linters/sql_sql_lint/Dockerfile
+++ b/linters/sql_sql_lint/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/sql_sqlfluff/Dockerfile b/linters/sql_sqlfluff/Dockerfile
index a851eaba903..8f6e168f0f3 100644
--- a/linters/sql_sqlfluff/Dockerfile
+++ b/linters/sql_sqlfluff/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/sql_tsqllint/Dockerfile b/linters/sql_tsqllint/Dockerfile
index 46ed6187917..8607fa65cf8 100644
--- a/linters/sql_tsqllint/Dockerfile
+++ b/linters/sql_tsqllint/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/swift_swiftlint/Dockerfile b/linters/swift_swiftlint/Dockerfile
index 8fe56cdfcd3..1afaa560959 100644
--- a/linters/swift_swiftlint/Dockerfile
+++ b/linters/swift_swiftlint/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/tekton_tekton_lint/Dockerfile b/linters/tekton_tekton_lint/Dockerfile
index 7d519df67fe..49e001fc457 100644
--- a/linters/tekton_tekton_lint/Dockerfile
+++ b/linters/tekton_tekton_lint/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/terraform_checkov/Dockerfile b/linters/terraform_checkov/Dockerfile
index fddcc7acdf1..9f3a2dc0647 100644
--- a/linters/terraform_checkov/Dockerfile
+++ b/linters/terraform_checkov/Dockerfile
@@ -17,9 +17,21 @@
##################
# Get base image #
##################
+ # https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.11.3-alpine3.17
ARG GITHUB_TOKEN
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+# https://stackoverflow.com/a/73359981/699056
+# https://stackoverflow.com/a/71209637/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/terraform_kics/Dockerfile b/linters/terraform_kics/Dockerfile
index fead415d317..6d2c01aa370 100644
--- a/linters/terraform_kics/Dockerfile
+++ b/linters/terraform_kics/Dockerfile
@@ -17,9 +17,21 @@ FROM checkmarx/kics:alpine as kics
##################
# Get base image #
##################
+ # https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.11.3-alpine3.17
ARG GITHUB_TOKEN
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+# https://stackoverflow.com/a/73359981/699056
+# https://stackoverflow.com/a/71209637/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/terraform_terraform_fmt/Dockerfile b/linters/terraform_terraform_fmt/Dockerfile
index 3c1b2d4d000..7d0bcf5a6d4 100644
--- a/linters/terraform_terraform_fmt/Dockerfile
+++ b/linters/terraform_terraform_fmt/Dockerfile
@@ -24,8 +24,18 @@ FROM alpine/terragrunt:latest as terragrunt
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/terraform_terragrunt/Dockerfile b/linters/terraform_terragrunt/Dockerfile
index 35fa03d4c05..c0bbbd9e94d 100644
--- a/linters/terraform_terragrunt/Dockerfile
+++ b/linters/terraform_terragrunt/Dockerfile
@@ -24,8 +24,18 @@ FROM alpine/terragrunt:latest as terragrunt
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/terraform_terrascan/Dockerfile b/linters/terraform_terrascan/Dockerfile
index 7fbdbb9ddbd..526071a6ebb 100644
--- a/linters/terraform_terrascan/Dockerfile
+++ b/linters/terraform_terrascan/Dockerfile
@@ -24,8 +24,18 @@ FROM tenable/terrascan:1.18.11 as terrascan
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/terraform_tflint/Dockerfile b/linters/terraform_tflint/Dockerfile
index 5feed11a085..8184c211ae0 100644
--- a/linters/terraform_tflint/Dockerfile
+++ b/linters/terraform_tflint/Dockerfile
@@ -26,8 +26,18 @@ FROM ghcr.io/terraform-linters/tflint:v${TFLINT_VERSION} as tflint
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/tsx_eslint/Dockerfile b/linters/tsx_eslint/Dockerfile
index a4ba30afcc7..604b16cf950 100644
--- a/linters/tsx_eslint/Dockerfile
+++ b/linters/tsx_eslint/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/typescript_es/Dockerfile b/linters/typescript_es/Dockerfile
index fbc2e1c65e9..bdb7e2c4a80 100644
--- a/linters/typescript_es/Dockerfile
+++ b/linters/typescript_es/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/typescript_prettier/Dockerfile b/linters/typescript_prettier/Dockerfile
index 67c65bdecb9..67221343f20 100644
--- a/linters/typescript_prettier/Dockerfile
+++ b/linters/typescript_prettier/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/typescript_standard/Dockerfile b/linters/typescript_standard/Dockerfile
index adb6648597e..3b8b3af220d 100644
--- a/linters/typescript_standard/Dockerfile
+++ b/linters/typescript_standard/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/vbdotnet_dotnet_format/Dockerfile b/linters/vbdotnet_dotnet_format/Dockerfile
index a1113e694b0..12290948d88 100644
--- a/linters/vbdotnet_dotnet_format/Dockerfile
+++ b/linters/vbdotnet_dotnet_format/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/xml_xmllint/Dockerfile b/linters/xml_xmllint/Dockerfile
index 7ad6e5e4a8d..d5651fcd077 100644
--- a/linters/xml_xmllint/Dockerfile
+++ b/linters/xml_xmllint/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/yaml_prettier/Dockerfile b/linters/yaml_prettier/Dockerfile
index 2f30a910f02..b4cb1bd3b28 100644
--- a/linters/yaml_prettier/Dockerfile
+++ b/linters/yaml_prettier/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/yaml_v8r/Dockerfile b/linters/yaml_v8r/Dockerfile
index f1cce0b3606..7f590fa50ed 100644
--- a/linters/yaml_v8r/Dockerfile
+++ b/linters/yaml_v8r/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/linters/yaml_yamllint/Dockerfile b/linters/yaml_yamllint/Dockerfile
index 20bfeba881d..a4d4fb277b1 100644
--- a/linters/yaml_yamllint/Dockerfile
+++ b/linters/yaml_yamllint/Dockerfile
@@ -24,8 +24,18 @@
##################
# Get base image #
##################
+# https://stackoverflow.com/a/73711302/699056
+FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
+
FROM python:3.12.3-alpine3.19
+# https://stackoverflow.com/a/73711302/699056
+COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/
+# https://stackoverflow.com/a/73711302/699056
+RUN apk add --update --no-cache libc6-compat \
+ gcompat \
+ qemu-x86_64
+
#############################################################################################
## @generated by .automation/build.py using descriptor files, please do not update manually ##
#############################################################################################
diff --git a/megalinter/descriptors/action.megalinter-descriptor.yml b/megalinter/descriptors/action.megalinter-descriptor.yml
index 8ec25aee512..b9df02ca316 100644
--- a/megalinter/descriptors/action.megalinter-descriptor.yml
+++ b/megalinter/descriptors/action.megalinter-descriptor.yml
@@ -36,3 +36,7 @@ linters:
COPY --link --from=actionlint /usr/local/bin/actionlint /usr/bin/actionlint
# shellcheck is a dependency for actionlint
- COPY --link --from=shellcheck /bin/shellcheck /usr/bin/shellcheck
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
diff --git a/megalinter/descriptors/ansible.megalinter-descriptor.yml b/megalinter/descriptors/ansible.megalinter-descriptor.yml
index cc6bf8f5c81..e0bc1053c6d 100644
--- a/megalinter/descriptors/ansible.megalinter-descriptor.yml
+++ b/megalinter/descriptors/ansible.megalinter-descriptor.yml
@@ -39,3 +39,7 @@ linters:
install:
pip:
- ansible-lint
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
diff --git a/megalinter/descriptors/arm.megalinter-descriptor.yml b/megalinter/descriptors/arm.megalinter-descriptor.yml
index aae1d86f0d9..87437fd70cf 100644
--- a/megalinter/descriptors/arm.megalinter-descriptor.yml
+++ b/megalinter/descriptors/arm.megalinter-descriptor.yml
@@ -11,12 +11,17 @@ install:
apk:
- icu-libs
dockerfile:
+ - ARG TARGETPLATFORM
- |
- RUN curl -L https://github.com/PowerShell/PowerShell/releases/download/v7.4.2/powershell-7.4.2-linux-musl-x64.tar.gz -o /tmp/powershell.tar.gz \
- && mkdir -p /opt/microsoft/powershell/7 \
- && tar zxf /tmp/powershell.tar.gz -C /opt/microsoft/powershell/7 \
- && chmod +x /opt/microsoft/powershell/7/pwsh \
- && ln -s /opt/microsoft/powershell/7/pwsh /usr/bin/pwsh
+ RUN case ${TARGETPLATFORM} in \
+ "linux/amd64") POWERSHELL_ARCH=musl-x64 ;; \
+ "linux/arm64") POWERSHELL_ARCH=arm64 ;; \
+ esac \
+ && curl -L https://github.com/PowerShell/PowerShell/releases/download/v7.4.2/powershell-7.4.2-linux-${POWERSHELL_ARCH}.tar.gz -o /tmp/powershell.tar.gz \
+ && mkdir -p /opt/microsoft/powershell/7 \
+ && tar zxf /tmp/powershell.tar.gz -C /opt/microsoft/powershell/7 \
+ && chmod +x /opt/microsoft/powershell/7/pwsh \
+ && ln -s /opt/microsoft/powershell/7/pwsh /usr/bin/pwsh
linters:
# ARM TTK
- class: ArmLinter
@@ -52,6 +57,10 @@ linters:
&& rm "${ARM_TTK_NAME}" \
&& ln -sTf "${ARM_TTK_PSD1}" /usr/bin/arm-ttk \
&& chmod a+x /usr/bin/arm-ttk
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
ide:
vscode:
- name: ARMTTKExtension
diff --git a/megalinter/descriptors/bash.megalinter-descriptor.yml b/megalinter/descriptors/bash.megalinter-descriptor.yml
index 1c568d28556..011e3eb392a 100644
--- a/megalinter/descriptors/bash.megalinter-descriptor.yml
+++ b/megalinter/descriptors/bash.megalinter-descriptor.yml
@@ -41,6 +41,10 @@ linters:
- |
RUN printf '#!/bin/bash \\n\\nif [[ -x "$1" ]]; then exit 0; else echo "Error: File:[$1] is not executable"; exit 1; fi' > /usr/bin/bash-exec \
&& chmod +x /usr/bin/bash-exec
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
variables:
- name: ERROR_ON_MISSING_EXEC_BIT
description: If set to `false`, the `bash-exec` linter will report a warning if a shell script is not executable. If set to `true`, the `bash-exec` linter will report an error instead
@@ -80,6 +84,10 @@ linters:
# Also update shellcheck version in action.megalinter-descriptor.yml
- FROM koalaman/shellcheck:stable as shellcheck
- COPY --link --from=shellcheck /bin/shellcheck /usr/bin/shellcheck
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
ide:
atom:
- name: linter-shellcheck
@@ -126,6 +134,10 @@ linters:
dockerfile:
- FROM mvdan/shfmt:latest-alpine as shfmt
- COPY --link --from=shfmt /bin/shfmt /usr/bin/
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
ide:
atom:
- name: format-shell
diff --git a/megalinter/descriptors/bicep.megalinter-descriptor.yml b/megalinter/descriptors/bicep.megalinter-descriptor.yml
index 5960dd2623f..68b68f611c4 100644
--- a/megalinter/descriptors/bicep.megalinter-descriptor.yml
+++ b/megalinter/descriptors/bicep.megalinter-descriptor.yml
@@ -35,13 +35,21 @@ linters:
apk:
- icu-libs
dockerfile:
+ - ARG TARGETPLATFORM
- ARG BICEP_EXE='bicep'
- - ARG BICEP_URI='https://github.com/Azure/bicep/releases/latest/download/bicep-linux-musl-x64'
- ARG BICEP_DIR='/usr/local/bin'
- |
- RUN curl --retry 5 --retry-delay 5 -sLo ${BICEP_EXE} "${BICEP_URI}" \
- && chmod +x "${BICEP_EXE}" \
- && mv "${BICEP_EXE}" "${BICEP_DIR}"
+ RUN case ${TARGETPLATFORM} in \
+ "linux/amd64") POWERSHELL_ARCH=musl-x64 ;; \
+ "linux/arm64") POWERSHELL_ARCH=arm64 ;; \
+ esac \
+ && curl --retry 5 --retry-delay 5 -sLo ${BICEP_EXE} "https://github.com/Azure/bicep/releases/latest/download/bicep-linux-${POWERSHELL_ARCH}" \
+ && chmod +x "${BICEP_EXE}" \
+ && mv "${BICEP_EXE}" "${BICEP_DIR}"
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
ide:
vscode:
- name: VSCode Bicep
diff --git a/megalinter/descriptors/c.megalinter-descriptor.yml b/megalinter/descriptors/c.megalinter-descriptor.yml
index 75a8456b354..8d16a15cc42 100644
--- a/megalinter/descriptors/c.megalinter-descriptor.yml
+++ b/megalinter/descriptors/c.megalinter-descriptor.yml
@@ -26,6 +26,10 @@ linters:
install:
pip:
- cpplint
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
# clang-format
- linter_name: clang-format
name: C_CLANG_FORMAT
@@ -53,6 +57,10 @@ linters:
install:
apk:
- clang17-extra-tools
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
ide:
vscode:
- name: Clang-Format
diff --git a/megalinter/descriptors/clojure.megalinter-descriptor.yml b/megalinter/descriptors/clojure.megalinter-descriptor.yml
index ef8a80550b5..b1bbaad73aa 100644
--- a/megalinter/descriptors/clojure.megalinter-descriptor.yml
+++ b/megalinter/descriptors/clojure.megalinter-descriptor.yml
@@ -74,6 +74,10 @@ linters:
RUN curl --retry 5 --retry-delay 5 -sLO https://raw.githubusercontent.com/clj-kondo/clj-kondo/master/script/install-clj-kondo \
&& chmod +x install-clj-kondo \
&& ./install-clj-kondo
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - windows/amd64
ide:
atom:
- name: linter-kondo
@@ -117,6 +121,10 @@ linters:
RUN curl --retry 5 --retry-delay 5 -sLO https://raw.githubusercontent.com/greglook/cljstyle/main/util/install-cljstyle \
&& chmod +x install-cljstyle \
&& ./install-cljstyle
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
ide:
emacs:
- name: cljstyle-mode
diff --git a/megalinter/descriptors/cloudformation.megalinter-descriptor.yml b/megalinter/descriptors/cloudformation.megalinter-descriptor.yml
index 681300671b5..fcee02b2c8e 100644
--- a/megalinter/descriptors/cloudformation.megalinter-descriptor.yml
+++ b/megalinter/descriptors/cloudformation.megalinter-descriptor.yml
@@ -33,6 +33,10 @@ linters:
install:
pip:
- cfn-lint
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
ide:
atom:
- name: atom-cfn-lint
diff --git a/megalinter/descriptors/coffee.megalinter-descriptor.yml b/megalinter/descriptors/coffee.megalinter-descriptor.yml
index 974c470f32c..17951d53d12 100644
--- a/megalinter/descriptors/coffee.megalinter-descriptor.yml
+++ b/megalinter/descriptors/coffee.megalinter-descriptor.yml
@@ -20,6 +20,10 @@ linters:
install:
npm:
- "@coffeelint/cli"
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
ide:
atom:
- name: linter-coffeelint
diff --git a/megalinter/descriptors/copypaste.megalinter-descriptor.yml b/megalinter/descriptors/copypaste.megalinter-descriptor.yml
index 9c69b8569e3..e5f8c17a56c 100644
--- a/megalinter/descriptors/copypaste.megalinter-descriptor.yml
+++ b/megalinter/descriptors/copypaste.megalinter-descriptor.yml
@@ -57,3 +57,7 @@ linters:
- yarn
npm:
- jscpd
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
diff --git a/megalinter/descriptors/cpp.megalinter-descriptor.yml b/megalinter/descriptors/cpp.megalinter-descriptor.yml
index 9605ec5aa33..e0f3d32aae1 100644
--- a/megalinter/descriptors/cpp.megalinter-descriptor.yml
+++ b/megalinter/descriptors/cpp.megalinter-descriptor.yml
@@ -36,6 +36,10 @@ linters:
install:
pip:
- cpplint
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
# clang-format
- linter_name: clang-format
name: CPP_CLANG_FORMAT
@@ -63,6 +67,10 @@ linters:
install:
apk:
- clang17-extra-tools
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
ide:
vscode:
- name: Clang-Format
diff --git a/megalinter/descriptors/csharp.megalinter-descriptor.yml b/megalinter/descriptors/csharp.megalinter-descriptor.yml
index 08cf0b174dd..168ce45468f 100644
--- a/megalinter/descriptors/csharp.megalinter-descriptor.yml
+++ b/megalinter/descriptors/csharp.megalinter-descriptor.yml
@@ -35,6 +35,10 @@ linters:
examples:
- "dotnet format {{WORKSPACE}} --verify-no-changes"
- "dotnet format {{WORKSPACE}}" # Fix
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
# CSharpier
- class: DotNetToolLinter
linter_name: csharpier
@@ -59,6 +63,10 @@ linters:
install:
dockerfile:
- RUN dotnet tool install --global csharpier
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
ide:
rider:
- name: csharpier
@@ -96,6 +104,10 @@ linters:
install:
dockerfile:
- RUN dotnet tool install -g roslynator.dotnet.cli
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
ide:
visual_studio:
- name: Roslynator 2022
diff --git a/megalinter/descriptors/css.megalinter-descriptor.yml b/megalinter/descriptors/css.megalinter-descriptor.yml
index bc4cab311eb..a48a03f928b 100644
--- a/megalinter/descriptors/css.megalinter-descriptor.yml
+++ b/megalinter/descriptors/css.megalinter-descriptor.yml
@@ -32,6 +32,10 @@ linters:
- stylelint-config-standard
- stylelint-config-sass-guidelines
- stylelint-scss
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
ide:
atom:
- name: linter-stylelint
@@ -71,6 +75,10 @@ linters:
install:
gem:
- scss_lint
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
ide:
atom:
- name: linter-scss-lint
diff --git a/megalinter/descriptors/dart.megalinter-descriptor.yml b/megalinter/descriptors/dart.megalinter-descriptor.yml
index b4fc2f781c4..14b6e5f3a49 100644
--- a/megalinter/descriptors/dart.megalinter-descriptor.yml
+++ b/megalinter/descriptors/dart.megalinter-descriptor.yml
@@ -68,12 +68,21 @@ linters:
## stable dart sdk: https://dart.dev/get-dart#release-channels
## install alpine-pkg-glibc (glibc compatibility layer package for Alpine Linux)
dockerfile:
+ - ARG TARGETPLATFORM
- ARG DART_VERSION='2.8.4'
- |
- RUN wget --tries=5 https://storage.googleapis.com/dart-archive/channels/stable/release/${DART_VERSION}/sdk/dartsdk-linux-x64-release.zip -O - -q | unzip -q - \
- && chmod +x dart-sdk/bin/dart* \
- && mv dart-sdk/bin/* /usr/bin/ && mv dart-sdk/lib/* /usr/lib/ && mv dart-sdk/include/* /usr/include/ \
- && rm -r dart-sdk/
+ RUN case ${TARGETPLATFORM} in \
+ "linux/amd64") DART_ARCH=x64 ;; \
+ "linux/arm64") DART_ARCH=arm64 ;; \
+ esac \
+ && wget --tries=5 https://storage.googleapis.com/dart-archive/channels/stable/release/${DART_VERSION}/sdk/dartsdk-linux-${DART_ARCH}-release.zip -O - -q | unzip -q - \
+ && chmod +x dart-sdk/bin/dart* \
+ && mv dart-sdk/bin/* /usr/bin/ && mv dart-sdk/lib/* /usr/lib/ && mv dart-sdk/include/* /usr/include/ \
+ && rm -r dart-sdk/
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
ide:
idea:
- name: dart-jetbrains-plugin
diff --git a/megalinter/descriptors/dockerfile.megalinter-descriptor.yml b/megalinter/descriptors/dockerfile.megalinter-descriptor.yml
index f463701e671..c3fafa844af 100644
--- a/megalinter/descriptors/dockerfile.megalinter-descriptor.yml
+++ b/megalinter/descriptors/dockerfile.megalinter-descriptor.yml
@@ -39,6 +39,10 @@ linters:
dockerfile:
- FROM hadolint/hadolint:v2.12.0-alpine as hadolint
- COPY --link --from=hadolint /bin/hadolint /usr/bin/hadolint
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
ide:
atom:
- name: linter-hadolint
diff --git a/megalinter/descriptors/editorconfig.megalinter-descriptor.yml b/megalinter/descriptors/editorconfig.megalinter-descriptor.yml
index 1f40441536c..25c7f3d95af 100644
--- a/megalinter/descriptors/editorconfig.megalinter-descriptor.yml
+++ b/megalinter/descriptors/editorconfig.megalinter-descriptor.yml
@@ -30,3 +30,7 @@ linters:
ARG EDITORCONFIG_CHECKER_VERSION=v3.0.1
- FROM mstruebing/editorconfig-checker:${EDITORCONFIG_CHECKER_VERSION} as editorconfig-checker
- COPY --link --from=editorconfig-checker /usr/bin/ec /usr/bin/editorconfig-checker
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
diff --git a/megalinter/descriptors/env.megalinter-descriptor.yml b/megalinter/descriptors/env.megalinter-descriptor.yml
index 93530b1e6e4..07a10a85f91 100644
--- a/megalinter/descriptors/env.megalinter-descriptor.yml
+++ b/megalinter/descriptors/env.megalinter-descriptor.yml
@@ -21,3 +21,7 @@ linters:
install:
dockerfile:
- RUN wget -q -O - https://raw.githubusercontent.com/dotenv-linter/dotenv-linter/master/install.sh | sh -s
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
diff --git a/megalinter/descriptors/gherkin.megalinter-descriptor.yml b/megalinter/descriptors/gherkin.megalinter-descriptor.yml
index c51abfb016d..6e711d30f08 100644
--- a/megalinter/descriptors/gherkin.megalinter-descriptor.yml
+++ b/megalinter/descriptors/gherkin.megalinter-descriptor.yml
@@ -20,3 +20,7 @@ linters:
install:
npm:
- gherkin-lint
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
diff --git a/megalinter/descriptors/go.megalinter-descriptor.yml b/megalinter/descriptors/go.megalinter-descriptor.yml
index ad7fa7338ee..2012eb0d726 100644
--- a/megalinter/descriptors/go.megalinter-descriptor.yml
+++ b/megalinter/descriptors/go.megalinter-descriptor.yml
@@ -32,6 +32,10 @@ linters:
- |
RUN wget -O- -nv https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh \
&& golangci-lint --version
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
ide:
atom:
- name: go-plus
@@ -87,6 +91,10 @@ linters:
## The install command should then be what is commented in the go.megalinter-descriptor.yml
RUN GOBIN=/usr/bin go install github.com/mgechev/revive@latest
- COPY --link --from=revive /usr/bin/revive /usr/bin/revive
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
ide:
atom:
- name: linter-revive
diff --git a/megalinter/descriptors/graphql.megalinter-descriptor.yml b/megalinter/descriptors/graphql.megalinter-descriptor.yml
index 6f91afcc674..cf4d0daaa0c 100644
--- a/megalinter/descriptors/graphql.megalinter-descriptor.yml
+++ b/megalinter/descriptors/graphql.megalinter-descriptor.yml
@@ -23,3 +23,7 @@ linters:
npm:
- graphql
- graphql-schema-linter
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
diff --git a/megalinter/descriptors/groovy.megalinter-descriptor.yml b/megalinter/descriptors/groovy.megalinter-descriptor.yml
index a6b17ac6792..98b148dc7ec 100644
--- a/megalinter/descriptors/groovy.megalinter-descriptor.yml
+++ b/megalinter/descriptors/groovy.megalinter-descriptor.yml
@@ -45,6 +45,10 @@ linters:
- ENV JAVA_HOME_17=/usr/lib/jvm/java-17-openjdk
npm:
- npm-groovy-lint
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
ide:
vscode:
- name: VSCode Groovy Lint
diff --git a/megalinter/descriptors/html.megalinter-descriptor.yml b/megalinter/descriptors/html.megalinter-descriptor.yml
index 9f6004fe21c..86464c80572 100644
--- a/megalinter/descriptors/html.megalinter-descriptor.yml
+++ b/megalinter/descriptors/html.megalinter-descriptor.yml
@@ -36,6 +36,10 @@ linters:
install:
pip:
- djlint
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
ide:
sublime:
- name: SublimeLinter-contrib-djlint
@@ -63,6 +67,10 @@ linters:
install:
npm:
- htmlhint
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
ide:
atom:
- name: atom-htmlhint
diff --git a/megalinter/descriptors/java.megalinter-descriptor.yml b/megalinter/descriptors/java.megalinter-descriptor.yml
index c1369217610..a88d1c09101 100644
--- a/megalinter/descriptors/java.megalinter-descriptor.yml
+++ b/megalinter/descriptors/java.megalinter-descriptor.yml
@@ -5,6 +5,10 @@ descriptor_flavors:
- java
file_extensions:
- ".java"
+supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
install:
apk:
- openjdk21
@@ -54,6 +58,10 @@ linters:
| cut -d '"' -f 4) \
&& curl --retry 5 --retry-delay 5 -sSL $CHECKSTYLE_LATEST \
--output /usr/bin/checkstyle
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
ide:
eclipse:
- name: eclipse-cs
@@ -101,3 +109,7 @@ linters:
rm pmd-dist-${PMD_VERSION}-bin.zip || echo "Error rm" && \
mv pmd-bin-${PMD_VERSION} /usr/bin/pmd || echo "Error mv" && \
chmod +x /usr/bin/pmd/bin/pmd || echo "Error chmod"
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
diff --git a/megalinter/descriptors/javascript.megalinter-descriptor.yml b/megalinter/descriptors/javascript.megalinter-descriptor.yml
index b35cc688089..91cb8de37c7 100644
--- a/megalinter/descriptors/javascript.megalinter-descriptor.yml
+++ b/megalinter/descriptors/javascript.megalinter-descriptor.yml
@@ -70,6 +70,10 @@ linters:
- "@babel/core"
- "@babel/eslint-parser"
- "@microsoft/eslint-formatter-sarif"
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
ide:
atom:
- name: linter-eslint
@@ -120,6 +124,10 @@ linters:
install:
npm:
- standard
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
ide:
atom:
- name: linter-js-standard
@@ -174,6 +182,10 @@ linters:
install:
npm:
- "prettier"
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
ide:
atom:
- name: prettier-atom
diff --git a/megalinter/descriptors/json.megalinter-descriptor.yml b/megalinter/descriptors/json.megalinter-descriptor.yml
index 730a4994986..3abb1cd799b 100644
--- a/megalinter/descriptors/json.megalinter-descriptor.yml
+++ b/megalinter/descriptors/json.megalinter-descriptor.yml
@@ -24,6 +24,10 @@ linters:
install:
npm:
- "@prantlf/jsonlint"
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
# ESLINT-PLUGIN-JSONC
- class: EslintLinter
disabled: true
@@ -130,6 +134,10 @@ linters:
- eslint
- eslint-plugin-jsonc
- "@microsoft/eslint-formatter-sarif"
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
ide:
vscode:
- name: vscode-eslint
@@ -152,6 +160,10 @@ linters:
install:
npm:
- v8r
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
ide:
eclipse:
- name: native support
@@ -190,6 +202,10 @@ linters:
install:
npm:
- "prettier"
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
ide:
atom:
- name: prettier-atom
@@ -258,3 +274,7 @@ linters:
npm:
- "npm-package-json-lint"
- "npm-package-json-lint-config-default"
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
diff --git a/megalinter/descriptors/jsx.megalinter-descriptor.yml b/megalinter/descriptors/jsx.megalinter-descriptor.yml
index fa11790d000..03c8081988e 100644
--- a/megalinter/descriptors/jsx.megalinter-descriptor.yml
+++ b/megalinter/descriptors/jsx.megalinter-descriptor.yml
@@ -55,6 +55,10 @@ linters:
- eslint-plugin-react
- eslint-plugin-jsx-a11y
- "@microsoft/eslint-formatter-sarif"
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
ide:
atom:
- name: linter-eslint
diff --git a/megalinter/descriptors/kotlin.megalinter-descriptor.yml b/megalinter/descriptors/kotlin.megalinter-descriptor.yml
index 8b604cb74fe..dfc4970ebb5 100644
--- a/megalinter/descriptors/kotlin.megalinter-descriptor.yml
+++ b/megalinter/descriptors/kotlin.megalinter-descriptor.yml
@@ -36,6 +36,10 @@ linters:
RUN curl --retry 5 --retry-delay 5 -sSLO https://github.com/pinterest/ktlint/releases/latest/download/ktlint && \
chmod a+x ktlint && \
mv "ktlint" /usr/bin/
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
ide:
emacs:
- name: flycheck-kotlin
diff --git a/megalinter/descriptors/kubernetes.megalinter-descriptor.yml b/megalinter/descriptors/kubernetes.megalinter-descriptor.yml
index 0197f64dac2..e4be8033ef5 100644
--- a/megalinter/descriptors/kubernetes.megalinter-descriptor.yml
+++ b/megalinter/descriptors/kubernetes.megalinter-descriptor.yml
@@ -40,7 +40,10 @@ linters:
dockerfile:
- FROM ghcr.io/yannh/kubeconform:latest-alpine as kubeconform
- COPY --link --from=kubeconform /kubeconform /usr/bin/
-
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
# HELM LINT
- linter_name: helm
name: KUBERNETES_HELM
@@ -66,6 +69,10 @@ linters:
install:
apk:
- helm
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
# KUBESCAPE
- linter_name: kubescape
name: KUBERNETES_KUBESCAPE
@@ -113,3 +120,7 @@ linters:
- |
RUN ln -s /lib/libc.so.6 /usr/lib/libresolv.so.2 && \
curl --retry 5 --retry-delay 5 -sLv https://raw.githubusercontent.com/kubescape/kubescape/master/install.sh | /bin/bash -s -- -v v2.9.0
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
diff --git a/megalinter/descriptors/latex.megalinter-descriptor.yml b/megalinter/descriptors/latex.megalinter-descriptor.yml
index 1af447b0010..04c723cc912 100644
--- a/megalinter/descriptors/latex.megalinter-descriptor.yml
+++ b/megalinter/descriptors/latex.megalinter-descriptor.yml
@@ -22,6 +22,9 @@ linters:
- FROM ghcr.io/assignuser/chktex-alpine:latest as chktex
- COPY --link --from=chktex /usr/bin/chktex /usr/bin/
- RUN cd ~ && touch .chktexrc && cd /
+ supported_platforms:
+ platform:
+ - linux/amd64
ide:
atom:
- name: linter-chktex
diff --git a/megalinter/descriptors/lua.megalinter-descriptor.yml b/megalinter/descriptors/lua.megalinter-descriptor.yml
index 88fb3c1dcc5..a7fdd91c6da 100644
--- a/megalinter/descriptors/lua.megalinter-descriptor.yml
+++ b/megalinter/descriptors/lua.megalinter-descriptor.yml
@@ -35,6 +35,10 @@ linters:
&& cd .. && rm -r luarocks-3.3.1-super-linter/ \
&& luarocks install luacheck \
&& cd /
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
ide:
atom:
- name: linter-luacheck
diff --git a/megalinter/descriptors/makefile.megalinter-descriptor.yml b/megalinter/descriptors/makefile.megalinter-descriptor.yml
index 065f0e170c8..4b4718a0dae 100644
--- a/megalinter/descriptors/makefile.megalinter-descriptor.yml
+++ b/megalinter/descriptors/makefile.megalinter-descriptor.yml
@@ -38,3 +38,6 @@ linters:
dockerfile:
- FROM mrtazz/checkmake:latest as checkmake
- COPY --link --from=checkmake /checkmake /usr/bin/checkmake
+ supported_platforms:
+ platform:
+ - linux/amd64
diff --git a/megalinter/descriptors/markdown.megalinter-descriptor.yml b/megalinter/descriptors/markdown.megalinter-descriptor.yml
index 26947e0d3ed..d22d1931b3e 100644
--- a/megalinter/descriptors/markdown.megalinter-descriptor.yml
+++ b/megalinter/descriptors/markdown.megalinter-descriptor.yml
@@ -40,6 +40,10 @@ linters:
install:
npm:
- markdownlint-cli
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
ide:
atom:
- name: linter-node-markdownlint
@@ -86,6 +90,10 @@ linters:
npm:
- remark-cli
- remark-preset-lint-recommended
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
ide:
atom:
- name: linter-remark
@@ -119,6 +127,10 @@ linters:
install:
npm:
- markdown-link-check
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
# Markdown table formatter
- linter_name: markdown-table-formatter
is_formatter: true
@@ -139,6 +151,10 @@ linters:
install:
npm:
- markdown-table-formatter
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
ide:
vscode:
- name: Markdown Table Prettify Extension
diff --git a/megalinter/descriptors/openapi.megalinter-descriptor.yml b/megalinter/descriptors/openapi.megalinter-descriptor.yml
index 3e85a5355aa..ca4b4bd2fa0 100644
--- a/megalinter/descriptors/openapi.megalinter-descriptor.yml
+++ b/megalinter/descriptors/openapi.megalinter-descriptor.yml
@@ -34,6 +34,10 @@ linters:
install:
npm:
- "@stoplight/spectral-cli"
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
ide:
stoplight:
- name: Native integration
diff --git a/megalinter/descriptors/perl.megalinter-descriptor.yml b/megalinter/descriptors/perl.megalinter-descriptor.yml
index 4db3acc5ef1..64dc606963a 100644
--- a/megalinter/descriptors/perl.megalinter-descriptor.yml
+++ b/megalinter/descriptors/perl.megalinter-descriptor.yml
@@ -14,6 +14,10 @@ install:
apk:
- perl
- perl-dev
+supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
linters:
# PERL CRITIC
- linter_name: perlcritic
@@ -34,3 +38,7 @@ linters:
- |
RUN curl -fsSL https://raw.githubusercontent.com/skaji/cpm/main/cpm | perl - install -g --show-build-log-on-failure --without-build --without-test --without-runtime Perl::Critic \
&& rm -rf /root/.perl-cpm
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
diff --git a/megalinter/descriptors/php.megalinter-descriptor.yml b/megalinter/descriptors/php.megalinter-descriptor.yml
index 6a2bbc7499d..1c0e888c4c7 100644
--- a/megalinter/descriptors/php.megalinter-descriptor.yml
+++ b/megalinter/descriptors/php.megalinter-descriptor.yml
@@ -39,6 +39,10 @@ install:
&& update-alternatives --install /usr/bin/php php /usr/bin/php83 110
- COPY --from=composer/composer:2-bin /composer /usr/bin/composer
- ENV PATH="/root/.composer/vendor/bin:${PATH}"
+supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
linters:
# PHPCS
- linter_name: phpcs
@@ -65,6 +69,10 @@ linters:
dockerfile:
- |
RUN GITHUB_AUTH_TOKEN="$(cat /run/secrets/GITHUB_TOKEN)" && export GITHUB_AUTH_TOKEN && composer global require squizlabs/php_codesniffer bartlett/sarif-php-sdk
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
ide:
atom:
- name: linter-phpcs
@@ -117,6 +125,10 @@ linters:
vscode:
- name: vscode-phpstan
url: https://marketplace.visualstudio.com/items?itemName=calsmurf2904.vscode-phpstan
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
# PSALM
- linter_name: psalm
name: PHP_PSALM
@@ -146,6 +158,10 @@ linters:
dockerfile:
- |
RUN GITHUB_AUTH_TOKEN="$(cat /run/secrets/GITHUB_TOKEN)" && export GITHUB_AUTH_TOKEN && phive --no-progress install psalm -g --trust-gpg-keys 8A03EA3B385DBAA1,12CE0F1D262429A5
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
ide:
idea:
- name: PHPStan / Psalm / Generics
@@ -172,6 +188,10 @@ linters:
dockerfile:
- |
RUN GITHUB_AUTH_TOKEN="$(cat /run/secrets/GITHUB_TOKEN)" && export GITHUB_AUTH_TOKEN && phive --no-progress install overtrue/phplint --force-accept-unsigned -g
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
# PHP-CS-Fixer
- linter_name: php-cs-fixer
name: PHP_PHPCSFIXER
diff --git a/megalinter/descriptors/powershell.megalinter-descriptor.yml b/megalinter/descriptors/powershell.megalinter-descriptor.yml
index 4c87ba4b076..c3cd2deb3f8 100644
--- a/megalinter/descriptors/powershell.megalinter-descriptor.yml
+++ b/megalinter/descriptors/powershell.megalinter-descriptor.yml
@@ -19,12 +19,17 @@ install:
apk:
- icu-libs
dockerfile:
+ - ARG TARGETPLATFORM
- |
- RUN curl -L https://github.com/PowerShell/PowerShell/releases/download/v7.4.2/powershell-7.4.2-linux-musl-x64.tar.gz -o /tmp/powershell.tar.gz \
- && mkdir -p /opt/microsoft/powershell/7 \
- && tar zxf /tmp/powershell.tar.gz -C /opt/microsoft/powershell/7 \
- && chmod +x /opt/microsoft/powershell/7/pwsh \
- && ln -s /opt/microsoft/powershell/7/pwsh /usr/bin/pwsh
+ RUN case ${TARGETPLATFORM} in \
+ "linux/amd64") POWERSHELL_ARCH=musl-x64 ;; \
+ "linux/arm64") POWERSHELL_ARCH=arm64 ;; \
+ esac \
+ && curl -L https://github.com/PowerShell/PowerShell/releases/download/v7.4.2/powershell-7.4.2-linux-${POWERSHELL_ARCH}.tar.gz -o /tmp/powershell.tar.gz \
+ && mkdir -p /opt/microsoft/powershell/7 \
+ && tar zxf /tmp/powershell.tar.gz -C /opt/microsoft/powershell/7 \
+ && chmod +x /opt/microsoft/powershell/7/pwsh \
+ && ln -s /opt/microsoft/powershell/7/pwsh /usr/bin/pwsh
linters:
# Internal powershell linter
- class: PowershellLinter
@@ -50,6 +55,10 @@ linters:
# renovate: datasource=nuget depName=PSScriptAnalyzer registryUrl=https://www.powershellgallery.com/api/v2/
ARG PSSA_VERSION='1.22.0'
- RUN pwsh -c 'Install-Module -Name PSScriptAnalyzer -RequiredVersion ${PSSA_VERSION} -Scope AllUsers -Force'
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
ide:
vscode:
- name: VSCode PowerShell extension
@@ -82,6 +91,10 @@ linters:
# renovate: datasource=nuget depName=PSScriptAnalyzer registryUrl=https://www.powershellgallery.com/api/v2/
ARG PSSA_VERSION='1.22.0'
- RUN pwsh -c 'Install-Module -Name PSScriptAnalyzer -RequiredVersion ${PSSA_VERSION} -Scope AllUsers -Force'
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
ide:
vscode:
- name: VSCode PowerShell extension
diff --git a/megalinter/descriptors/protobuf.megalinter-descriptor.yml b/megalinter/descriptors/protobuf.megalinter-descriptor.yml
index 9d2ffe6cdff..9eba501eea5 100644
--- a/megalinter/descriptors/protobuf.megalinter-descriptor.yml
+++ b/megalinter/descriptors/protobuf.megalinter-descriptor.yml
@@ -27,6 +27,10 @@ linters:
dockerfile:
- FROM yoheimuta/protolint:latest as protolint
- COPY --link --from=protolint /usr/local/bin/protolint /usr/bin/
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
ide:
idea:
- name: Protocol Buffer Linter
diff --git a/megalinter/descriptors/puppet.megalinter-descriptor.yml b/megalinter/descriptors/puppet.megalinter-descriptor.yml
index 125bdaeecf9..947dce3a422 100644
--- a/megalinter/descriptors/puppet.megalinter-descriptor.yml
+++ b/megalinter/descriptors/puppet.megalinter-descriptor.yml
@@ -22,6 +22,10 @@ linters:
install:
gem:
- puppet-lint
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
ide:
vscode:
- name: Puppet VSCode Extension
diff --git a/megalinter/descriptors/python.megalinter-descriptor.yml b/megalinter/descriptors/python.megalinter-descriptor.yml
index 816e08e8757..5433b4eaf22 100644
--- a/megalinter/descriptors/python.megalinter-descriptor.yml
+++ b/megalinter/descriptors/python.megalinter-descriptor.yml
@@ -30,6 +30,10 @@ linters:
pip:
- pylint
- typing-extensions
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
ide:
eclipse:
- name: PyLint
@@ -69,6 +73,10 @@ linters:
install:
pip:
- black
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
ide:
atom:
- name: python-black
@@ -109,6 +117,10 @@ linters:
install:
pip:
- flake8
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
ide:
atom:
- name: linter-flake8
@@ -152,6 +164,10 @@ linters:
pip:
- isort
- black
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
ide:
atom:
- name: atom-python-isort
@@ -207,6 +223,10 @@ linters:
- bandit
- bandit_sarif_formatter
- bandit[toml]
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
ide:
atom:
- name: bandit-lint
@@ -251,6 +271,10 @@ linters:
- ENV MYPY_CACHE_DIR=/tmp # Avoid mypy cache to mess with other linters
pip:
- mypy
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
ide:
atom:
- name: linter-mypy
@@ -323,6 +347,10 @@ linters:
- nodejs
pip:
- pyright
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
ide:
emacs:
- name: LSP-pyright
@@ -373,6 +401,10 @@ linters:
install:
pip:
- ruff
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
ide:
idea:
- name: Ruff
diff --git a/megalinter/descriptors/r.megalinter-descriptor.yml b/megalinter/descriptors/r.megalinter-descriptor.yml
index 8c52a959366..3041c33a279 100644
--- a/megalinter/descriptors/r.megalinter-descriptor.yml
+++ b/megalinter/descriptors/r.megalinter-descriptor.yml
@@ -38,6 +38,10 @@ linters:
&& cp -r /usr/lib/R/library/ /home/r-library/ \
&& Rscript -e "install.packages(c('lintr','purrr'), repos = 'https://cloud.r-project.org/')" \
&& R -e "install.packages(list.dirs('/home/r-library',recursive = FALSE), repos = NULL, type = 'source')"
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
ide:
emacs:
- name: flycheck
diff --git a/megalinter/descriptors/raku.megalinter-descriptor.yml b/megalinter/descriptors/raku.megalinter-descriptor.yml
index 03a46697374..1381fbd40b5 100644
--- a/megalinter/descriptors/raku.megalinter-descriptor.yml
+++ b/megalinter/descriptors/raku.megalinter-descriptor.yml
@@ -31,6 +31,10 @@ linters:
# && source /root/.profile \
&& /opt/rakudo-pkg/bin/install-zef-as-user
- ENV PATH="~/.raku/bin:/opt/rakudo-pkg/bin:/opt/rakudo-pkg/share/perl6/site/bin:$PATH"
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
ide:
atom:
- name: language-perl6
diff --git a/megalinter/descriptors/repository.megalinter-descriptor.yml b/megalinter/descriptors/repository.megalinter-descriptor.yml
index 76e60d4f941..76479166030 100644
--- a/megalinter/descriptors/repository.megalinter-descriptor.yml
+++ b/megalinter/descriptors/repository.megalinter-descriptor.yml
@@ -47,6 +47,10 @@ linters:
pip:
- packaging
- checkov
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
ide:
vscode:
- name: Checkov
@@ -105,11 +109,14 @@ linters:
- RUN apk add --no-cache dotnet8-sdk --repository=https://dl-cdn.alpinelinux.org/alpine/edge/community
- ENV PATH="${PATH}:/root/.dotnet/tools"
- RUN dotnet tool install --global Microsoft.CST.DevSkim.CLI
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
ide:
vscode:
- name: VSCode DevSkim
url: https://marketplace.visualstudio.com/items?itemName=MS-CST-E.vscode-devskim
-
# DUSTILOCK
- class: DustilockLinter
linter_name: dustilock
@@ -139,7 +146,10 @@ linters:
FROM golang:alpine as dustilock
RUN GOBIN=/usr/bin go install github.com/checkmarx/dustilock@v1.2.0
- COPY --link --from=dustilock /usr/bin/dustilock /usr/bin/dustilock
-
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
# GIT_DIFF
- linter_name: git_diff
lint_all_files: true
@@ -159,7 +169,10 @@ linters:
cli_help_arg_name: "--help"
examples:
- "git diff --check"
-
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
# GITLEAKS
- class: GitleaksLinter
linter_name: gitleaks
@@ -250,6 +263,10 @@ linters:
ARG GITLEAKS_VERSION=v8.18.3
- FROM zricethezav/gitleaks:${GITLEAKS_VERSION} as gitleaks
- COPY --link --from=gitleaks /usr/bin/gitleaks /usr/bin/
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
variables:
- name: REPOSITORY_GITLEAKS_PR_COMMITS_SCAN
description: Scan only PR commits on Pull Request
@@ -290,6 +307,10 @@ linters:
install:
dockerfile:
- RUN curl -sSfL https://raw.githubusercontent.com/anchore/grype/main/install.sh | sh -s -- -b /usr/local/bin
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
test_folder: repository_grype
# KICS
@@ -337,6 +358,10 @@ linters:
- COPY --link --from=kics /app/bin/kics /usr/bin/kics
- ENV KICS_QUERIES_PATH=/usr/bin/assets/queries KICS_LIBRARIES_PATH=/usr/bin/assets/libraries
- COPY --from=kics /app/bin/assets /usr/bin/assets
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
test_folder: repository_kics
# SECRETLINT
@@ -377,7 +402,10 @@ linters:
- secretlint
- "@secretlint/secretlint-rule-preset-recommend"
- "@secretlint/secretlint-formatter-sarif"
-
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
# SEMGREP
- class: SemgrepLinter
linter_name: semgrep
@@ -432,11 +460,14 @@ linters:
- name: REPOSITORY_SEMGREP_RULESETS_TYPE
description: "MegaLinter semgrep ruleset list preset id . Available values: security"
default_value: ""
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
ide:
vscode:
- name: VSCode SemGrep
url: https://marketplace.visualstudio.com/items?itemName=semgrep.semgrep
-
# SYFT
- class: SyftLinter
linter_name: syft
@@ -467,7 +498,10 @@ linters:
install:
dockerfile:
- RUN curl -sSfL https://raw.githubusercontent.com/anchore/syft/main/install.sh | sh -s -- -b /usr/local/bin
-
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
# TRIVY
- linter_name: trivy
can_output_sarif: true
@@ -508,6 +542,10 @@ linters:
dockerfile:
- |
RUN wget --tries=5 -q -O - https://raw.githubusercontent.com/aquasecurity/trivy/main/contrib/install.sh | sh -s -- -b /usr/local/bin
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
ide:
vscode:
- name: VSCode Trivy
@@ -554,6 +592,10 @@ linters:
dockerfile:
- |
RUN wget --tries=5 -q -O - https://raw.githubusercontent.com/aquasecurity/trivy/main/contrib/install.sh | sh -s -- -b /usr/local/bin
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
ide:
vscode:
- name: VSCode Trivy
@@ -589,4 +631,8 @@ linters:
dockerfile:
- FROM trufflesecurity/trufflehog:latest as trufflehog
- COPY --link --from=trufflehog /usr/bin/trufflehog /usr/bin/
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
test_folder: gitleaks
diff --git a/megalinter/descriptors/rst.megalinter-descriptor.yml b/megalinter/descriptors/rst.megalinter-descriptor.yml
index 3b712ff8a4d..85dc12dd214 100644
--- a/megalinter/descriptors/rst.megalinter-descriptor.yml
+++ b/megalinter/descriptors/rst.megalinter-descriptor.yml
@@ -18,6 +18,10 @@ linters:
pip:
- Pygments
- restructuredtext_lint
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
# rstcheck
- linter_name: rstcheck
linter_url: https://github.com/myint/rstcheck
@@ -34,6 +38,10 @@ linters:
install:
pip:
- rstcheck[toml,sphinx]
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
ide:
vscode:
- name: vscode-restructuredtext
@@ -56,3 +64,7 @@ linters:
pip:
- rstfmt
version_extract_regex: "(?<=rstfmt )\\d+(\\.\\d+)+"
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
diff --git a/megalinter/descriptors/ruby.megalinter-descriptor.yml b/megalinter/descriptors/ruby.megalinter-descriptor.yml
index b26aac6ad3b..fcedb0fea1b 100644
--- a/megalinter/descriptors/ruby.megalinter-descriptor.yml
+++ b/megalinter/descriptors/ruby.megalinter-descriptor.yml
@@ -29,6 +29,10 @@ linters:
- rubocop-rails
- rubocop-rake
- rubocop-rspec
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
ide:
atom:
- name: linter-rubocop
diff --git a/megalinter/descriptors/rust.megalinter-descriptor.yml b/megalinter/descriptors/rust.megalinter-descriptor.yml
index 21c8df8e498..050c0a9b3c5 100644
--- a/megalinter/descriptors/rust.megalinter-descriptor.yml
+++ b/megalinter/descriptors/rust.megalinter-descriptor.yml
@@ -23,6 +23,10 @@ linters:
install:
cargo:
- clippy
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
ide:
atom:
- name: Atom IDE Rest
diff --git a/megalinter/descriptors/salesforce.megalinter-descriptor.yml b/megalinter/descriptors/salesforce.megalinter-descriptor.yml
index 0a1f41297bb..ac4a686116f 100644
--- a/megalinter/descriptors/salesforce.megalinter-descriptor.yml
+++ b/megalinter/descriptors/salesforce.megalinter-descriptor.yml
@@ -18,6 +18,18 @@ install:
# Salesforce DX
npm:
- "@salesforce/cli"
+supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
+ install_override:
+ - platform: linux/arm64
+ install:
+ dockerfile:
+ - ENV JAVA_HOME=/usr/lib/jvm/java-11-openjdk
+ - ENV PATH="$JAVA_HOME/bin:${PATH}"
+ - ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD true
+ - RUN echo y|sfdx plugins:install sfdx-hardis
linters:
# SFDX Scanner
- linter_name: sfdx-scanner-apex
@@ -74,6 +86,10 @@ linters:
RUN sf plugins install @salesforce/sfdx-scanner \
&& npm cache clean --force || true \
&& rm -rf /root/.npm/_cacache
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
ide:
eclipse:
- name: pmd-eclipse-plugin
@@ -144,6 +160,10 @@ linters:
RUN sf plugins install @salesforce/sfdx-scanner \
&& npm cache clean --force || true \
&& rm -rf /root/.npm/_cacache
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
ide:
vscode:
- name: Salesforce Extension Pack
@@ -204,6 +224,10 @@ linters:
RUN sf plugins install @salesforce/sfdx-scanner \
&& npm cache clean --force || true \
&& rm -rf /root/.npm/_cacache
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
ide:
vscode:
- name: Salesforce Extension Pack
diff --git a/megalinter/descriptors/scala.megalinter-descriptor.yml b/megalinter/descriptors/scala.megalinter-descriptor.yml
index 0f4d779a005..5e93772a407 100644
--- a/megalinter/descriptors/scala.megalinter-descriptor.yml
+++ b/megalinter/descriptors/scala.megalinter-descriptor.yml
@@ -11,6 +11,10 @@ install:
- |
RUN curl --retry-all-errors --retry 10 -fLo coursier https://git.io/coursier-cli && \
chmod +x coursier
+supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
linters:
# SCALAFIX
- linter_name: scalafix
@@ -40,3 +44,7 @@ linters:
install:
dockerfile:
- RUN ./coursier install scalafix --quiet --install-dir /usr/bin && rm -rf /root/.cache
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
diff --git a/megalinter/descriptors/schemas/megalinter-descriptor.jsonschema.json b/megalinter/descriptors/schemas/megalinter-descriptor.jsonschema.json
index b21d984d230..b02d95e1643 100644
--- a/megalinter/descriptors/schemas/megalinter-descriptor.jsonschema.json
+++ b/megalinter/descriptors/schemas/megalinter-descriptor.jsonschema.json
@@ -1271,6 +1271,114 @@
"title": "SARIF default output file",
"type": "string"
},
+ "supported_platforms": {
+ "$id": "#/properties/linters/items/properties/supported_platforms",
+ "default": {
+ "platform": [
+ "linux/amd64"
+ ]
+ },
+ "description": "Specifies the supported target platforms (OS, CPU architecture, CPU variant) for the linters, and optionally overrides install instructions for a specific platform. Uses the same [architecture naming conventions as Docker](https://docs.docker.com/desktop/multi-arch/).",
+ "examples": [
+ {
+ "platform": [
+ "linux/amd64",
+ "linux/arm64"
+ ]
+ },
+ {
+ "platform": [
+ "linux/amd64"
+ ]
+ },
+ {
+ "install_override": [
+ {
+ "install": {
+ "dockerfile": [
+ "RUN ML_THIRD_PARTY_DIR=\"/third-party/shellcheck\" \\\n && mkdir -p ${ML_THIRD_PARTY_DIR} \\\n && wget -qO- \"https://github.com/koalaman/shellcheck/releases/download/stable/shellcheck-stable.linux.aarch64.tar.xz\" | tar -xJv --directory ${ML_THIRD_PARTY_DIR} \\\n && mv \"${ML_THIRD_PARTY_DIR}/shellcheck-stable/shellcheck\" /usr/bin/ \\\n && find ${ML_THIRD_PARTY_DIR} -type f -not -name 'LICENSE*' -delete -o -type d -empty -delete \\\n && shellcheck --version\n"
+ ]
+ },
+ "platform": "linux/arm64"
+ }
+ ],
+ "platform": [
+ "linux/amd64",
+ "linux/arm64"
+ ]
+ }
+ ],
+ "properties": {
+ "install_override": {
+ "$id": "#/properties/linters/items/properties/supported_platforms/properties/install_override",
+ "description": "Defines special installation steps for a specific platform (OS/CPU architecture/CPU variant), replacing the linter's install instructions given in the `install` node for this target platform only.",
+ "items": {
+ "properties": {
+ "install": {
+ "$id": "#/properties/linters/items/properties/supported_platforms/properties/install_override/items/properties/install",
+ "$ref": "#/properties/linters/items/properties/install",
+ "description": "List of apk, dockerfile instructions, npm/pip/gem packages required to install the linter.\nThese special installation steps replace the instructions in the [`linters` > `install`](#linters_items_install) node when using this target platform pair only."
+ },
+ "platform": {
+ "$id": "#/properties/linters/items/properties/supported_platforms/properties/install_override/items/properties/platform",
+ "$ref": "#/properties/linters/items/properties/supported_platforms/properties/platform/items",
+ "default": "linux/arm64",
+ "description": "Target platform (OS/CPU architecture/CPU variant) to define special installation steps for.",
+ "examples": [],
+ "type": "string"
+ }
+ },
+ "required": [
+ "platform",
+ "install"
+ ],
+ "type": "object"
+ },
+ "title": "Installation requirements override",
+ "type": "array"
+ },
+ "platform": {
+ "$id": "#/properties/linters/items/properties/supported_platforms/properties/platform",
+ "default": [
+ "linux/amd64"
+ ],
+ "description": "The list of target platforms (OS/CPU architecture/CPU Variant) that this linter supports.",
+ "examples": [
+ [
+ "linux/amd64",
+ "linux/arm64"
+ ],
+ [
+ "linux/amd64"
+ ]
+ ],
+ "items": {
+ "default": "linux/amd64",
+ "description": "Target platforms [available to use on Docker](https://github.com/docker-library/bashbrew/blob/master/architecture/oci-platform.go#L16-L29).\n***Please note that Megalinter does not support all Docker's platforms.***",
+ "enum": [
+ "linux/amd64",
+ "linux/arm64",
+ "linux/arm/v7",
+ "linux/arm/v6",
+ "linux/arm/v5",
+ "linux/386",
+ "linux/mips64le",
+ "linux/ppc64le",
+ "linux/riscv64",
+ "linux/s390x",
+ "windows/amd64"
+ ],
+ "title": "Target platform",
+ "type": "string"
+ },
+ "title": "List of target platforms",
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "title": "Supported platforms",
+ "type": "object"
+ },
"test_folder": {
"$id": "#/properties/linters/items/test_folder",
"description": "Test folder containing _good_ and _bad_ files, if different from parent descriptor test_folder",
@@ -1374,6 +1482,116 @@
"title": "Descriptor processing order",
"type": "number"
},
+ "supported_platforms": {
+ "$id": "#/properties/supported_platforms",
+ "default": {
+ "platform": [
+ "linux/amd64"
+ ]
+ },
+ "description": "Specifies the supported target platforms (OS, CPU architecture, CPU variant) for the install of this descriptor, and optionally overrides install instructions for a specific platform. Uses the same [architecture naming conventions as Docker](https://docs.docker.com/desktop/multi-arch/).",
+ "examples": [
+ {
+ "platform": [
+ "linux/amd64",
+ "linux/arm64"
+ ]
+ },
+ {
+ "platform": [
+ "linux/amd64"
+ ]
+ },
+ {
+ "install_override": [
+ {
+ "install": {
+ "dockerfile": [
+ "ARG PWSH_VERSION='latest'",
+ "ARG PWSH_DIRECTORY='/opt/microsoft/powershell'",
+ "RUN mkdir -p ${PWSH_DIRECTORY} \\\n && curl --retry 5 --retry-delay 5 -s https://api.github.com/repos/powershell/powershell/releases/${PWSH_VERSION} \\\n | grep browser_download_url \\\n | grep linux-arm64 \\\n | cut -d '\"' -f 4 \\\n | xargs -n 1 wget -O - \\\n | tar -xzC ${PWSH_DIRECTORY} \\\n && ln -sf ${PWSH_DIRECTORY}/pwsh /usr/bin/pwsh\n"
+ ]
+ },
+ "platform": "linux/arm64"
+ }
+ ],
+ "platform": [
+ "linux/amd64",
+ "linux/arm64"
+ ]
+ }
+ ],
+ "properties": {
+ "install_override": {
+ "$id": "#/properties/supported_platforms/properties/install_override",
+ "description": "Defines special installation steps for a specific platform (OS/CPU architecture/CPU variant), replacing the descriptor's install instructions given in the `install` node for this target platform only.",
+ "items": {
+ "properties": {
+ "install": {
+ "$id": "#/properties/supported_platforms/properties/install_override/items/properties/install",
+ "$ref": "#/properties/install",
+ "description": "List of apk, dockerfile instructions, npm/pip/gem packages required to use the descriptor's linters.\nThese special installation steps replace the instructions in the descriptor's [`install`](#install) node when using this target platform pair only."
+ },
+ "platform": {
+ "$id": "#/properties/supported_platforms/properties/install_override/items/properties/platform",
+ "$ref": "#/properties/supported_platforms/properties/platform/items",
+ "default": "linux/arm64",
+ "description": "Target platform (OS/CPU architecture/CPU variant) to define special installation steps for.",
+ "examples": [],
+ "type": "string"
+ }
+ },
+ "required": [
+ "platform",
+ "install"
+ ],
+ "type": "object"
+ },
+ "title": "Installation requirements override",
+ "type": "array"
+ },
+ "platform": {
+ "$id": "#/properties/supported_platforms/properties/platform",
+ "default": [
+ "linux/amd64"
+ ],
+ "description": "The list of target platforms (OS/CPU architecture/CPU Variant) that this descriptor supports.",
+ "examples": [
+ [
+ "linux/amd64",
+ "linux/arm64"
+ ],
+ [
+ "linux/amd64"
+ ]
+ ],
+ "items": {
+ "default": "linux/amd64",
+ "description": "Target platforms [available to use on Docker](https://github.com/docker-library/bashbrew/blob/master/architecture/oci-platform.go#L16-L29).\n***Please note that Megalinter does not support all Docker's platforms.***",
+ "enum": [
+ "linux/amd64",
+ "linux/arm64",
+ "linux/arm/v7",
+ "linux/arm/v6",
+ "linux/arm/v5",
+ "linux/386",
+ "linux/mips64le",
+ "linux/ppc64le",
+ "linux/riscv64",
+ "linux/s390x",
+ "windows/amd64"
+ ],
+ "title": "Target platform",
+ "type": "string"
+ },
+ "title": "List of target platforms",
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "title": "Supported platforms",
+ "type": "object"
+ },
"test_folder": {
"$id": "#/properties/test_folder",
"description": "Test folder containing _good_ and _bad_ files. Default: lowercase(descriptor_id)",
diff --git a/megalinter/descriptors/snakemake.megalinter-descriptor.yml b/megalinter/descriptors/snakemake.megalinter-descriptor.yml
index 6e58b42b92e..5cc4fc23e34 100644
--- a/megalinter/descriptors/snakemake.megalinter-descriptor.yml
+++ b/megalinter/descriptors/snakemake.megalinter-descriptor.yml
@@ -22,6 +22,10 @@ linters:
install:
pip:
- snakemake
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
ide:
idea:
- name: SnakeCharm
@@ -53,3 +57,7 @@ linters:
install:
pip:
- snakefmt
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
diff --git a/megalinter/descriptors/spell.megalinter-descriptor.yml b/megalinter/descriptors/spell.megalinter-descriptor.yml
index 01120c47932..d7039468e10 100644
--- a/megalinter/descriptors/spell.megalinter-descriptor.yml
+++ b/megalinter/descriptors/spell.megalinter-descriptor.yml
@@ -36,6 +36,10 @@ linters:
install:
npm:
- "cspell"
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
ide:
vscode:
- name: Code Spell Checker
@@ -69,6 +73,10 @@ linters:
install:
pip:
- proselint
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
ide:
atom:
- name: linter-proselint
@@ -123,6 +131,10 @@ linters:
dockerfile:
- FROM jdkato/vale:latest as vale
- COPY --link --from=vale /bin/vale /bin/vale
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
ide:
emacs:
- name: flymake-vale
@@ -208,3 +220,7 @@ linters:
dockerfile:
- FROM lycheeverse/lychee:latest-alpine as lychee
- COPY --link --from=lychee /usr/local/bin/lychee /usr/bin/
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
diff --git a/megalinter/descriptors/sql.megalinter-descriptor.yml b/megalinter/descriptors/sql.megalinter-descriptor.yml
index e546ed57ddd..8b494316b69 100644
--- a/megalinter/descriptors/sql.megalinter-descriptor.yml
+++ b/megalinter/descriptors/sql.megalinter-descriptor.yml
@@ -22,6 +22,10 @@ linters:
install:
npm:
- sql-lint
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
ide:
vim:
- name: ale
@@ -51,6 +55,10 @@ linters:
install:
pip:
- sqlfluff
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
# TSQL
- class: DotNetToolLinter
linter_name: tsqllint
@@ -80,6 +88,10 @@ linters:
- RUN apk add --no-cache dotnet8-sdk --repository=https://dl-cdn.alpinelinux.org/alpine/edge/community
- ENV PATH="${PATH}:/root/.dotnet/tools"
- RUN dotnet tool install --global TSQLLint
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
ide:
vscode:
- name: TSQL Lint
diff --git a/megalinter/descriptors/swift.megalinter-descriptor.yml b/megalinter/descriptors/swift.megalinter-descriptor.yml
index b8df6bc029d..9a9c8a55d23 100644
--- a/megalinter/descriptors/swift.megalinter-descriptor.yml
+++ b/megalinter/descriptors/swift.megalinter-descriptor.yml
@@ -38,6 +38,10 @@ linters:
examples:
- "docker run -v /tmp/lint:/tmp/lint:rw norionomura/swiftlint:latest swiftlint lint --path /tmp/lint --strict"
- "docker run -v /tmp/lint:/tmp/lint:rw norionomura/swiftlint:latest swiftlint --fix --path /tmp/lint --strict"
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
ide:
atom:
- name: linter-swiftlint
diff --git a/megalinter/descriptors/tekton.megalinter-descriptor.yml b/megalinter/descriptors/tekton.megalinter-descriptor.yml
index b2dce9c5b89..2b641f9c226 100644
--- a/megalinter/descriptors/tekton.megalinter-descriptor.yml
+++ b/megalinter/descriptors/tekton.megalinter-descriptor.yml
@@ -22,3 +22,7 @@ linters:
install:
npm:
- "@ibm/tekton-lint"
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
diff --git a/megalinter/descriptors/terraform.megalinter-descriptor.yml b/megalinter/descriptors/terraform.megalinter-descriptor.yml
index ecada0f3ea6..301ffaecbba 100644
--- a/megalinter/descriptors/terraform.megalinter-descriptor.yml
+++ b/megalinter/descriptors/terraform.megalinter-descriptor.yml
@@ -45,6 +45,10 @@ linters:
ARG TFLINT_VERSION=0.51.1
- FROM ghcr.io/terraform-linters/tflint:v${TFLINT_VERSION} as tflint
- COPY --link --from=tflint /usr/local/bin/tflint /usr/bin/
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
# TERRASCAN
- class: TerrascanLinter
linter_name: terrascan
@@ -85,6 +89,10 @@ linters:
dockerfile:
- FROM tenable/terrascan:1.18.11 as terrascan
- COPY --link --from=terrascan /go/bin/terrascan /usr/bin/
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
# TERRAGRUNT
- linter_name: terragrunt
name: TERRAFORM_TERRAGRUNT
@@ -119,6 +127,10 @@ linters:
dockerfile:
- FROM alpine/terragrunt:latest as terragrunt
- COPY --link --from=terragrunt /usr/local/bin/terragrunt /usr/bin/
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
# TERRAFORM_FMT
- linter_name: terraform-fmt
name: TERRAFORM_TERRAFORM_FMT
@@ -141,6 +153,10 @@ linters:
dockerfile:
- FROM alpine/terragrunt:latest as terragrunt
- COPY --link --from=terragrunt /bin/terraform /usr/bin/
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
ide:
atom:
- name: terraform-fmt
diff --git a/megalinter/descriptors/tsx.megalinter-descriptor.yml b/megalinter/descriptors/tsx.megalinter-descriptor.yml
index 9b614cb3d6c..a2abfc96265 100644
--- a/megalinter/descriptors/tsx.megalinter-descriptor.yml
+++ b/megalinter/descriptors/tsx.megalinter-descriptor.yml
@@ -65,6 +65,10 @@ linters:
- "@typescript-eslint/eslint-plugin"
- "@typescript-eslint/parser"
- "@microsoft/eslint-formatter-sarif"
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
ide:
atom:
- name: linter-eslint
diff --git a/megalinter/descriptors/typescript.megalinter-descriptor.yml b/megalinter/descriptors/typescript.megalinter-descriptor.yml
index 1044475a233..72460f405dd 100644
--- a/megalinter/descriptors/typescript.megalinter-descriptor.yml
+++ b/megalinter/descriptors/typescript.megalinter-descriptor.yml
@@ -72,6 +72,10 @@ linters:
- "@typescript-eslint/eslint-plugin"
- "@typescript-eslint/parser"
- "@microsoft/eslint-formatter-sarif"
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
ide:
brackets:
- name: brackets-eslint
@@ -118,6 +122,10 @@ linters:
install:
npm:
- ts-standard
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
ide:
idea:
- name: native support
@@ -162,6 +170,10 @@ linters:
install:
npm:
- "prettier"
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
ide:
emacs:
- name: prettier-emacs
diff --git a/megalinter/descriptors/vbdotnet.megalinter-descriptor.yml b/megalinter/descriptors/vbdotnet.megalinter-descriptor.yml
index f67887fb178..8b1b45514cf 100644
--- a/megalinter/descriptors/vbdotnet.megalinter-descriptor.yml
+++ b/megalinter/descriptors/vbdotnet.megalinter-descriptor.yml
@@ -35,3 +35,7 @@ linters:
examples:
- "dotnet format {{WORKSPACE}} --verify-no-changes"
- "dotnet format {{WORKSPACE}}" # Fix
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
diff --git a/megalinter/descriptors/xml.megalinter-descriptor.yml b/megalinter/descriptors/xml.megalinter-descriptor.yml
index cc9fee863d7..8fa69a07a59 100644
--- a/megalinter/descriptors/xml.megalinter-descriptor.yml
+++ b/megalinter/descriptors/xml.megalinter-descriptor.yml
@@ -35,3 +35,7 @@ linters:
- libxml2-dev
- libxml2-utils
- libgcc
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
diff --git a/megalinter/descriptors/yaml.megalinter-descriptor.yml b/megalinter/descriptors/yaml.megalinter-descriptor.yml
index 444ede90925..261ec3e2522 100644
--- a/megalinter/descriptors/yaml.megalinter-descriptor.yml
+++ b/megalinter/descriptors/yaml.megalinter-descriptor.yml
@@ -32,6 +32,10 @@ linters:
install:
npm:
- "prettier"
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
ide:
atom:
- name: prettier-atom
@@ -83,6 +87,10 @@ linters:
install:
pip:
- yamllint
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
ide:
emacs:
- name: flycheck
@@ -111,6 +119,10 @@ linters:
install:
npm:
- v8r
+ supported_platforms:
+ platform:
+ - linux/amd64
+ - linux/arm64
ide:
eclipse:
- name: native support
diff --git a/trivy-secret.yaml b/trivy-secret.yaml
index 9301d6aff32..c292d0462a3 100644
--- a/trivy-secret.yaml
+++ b/trivy-secret.yaml
@@ -1,2 +1,3 @@
+---
disable-rules:
- alibaba-access-key-id