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