oxsecurity / megalinter

🦙 MegaLinter analyzes 50 languages, 22 formats, 21 tooling formats, excessive copy-pastes, spelling mistakes and security issues in your repository sources with a GitHub Action, other CI tools or locally.
https://megalinter.io
GNU Affero General Public License v3.0
1.94k stars 237 forks source link

Tests Randomly Fail on M2 Chips #2463

Closed andrewvaughan closed 1 year ago

andrewvaughan commented 1 year ago

Describe the bug Virtualization workarounds on the macOS M1/M2 chips seem to still fail occasionally with megalinter, inconsistently.

To Reproduce Steps to reproduce the behavior:

  1. Have an Apple M1 or M2 Silicon chipset
  2. Turn on "Use Rosetta for x86/amd64 emulation on Apple Silicon" in Docker (workaround 1)
  3. Use act to run the Megalinter script with act --container-architecture linux/amd64 (workaround 2)
  4. Inconsistently see errors in various tests (and have them pass other times) the error is fairly consistent and seems to be related so how the containers are configured:
[MegaLinter/MegaLinter]   ❓  ::group::❌ Linted [JSON] files with [eslint-plugin-jsonc]: Found 1 error(s) - (3.31s) (expand for details)
| - Using [eslint-plugin-jsonc v2.6.0] https://megalinter.io/7411316caa2897b3839af1834e5fd8ebd5b7b81e/descriptors/json_eslint_plugin_jsonc
| - MegaLinter key: [JSON_ESLINT_PLUGIN_JSONC]
| - Rules config: [.eslintrc-json.json]
| - Number of files analyzed: [2]
| --Error detail:
| assertion failed [result.value != EEXIST]: VmTracker attempted to allocate existing mapping
| (ThreadContextVm.cpp:47 mmap)

(This is just an example, this error can randomly appear seemingly on any test, inconsistently).

Expected behavior A successful run on M1 and M2 devices.

Screenshots N/A

Additional context

Additional references from my debugging:

❯ act -l
WARN  ⚠ You are using Apple M1 chip and you have not specified container architecture, you might encounter issues while running act. 
If so, try running it with '--container-architecture linux/amd64'.
Kurt-von-Laven commented 1 year ago

Do you see any more pertinent information using LOG_LEVEL: DEBUG? Do you observe any change in the frequency or nature of symptoms when running MegaLinter via the simpler pre-commit rather than act? Some fallback options might be to use a tool like UTM to run amd64 Linux in a VM, or to use Windows Subsystem for Linux (WSL) if you already have access to Windows.

andrewvaughan commented 1 year ago

@Kurt-von-Laven going down the route of a VM for development is something I (and I'm sure pretty much everyone else developing on a macOS environment) would really like to avoid :) with the Docker Rosetta configuration and the --container-architecture linux/amd64 option for act, I only really have issues with megalinter.

Regarding your questions - this does occur without act. I ran the command about a dozen times, and it failed about 1/3 of the time (fully successful the others). The same error occurs, which makes me think it's an issue with how the containers are being built/used from megalinter, not act.

For some reason, with my main branch, I'm getting a repository error o_O running directly. I'll have to debug this one

Listing updated files in [/tmp/lint] using git diff.
Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "/megalinter/run.py", line 15, in <module>
    linter.run()
  File "/megalinter/MegaLinter.py", line 142, in run
    self.collect_files()
  File "/megalinter/MegaLinter.py", line 550, in collect_files
    all_files = self.list_files_git_diff()
                ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/megalinter/MegaLinter.py", line 663, in list_files_git_diff
    repo.git.fetch("origin", f"{remote_ref}:{local_ref}")
  File "/usr/local/lib/python3.11/site-packages/GitPython-3.1.31-py3.11.egg/git/cmd.py", line 741, in <lambda>
    return lambda *args, **kwargs: self._call_process(name, *args, **kwargs)
                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/GitPython-3.1.31-py3.11.egg/git/cmd.py", line 1315, in _call_process
    return self.execute(call, **exec_kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/GitPython-3.1.31-py3.11.egg/git/cmd.py", line 1109, in execute
    raise GitCommandError(redacted_command, status, stderr_value, stdout_value)
git.exc.GitCommandError: Cmd('git') failed due to: exit code(128)
  cmdline: git fetch origin HEAD:refs/remotes/origin/HEAD
  stderr: 'Host key verification failed.
fatal: Could not read from remote repository.

So I switched to an extremely simplified branch without a megalinter config (and nothing to lint) to show you a debug dump of the issue:

16:08:07 ~/Repositories/Root & Blade, LLC/.github main $ npx mega-linter-runner --debug --flavor documentation
Pulling docker image oxsecurity/megalinter-documentation:v6 ...
INFO: this operation can be long during the first use of mega-linter-runner
The next runs, it will be immediate (thanks to docker cache !)
v6: Pulling from oxsecurity/megalinter-documentation
Digest: sha256:f05bfd6c02bf583ff8768206456e161aea54d298af90588395d8f0cfce1580a9
Status: Image is up to date for oxsecurity/megalinter-documentation:v6
docker.io/oxsecurity/megalinter-documentation:v6
Command: docker run -v /var/run/docker.sock:/var/run/docker.sock:rw -v /Users/andrew/Repositories/Root & Blade, LLC/.github:/tmp/lint:rw -e LOG_LEVEL=DEBUG oxsecurity/megalinter-documentation:v6
LOG_LEVEL=DEBUG
HOSTNAME=35c504b04ad9
PYTHON_VERSION=3.11.2
NODE_OPTIONS=--max-old-space-size=8192
PWD=/
BUILD_DATE=2023-03-07T19:34:57Z
PYTHON_SETUPTOOLS_VERSION=65.5.1
NODE_ENV=production
HOME=/root
LANG=C.UTF-8
GPG_KEY=A035C8C19219BA821ECEA86B64E628F8D684696D
GOROOT=/usr/lib/go
PYTHONPATH=:/
SHLVL=1
PYTHON_PIP_VERSION=22.3.1
BUILD_REVISION=7411316caa2897b3839af1834e5fd8ebd5b7b81e
PYTHON_GET_PIP_SHA256=394be00f13fa1b9aaa47e911bdb59a09c3b2986472130f30aa0bfaf7f3980637
NODE_PATH=/node-deps/node_modules
PYTHON_GET_PIP_URL=https://github.com/pypa/get-pip/raw/d5cb0afaf23b8520f1bbcfed521017b4a95f5c01/public/get-pip.py
MEGALINTER_FLAVOR=documentation
PATH=/root/.cargo/bin:/node-deps/node_modules/.bin:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib/go/bin:/go/bin:/venvs/ansible-lint/bin:/venvs/djlint/bin:/venvs/checkov/bin:/venvs/semgrep/bin:/venvs/snakemake/bin:/venvs/snakefmt/bin:/venvs/proselint/bin:/venvs/sqlfluff/bin:/venvs/yamllint/bin
BUILD_VERSION=7411316caa2897b3839af1834e5fd8ebd5b7b81e
GOPATH=/go
_=/bin/printenv
Skipped setting git safe.directory DEFAULT_WORKSPACE:  ...
Setting git safe.directory default: /github/workspace ...
Setting git safe.directory to /tmp/lint ...
[MegaLinter init] ONE-SHOT RUN
[config] Environment variables only (no config file found in /tmp/lint)
----------------------------------------------------------------------------------------------------
------------------------------------ MegaLinter, by OX Security ------------------------------------
----------------------------------------------------------------------------------------------------
 - Image Creation Date: 2023-03-07T19:34:57Z
 - Image Revision: 7411316caa2897b3839af1834e5fd8ebd5b7b81e
 - Image Version: 7411316caa2897b3839af1834e5fd8ebd5b7b81e
----------------------------------------------------------------------------------------------------
The MegaLinter documentation can be found at:
 - https://megalinter.io/7411316caa2897b3839af1834e5fd8ebd5b7b81e
----------------------------------------------------------------------------------------------------
MegaLinter initialization
BUILD_DATE=2023-03-07T19:34:57Z
BUILD_REVISION=7411316caa2897b3839af1834e5fd8ebd5b7b81e
BUILD_VERSION=7411316caa2897b3839af1834e5fd8ebd5b7b81e
GOPATH=/go
GOROOT=/usr/lib/go
GPG_KEY=A035C8C19219BA821ECEA86B64E628F8D684696D
HOME=/root
HOSTNAME=35c504b04ad9
LANG=C.UTF-8
LOG_LEVEL=DEBUG
MEGALINTER_FLAVOR=documentation
NODE_ENV=production
NODE_OPTIONS=--max-old-space-size=8192
NODE_PATH=/node-deps/node_modules
PATH=/root/.cargo/bin:/node-deps/node_modules/.bin:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib/go/bin:/go/bin:/venvs/ansible-lint/bin:/venvs/djlint/bin:/venvs/checkov/bin:/venvs/semgrep/bin:/venvs/snakemake/bin:/venvs/snakefmt/bin:/venvs/proselint/bin:/venvs/sqlfluff/bin:/venvs/yamllint/bin
PWD=/
PYTHONPATH=:/
PYTHON_GET_PIP_SHA256=394be00f13fa1b9aaa47e911bdb59a09c3b2986472130f30aa0bfaf7f3980637
PYTHON_GET_PIP_URL=https://github.com/pypa/get-pip/raw/d5cb0afaf23b8520f1bbcfed521017b4a95f5c01/public/get-pip.py
PYTHON_PIP_VERSION=22.3.1
PYTHON_SETUPTOOLS_VERSION=65.5.1
PYTHON_VERSION=3.11.2
SHLVL=1
_=/usr/local/bin/python
----------------------------------------------------------------------------------------------------

[Pre] No commands declared in user configuration
[Activation] ACTION_ACTIONLINT has been set inactive, as subdirectory has not been found: .github/workflows
[Activation] ANSIBLE_ANSIBLE_LINT has been set inactive, as subdirectory has not been found: ansible
[Activation] EDITORCONFIG_EDITORCONFIG_CHECKER has been set inactive, as none of these files has been found: ['.editorconfig']
[Activation] JAVASCRIPT_ES has been set inactive, as none of these files has been found: ['.eslintrc.json', '.eslintrc.yml', '.eslintrc.yaml', '.eslintrc.js', '.eslintrc.cjs', 'package.json:eslintConfig']
[Activation] JSON_NPM_PACKAGE_JSON_LINT has been set inactive, as none of these files has been found: ['package.json']
[Activation] JSX_ESLINT has been set inactive, as none of these files has been found: ['.eslintrc.json', '.eslintrc.yml', '.eslintrc.yaml', '.eslintrc.js', '.eslintrc.cjs', 'package.json:eslintConfig']
[Activation] KUBERNETES_KUBEVAL has been set inactive, as subdirectory has not been found: kubernetes
[Activation] KUBERNETES_KUBECONFORM has been set inactive, as subdirectory has not been found: kubernetes
[Activation] REPOSITORY_GOODCHECK has been set inactive, as none of these files has been found: ['goodcheck.yml']
[SemgrepLinter] Deactivated because no ruleset has been defined
[Activation] SALESFORCE_SFDX_SCANNER_APEX has been set inactive, as subdirectory has not been found: force-app
[Activation] SALESFORCE_SFDX_SCANNER_AURA has been set inactive, as subdirectory has not been found: force-app
[Activation] SALESFORCE_SFDX_SCANNER_LWC has been set inactive, as subdirectory has not been found: force-app
[Activation] SPELL_PROSELINT has been set inactive, as none of these files has been found: ['.proselintrc', 'proselint/config.json']
[Activation] SQL_SQLFLUFF has been set inactive, as none of these files has been found: ['.sqlfluff']
[Activation] SWIFT_SWIFTLINT has been set inactive, as none of these files has been found: ['.swiftlint.yml']
[Activation] TSX_ESLINT has been set inactive, as none of these files has been found: ['.eslintrc.json', '.eslintrc.yml', '.eslintrc.yaml', '.eslintrc.js', '.eslintrc.cjs', 'package.json:eslintConfig']
[Activation] TYPESCRIPT_ES has been set inactive, as none of these files has been found: ['.eslintrc.json', '.eslintrc.yml', '.eslintrc.yaml', '.eslintrc.js', '.eslintrc.cjs', 'package.json:eslintConfig']
MARKDOWN_REMARK_LINT has been temporary disabled in MegaLinter, please use a previous MegaLinter version or wait for the next one !
Skipped linters: ACTION_ACTIONLINT, ANSIBLE_ANSIBLE_LINT, EDITORCONFIG_EDITORCONFIG_CHECKER, JAVASCRIPT_ES, JAVASCRIPT_PRETTIER, JSON_NPM_PACKAGE_JSON_LINT, JSX_ESLINT, KUBERNETES_KUBECONFORM, KUBERNETES_KUBEVAL, MARKDOWN_REMARK_LINT, REPOSITORY_GOODCHECK, REPOSITORY_SEMGREP, SALESFORCE_SFDX_SCANNER_APEX, SALESFORCE_SFDX_SCANNER_AURA, SALESFORCE_SFDX_SCANNER_LWC, SPELL_PROSELINT, SQL_SQLFLUFF, SWIFT_SWIFTLINT, TSX_ESLINT, TYPESCRIPT_ES, TYPESCRIPT_PRETTIER
To receive reports as email, please set variable EMAIL_REPORTER_EMAIL

    .:oool'                                  ,looo;
    .xNXNXl                                 .dXNNXo.
     lXXXX0c.                              'oKXXN0;
     .oKNXNX0kxdddddddoc,.    .;lodddddddxk0XXXX0c
      .:kKXXXXXXXXXXXXNXX0dllx0XXXXXXXXXXXXXXXKd,
        .,cdkOOOOOOOO0KXXXXXXXXXXK0OOOOOOOkxo:'
                      'ckKXNNNXkc'
              ':::::;.  .c0XX0l.  .;::::;.
              'xXXXXXx'   :kx:   ;OXXXXKd.
               .dKNNXXO;   ..   :0XXXXKl.
                .lKXXXX0:     .lKXXXX0:
                  :0XXXXKl.  .dXXXXXk,
                   ;kXXXXKd:cxXXXXXx'
                    'xXNXXXXXXXXXKo.
                     .oKXXXXNXXX0l.
                      .lKNNXNNXO:
                        ,looool'

==========================================================
=============   MegaLinter, by OX.security   =============
=========  https://ox.security?ref=megalinter  ===========
==========================================================

MegaLinter now collects the files to analyse
Listing all files in directory [/tmp/lint], then filter with:
Root dir content:
- /tmp/lint/README.md
All found files before filtering:
- /tmp/lint/README.md
- File extensions: , .R, .RMD, .Rmd, .bash, .bicep, .c, .c++, .cc, .cdxml, .clj, .cljc, .cljs, .coffee, .cpp, .cs, .css, .cu, .cuh, .cxx, .dart, .dash, .edn, .env, .feature, .go, .gradle, .graphql, .groovy, .gvy, .h, .h++, .hcl, .hh, .hpp, .htm, .html, .hxx, .java, .js, .json, .json5, .jsonc, .ksh, .kt, .kts, .lua, .md, .nf, .p6, .php, .pl, .pl6, .pm, .pm6, .pp, .proto, .ps1, .ps1xml, .psd1, .psm1, .psrc, .pssc, .py, .r, .raku, .rakumod, .rakutest, .rb, .rs, .rst, .saas, .scala, .scss, .sh, .smk, .sql, .t, .tex, .tf, .ts, .vb, .xml, .yaml, .yml
- File names (regex): Dockerfile, Jenkinsfile, Makefile, Snakefile
Failed checking if running in CYGWIN due to: FileNotFoundError(2, 'No such file or directory')
Popen(['git', 'ls-files', '--exclude-standard', '--ignored', '--others', '--cached'], cwd=/tmp/lint, universal_newlines=False, shell=None, istream=None)
- Excluding .gitignored files [0]:
Kept [1] files on [1] found files
Kept files before applying linter filters:
- /tmp/lint/README.md
[Filters] {'name': 'PYTHON_PYLINT', 'filter_regex_include': None, 'filter_regex_exclude': None, 'files_sub_directory': None, 'lint_all_files': False, 'lint_all_other_linters_files': False, 'file_extensions': ['.py'], 'file_names_regex': [], 'file_names_not_ends_with': [], 'file_contains_regex': [], 'file_contains_regex_extensions': []}
PYTHON_PYLINT linter kept 0 files after applying linter filters:
[Filters] {'name': 'PYTHON_BLACK', 'filter_regex_include': None, 'filter_regex_exclude': None, 'files_sub_directory': None, 'lint_all_files': False, 'lint_all_other_linters_files': False, 'file_extensions': ['.py'], 'file_names_regex': [], 'file_names_not_ends_with': [], 'file_contains_regex': [], 'file_contains_regex_extensions': []}
PYTHON_BLACK linter kept 0 files after applying linter filters:
[Filters] {'name': 'PYTHON_FLAKE8', 'filter_regex_include': None, 'filter_regex_exclude': None, 'files_sub_directory': None, 'lint_all_files': False, 'lint_all_other_linters_files': False, 'file_extensions': ['.py'], 'file_names_regex': [], 'file_names_not_ends_with': [], 'file_contains_regex': [], 'file_contains_regex_extensions': []}
PYTHON_FLAKE8 linter kept 0 files after applying linter filters:
[Filters] {'name': 'PYTHON_ISORT', 'filter_regex_include': None, 'filter_regex_exclude': None, 'files_sub_directory': None, 'lint_all_files': False, 'lint_all_other_linters_files': False, 'file_extensions': ['.py'], 'file_names_regex': [], 'file_names_not_ends_with': [], 'file_contains_regex': [], 'file_contains_regex_extensions': []}
PYTHON_ISORT linter kept 0 files after applying linter filters:
[Filters] {'name': 'PYTHON_BANDIT', 'filter_regex_include': None, 'filter_regex_exclude': None, 'files_sub_directory': None, 'lint_all_files': False, 'lint_all_other_linters_files': False, 'file_extensions': ['.py'], 'file_names_regex': [], 'file_names_not_ends_with': [], 'file_contains_regex': [], 'file_contains_regex_extensions': []}
PYTHON_BANDIT linter kept 0 files after applying linter filters:
[Filters] {'name': 'PYTHON_MYPY', 'filter_regex_include': None, 'filter_regex_exclude': None, 'files_sub_directory': None, 'lint_all_files': False, 'lint_all_other_linters_files': False, 'file_extensions': ['.py'], 'file_names_regex': [], 'file_names_not_ends_with': [], 'file_contains_regex': [], 'file_contains_regex_extensions': []}
PYTHON_MYPY linter kept 0 files after applying linter filters:
[Filters] {'name': 'PYTHON_PYRIGHT', 'filter_regex_include': None, 'filter_regex_exclude': None, 'files_sub_directory': None, 'lint_all_files': False, 'lint_all_other_linters_files': False, 'file_extensions': ['.py'], 'file_names_regex': [], 'file_names_not_ends_with': [], 'file_contains_regex': [], 'file_contains_regex_extensions': []}
PYTHON_PYRIGHT linter kept 0 files after applying linter filters:
[Filters] {'name': 'ARM_ARM_TTK', 'filter_regex_include': None, 'filter_regex_exclude': None, 'files_sub_directory': None, 'lint_all_files': False, 'lint_all_other_linters_files': False, 'file_extensions': ['.json'], 'file_names_regex': [], 'file_names_not_ends_with': [], 'file_contains_regex': ['schema\\.management\\.azure\\.com'], 'file_contains_regex_extensions': []}
ARM_ARM_TTK linter kept 0 files after applying linter filters:
[Filters] {'name': 'BASH_EXEC', 'filter_regex_include': None, 'filter_regex_exclude': None, 'files_sub_directory': None, 'lint_all_files': False, 'lint_all_other_linters_files': False, 'file_extensions': ['.sh', '.bash', '.dash', '.ksh'], 'file_names_regex': [], 'file_names_not_ends_with': [], 'file_contains_regex': [], 'file_contains_regex_extensions': []}
BASH_EXEC linter kept 0 files after applying linter filters:
[Filters] {'name': 'BASH_SHELLCHECK', 'filter_regex_include': None, 'filter_regex_exclude': None, 'files_sub_directory': None, 'lint_all_files': False, 'lint_all_other_linters_files': False, 'file_extensions': ['.sh', '.bash', '.dash', '.ksh'], 'file_names_regex': [], 'file_names_not_ends_with': [], 'file_contains_regex': [], 'file_contains_regex_extensions': []}
BASH_SHELLCHECK linter kept 0 files after applying linter filters:
[Filters] {'name': 'BASH_SHFMT', 'filter_regex_include': None, 'filter_regex_exclude': None, 'files_sub_directory': None, 'lint_all_files': False, 'lint_all_other_linters_files': False, 'file_extensions': ['.sh', '.bash', '.dash', '.ksh'], 'file_names_regex': [], 'file_names_not_ends_with': [], 'file_contains_regex': [], 'file_contains_regex_extensions': []}
BASH_SHFMT linter kept 0 files after applying linter filters:
[Filters] {'name': 'BICEP_BICEP_LINTER', 'filter_regex_include': None, 'filter_regex_exclude': None, 'files_sub_directory': None, 'lint_all_files': False, 'lint_all_other_linters_files': False, 'file_extensions': ['.bicep'], 'file_names_regex': [], 'file_names_not_ends_with': [], 'file_contains_regex': [], 'file_contains_regex_extensions': []}
BICEP_BICEP_LINTER linter kept 0 files after applying linter filters:
[Filters] {'name': 'C_CPPLINT', 'filter_regex_include': None, 'filter_regex_exclude': None, 'files_sub_directory': None, 'lint_all_files': False, 'lint_all_other_linters_files': False, 'file_extensions': ['.c', '.h'], 'file_names_regex': [], 'file_names_not_ends_with': [], 'file_contains_regex': [], 'file_contains_regex_extensions': []}
C_CPPLINT linter kept 0 files after applying linter filters:
[Filters] {'name': 'CLOJURE_CLJ_KONDO', 'filter_regex_include': None, 'filter_regex_exclude': None, 'files_sub_directory': None, 'lint_all_files': False, 'lint_all_other_linters_files': False, 'file_extensions': ['.clj', '.cljs', '.cljc', '.edn'], 'file_names_regex': [], 'file_names_not_ends_with': [], 'file_contains_regex': [], 'file_contains_regex_extensions': []}
CLOJURE_CLJ_KONDO linter kept 0 files after applying linter filters:
[Filters] {'name': 'CLOUDFORMATION_CFN_LINT', 'filter_regex_include': None, 'filter_regex_exclude': None, 'files_sub_directory': None, 'lint_all_files': False, 'lint_all_other_linters_files': False, 'file_extensions': ['.yml', '.yaml', '.json'], 'file_names_regex': [], 'file_names_not_ends_with': [], 'file_contains_regex': ['AWSTemplateFormatVersion', '(AWS|Alexa|Custom)::'], 'file_contains_regex_extensions': []}
CLOUDFORMATION_CFN_LINT linter kept 0 files after applying linter filters:
[Filters] {'name': 'COFFEE_COFFEELINT', 'filter_regex_include': None, 'filter_regex_exclude': None, 'files_sub_directory': None, 'lint_all_files': False, 'lint_all_other_linters_files': False, 'file_extensions': ['.coffee'], 'file_names_regex': [], 'file_names_not_ends_with': [], 'file_contains_regex': [], 'file_contains_regex_extensions': []}
COFFEE_COFFEELINT linter kept 0 files after applying linter filters:
[Filters] {'name': 'COPYPASTE_JSCPD', 'filter_regex_include': None, 'filter_regex_exclude': None, 'files_sub_directory': None, 'lint_all_files': True, 'lint_all_other_linters_files': False, 'file_extensions': [], 'file_names_regex': [], 'file_names_not_ends_with': [], 'file_contains_regex': [], 'file_contains_regex_extensions': []}
COPYPASTE_JSCPD linter kept 0 files after applying linter filters:
[Filters] {'name': 'CPP_CPPLINT', 'filter_regex_include': None, 'filter_regex_exclude': None, 'files_sub_directory': None, 'lint_all_files': False, 'lint_all_other_linters_files': False, 'file_extensions': ['.cpp', '.h', '.cc', '.hpp', '.cxx', '.cu', '.hxx', '.c++', '.hh', '.h++', '.cuh'], 'file_names_regex': [], 'file_names_not_ends_with': [], 'file_contains_regex': [], 'file_contains_regex_extensions': []}
CPP_CPPLINT linter kept 0 files after applying linter filters:
[Filters] {'name': 'CSHARP_DOTNET_FORMAT', 'filter_regex_include': None, 'filter_regex_exclude': None, 'files_sub_directory': None, 'lint_all_files': False, 'lint_all_other_linters_files': False, 'file_extensions': ['.cs'], 'file_names_regex': [], 'file_names_not_ends_with': [], 'file_contains_regex': [], 'file_contains_regex_extensions': []}
CSHARP_DOTNET_FORMAT linter kept 0 files after applying linter filters:
[Filters] {'name': 'CSHARP_CSHARPIER', 'filter_regex_include': None, 'filter_regex_exclude': None, 'files_sub_directory': None, 'lint_all_files': False, 'lint_all_other_linters_files': False, 'file_extensions': ['.cs'], 'file_names_regex': [], 'file_names_not_ends_with': [], 'file_contains_regex': [], 'file_contains_regex_extensions': []}
CSHARP_CSHARPIER linter kept 0 files after applying linter filters:
[Filters] {'name': 'CSS_STYLELINT', 'filter_regex_include': None, 'filter_regex_exclude': None, 'files_sub_directory': None, 'lint_all_files': False, 'lint_all_other_linters_files': False, 'file_extensions': ['.css', '.scss', '.saas'], 'file_names_regex': [], 'file_names_not_ends_with': [], 'file_contains_regex': [], 'file_contains_regex_extensions': []}
CSS_STYLELINT linter kept 0 files after applying linter filters:
[Filters] {'name': 'CSS_SCSS_LINT', 'filter_regex_include': None, 'filter_regex_exclude': None, 'files_sub_directory': None, 'lint_all_files': False, 'lint_all_other_linters_files': False, 'file_extensions': ['.scss', '.saas'], 'file_names_regex': [], 'file_names_not_ends_with': [], 'file_contains_regex': [], 'file_contains_regex_extensions': []}
CSS_SCSS_LINT linter kept 0 files after applying linter filters:
[Filters] {'name': 'DART_DARTANALYZER', 'filter_regex_include': None, 'filter_regex_exclude': None, 'files_sub_directory': None, 'lint_all_files': False, 'lint_all_other_linters_files': False, 'file_extensions': ['.dart'], 'file_names_regex': [], 'file_names_not_ends_with': [], 'file_contains_regex': [], 'file_contains_regex_extensions': []}
DART_DARTANALYZER linter kept 0 files after applying linter filters:
[Filters] {'name': 'DOCKERFILE_HADOLINT', 'filter_regex_include': None, 'filter_regex_exclude': None, 'files_sub_directory': None, 'lint_all_files': False, 'lint_all_other_linters_files': False, 'file_extensions': [], 'file_names_regex': ['Dockerfile'], 'file_names_not_ends_with': [], 'file_contains_regex': [], 'file_contains_regex_extensions': []}
DOCKERFILE_HADOLINT linter kept 0 files after applying linter filters:
[Filters] {'name': 'ENV_DOTENV_LINTER', 'filter_regex_include': None, 'filter_regex_exclude': None, 'files_sub_directory': None, 'lint_all_files': False, 'lint_all_other_linters_files': False, 'file_extensions': ['.env'], 'file_names_regex': [], 'file_names_not_ends_with': [], 'file_contains_regex': [], 'file_contains_regex_extensions': []}
ENV_DOTENV_LINTER linter kept 0 files after applying linter filters:
[Filters] {'name': 'GHERKIN_GHERKIN_LINT', 'filter_regex_include': None, 'filter_regex_exclude': None, 'files_sub_directory': None, 'lint_all_files': False, 'lint_all_other_linters_files': False, 'file_extensions': ['.feature'], 'file_names_regex': [], 'file_names_not_ends_with': [], 'file_contains_regex': [], 'file_contains_regex_extensions': []}
GHERKIN_GHERKIN_LINT linter kept 0 files after applying linter filters:
[Filters] {'name': 'GO_GOLANGCI_LINT', 'filter_regex_include': None, 'filter_regex_exclude': None, 'files_sub_directory': None, 'lint_all_files': False, 'lint_all_other_linters_files': False, 'file_extensions': ['.go'], 'file_names_regex': [], 'file_names_not_ends_with': [], 'file_contains_regex': [], 'file_contains_regex_extensions': []}
GO_GOLANGCI_LINT linter kept 0 files after applying linter filters:
[Filters] {'name': 'GO_REVIVE', 'filter_regex_include': None, 'filter_regex_exclude': None, 'files_sub_directory': None, 'lint_all_files': False, 'lint_all_other_linters_files': False, 'file_extensions': ['.go'], 'file_names_regex': [], 'file_names_not_ends_with': [], 'file_contains_regex': [], 'file_contains_regex_extensions': []}
GO_REVIVE linter kept 0 files after applying linter filters:
[Filters] {'name': 'GRAPHQL_GRAPHQL_SCHEMA_LINTER', 'filter_regex_include': None, 'filter_regex_exclude': None, 'files_sub_directory': None, 'lint_all_files': False, 'lint_all_other_linters_files': False, 'file_extensions': ['.graphql'], 'file_names_regex': [], 'file_names_not_ends_with': [], 'file_contains_regex': [], 'file_contains_regex_extensions': []}
GRAPHQL_GRAPHQL_SCHEMA_LINTER linter kept 0 files after applying linter filters:
[Filters] {'name': 'GROOVY_NPM_GROOVY_LINT', 'filter_regex_include': None, 'filter_regex_exclude': None, 'files_sub_directory': None, 'lint_all_files': False, 'lint_all_other_linters_files': False, 'file_extensions': ['.groovy', '.gvy', '.gradle', '.nf'], 'file_names_regex': ['Jenkinsfile'], 'file_names_not_ends_with': [], 'file_contains_regex': [], 'file_contains_regex_extensions': []}
GROOVY_NPM_GROOVY_LINT linter kept 0 files after applying linter filters:
[Filters] {'name': 'HTML_DJLINT', 'filter_regex_include': None, 'filter_regex_exclude': None, 'files_sub_directory': None, 'lint_all_files': False, 'lint_all_other_linters_files': False, 'file_extensions': ['.html', '.htm'], 'file_names_regex': [], 'file_names_not_ends_with': [], 'file_contains_regex': [], 'file_contains_regex_extensions': []}
HTML_DJLINT linter kept 0 files after applying linter filters:
[Filters] {'name': 'HTML_HTMLHINT', 'filter_regex_include': None, 'filter_regex_exclude': None, 'files_sub_directory': None, 'lint_all_files': False, 'lint_all_other_linters_files': False, 'file_extensions': ['.html', '.htm'], 'file_names_regex': [], 'file_names_not_ends_with': [], 'file_contains_regex': [], 'file_contains_regex_extensions': []}
HTML_HTMLHINT linter kept 0 files after applying linter filters:
[Filters] {'name': 'JAVA_CHECKSTYLE', 'filter_regex_include': None, 'filter_regex_exclude': None, 'files_sub_directory': None, 'lint_all_files': False, 'lint_all_other_linters_files': False, 'file_extensions': ['.java'], 'file_names_regex': [], 'file_names_not_ends_with': [], 'file_contains_regex': [], 'file_contains_regex_extensions': []}
JAVA_CHECKSTYLE linter kept 0 files after applying linter filters:
[Filters] {'name': 'JAVA_PMD', 'filter_regex_include': None, 'filter_regex_exclude': None, 'files_sub_directory': None, 'lint_all_files': False, 'lint_all_other_linters_files': False, 'file_extensions': ['.java'], 'file_names_regex': [], 'file_names_not_ends_with': [], 'file_contains_regex': [], 'file_contains_regex_extensions': []}
JAVA_PMD linter kept 0 files after applying linter filters:
[Filters] {'name': 'JAVASCRIPT_STANDARD', 'filter_regex_include': None, 'filter_regex_exclude': None, 'files_sub_directory': None, 'lint_all_files': False, 'lint_all_other_linters_files': False, 'file_extensions': ['.js'], 'file_names_regex': [], 'file_names_not_ends_with': [], 'file_contains_regex': [], 'file_contains_regex_extensions': []}
JAVASCRIPT_STANDARD linter kept 0 files after applying linter filters:
[Filters] {'name': 'JSON_JSONLINT', 'filter_regex_include': None, 'filter_regex_exclude': None, 'files_sub_directory': None, 'lint_all_files': False, 'lint_all_other_linters_files': False, 'file_extensions': ['.json'], 'file_names_regex': [], 'file_names_not_ends_with': [], 'file_contains_regex': [], 'file_contains_regex_extensions': []}
JSON_JSONLINT linter kept 0 files after applying linter filters:
[Filters] {'name': 'JSON_ESLINT_PLUGIN_JSONC', 'filter_regex_include': None, 'filter_regex_exclude': None, 'files_sub_directory': None, 'lint_all_files': False, 'lint_all_other_linters_files': False, 'file_extensions': ['.json', '.json5', '.jsonc'], 'file_names_regex': [], 'file_names_not_ends_with': [], 'file_contains_regex': [], 'file_contains_regex_extensions': []}
JSON_ESLINT_PLUGIN_JSONC linter kept 0 files after applying linter filters:
[Filters] {'name': 'JSON_V8R', 'filter_regex_include': None, 'filter_regex_exclude': None, 'files_sub_directory': None, 'lint_all_files': False, 'lint_all_other_linters_files': False, 'file_extensions': ['.json'], 'file_names_regex': [], 'file_names_not_ends_with': [], 'file_contains_regex': [], 'file_contains_regex_extensions': []}
JSON_V8R linter kept 0 files after applying linter filters:
[Filters] {'name': 'JSON_PRETTIER', 'filter_regex_include': None, 'filter_regex_exclude': None, 'files_sub_directory': None, 'lint_all_files': False, 'lint_all_other_linters_files': False, 'file_extensions': ['.json'], 'file_names_regex': [], 'file_names_not_ends_with': [], 'file_contains_regex': [], 'file_contains_regex_extensions': []}
JSON_PRETTIER linter kept 0 files after applying linter filters:
[Filters] {'name': 'KOTLIN_KTLINT', 'filter_regex_include': None, 'filter_regex_exclude': None, 'files_sub_directory': None, 'lint_all_files': False, 'lint_all_other_linters_files': False, 'file_extensions': ['.kt', '.kts'], 'file_names_regex': [], 'file_names_not_ends_with': [], 'file_contains_regex': [], 'file_contains_regex_extensions': []}
KOTLIN_KTLINT linter kept 0 files after applying linter filters:
[Filters] {'name': 'LATEX_CHKTEX', 'filter_regex_include': None, 'filter_regex_exclude': None, 'files_sub_directory': None, 'lint_all_files': False, 'lint_all_other_linters_files': False, 'file_extensions': ['.tex'], 'file_names_regex': [], 'file_names_not_ends_with': [], 'file_contains_regex': [], 'file_contains_regex_extensions': []}
LATEX_CHKTEX linter kept 0 files after applying linter filters:
[Filters] {'name': 'LUA_LUACHECK', 'filter_regex_include': None, 'filter_regex_exclude': None, 'files_sub_directory': None, 'lint_all_files': False, 'lint_all_other_linters_files': False, 'file_extensions': ['.lua'], 'file_names_regex': [], 'file_names_not_ends_with': [], 'file_contains_regex': [], 'file_contains_regex_extensions': []}
LUA_LUACHECK linter kept 0 files after applying linter filters:
[Filters] {'name': 'MAKEFILE_CHECKMAKE', 'filter_regex_include': None, 'filter_regex_exclude': None, 'files_sub_directory': None, 'lint_all_files': False, 'lint_all_other_linters_files': False, 'file_extensions': [], 'file_names_regex': ['Makefile'], 'file_names_not_ends_with': [], 'file_contains_regex': [], 'file_contains_regex_extensions': []}
MAKEFILE_CHECKMAKE linter kept 0 files after applying linter filters:
[Filters] {'name': 'MARKDOWN_MARKDOWNLINT', 'filter_regex_include': None, 'filter_regex_exclude': None, 'files_sub_directory': None, 'lint_all_files': False, 'lint_all_other_linters_files': False, 'file_extensions': ['.md'], 'file_names_regex': [], 'file_names_not_ends_with': [], 'file_contains_regex': [], 'file_contains_regex_extensions': []}
MARKDOWN_MARKDOWNLINT linter kept 1 files after applying linter filters:
- /tmp/lint/README.md
[Filters] {'name': 'MARKDOWN_MARKDOWN_LINK_CHECK', 'filter_regex_include': None, 'filter_regex_exclude': None, 'files_sub_directory': None, 'lint_all_files': False, 'lint_all_other_linters_files': False, 'file_extensions': ['.md'], 'file_names_regex': [], 'file_names_not_ends_with': [], 'file_contains_regex': [], 'file_contains_regex_extensions': []}
MARKDOWN_MARKDOWN_LINK_CHECK linter kept 1 files after applying linter filters:
- /tmp/lint/README.md
[Filters] {'name': 'MARKDOWN_MARKDOWN_TABLE_FORMATTER', 'filter_regex_include': None, 'filter_regex_exclude': None, 'files_sub_directory': None, 'lint_all_files': False, 'lint_all_other_linters_files': False, 'file_extensions': ['.md'], 'file_names_regex': [], 'file_names_not_ends_with': [], 'file_contains_regex': [], 'file_contains_regex_extensions': []}
MARKDOWN_MARKDOWN_TABLE_FORMATTER linter kept 1 files after applying linter filters:
- /tmp/lint/README.md
[Filters] {'name': 'OPENAPI_SPECTRAL', 'filter_regex_include': None, 'filter_regex_exclude': None, 'files_sub_directory': None, 'lint_all_files': False, 'lint_all_other_linters_files': False, 'file_extensions': ['.yml', '.yaml', '.json'], 'file_names_regex': [], 'file_names_not_ends_with': [], 'file_contains_regex': ['"openapi":', '"swagger":', 'openapi:', 'swagger:'], 'file_contains_regex_extensions': []}
OPENAPI_SPECTRAL linter kept 0 files after applying linter filters:
[Filters] {'name': 'PERL_PERLCRITIC', 'filter_regex_include': None, 'filter_regex_exclude': None, 'files_sub_directory': None, 'lint_all_files': False, 'lint_all_other_linters_files': False, 'file_extensions': ['.pl', '.pm', '.t', ''], 'file_names_regex': [], 'file_names_not_ends_with': [], 'file_contains_regex': ['#!/usr/bin/env perl', '#!/usr/bin/perl'], 'file_contains_regex_extensions': ['']}
PERL_PERLCRITIC linter kept 0 files after applying linter filters:
[Filters] {'name': 'PHP_PHPCS', 'filter_regex_include': None, 'filter_regex_exclude': None, 'files_sub_directory': None, 'lint_all_files': False, 'lint_all_other_linters_files': False, 'file_extensions': ['.php'], 'file_names_regex': [], 'file_names_not_ends_with': [], 'file_contains_regex': [], 'file_contains_regex_extensions': []}
PHP_PHPCS linter kept 0 files after applying linter filters:
[Filters] {'name': 'PHP_PHPSTAN', 'filter_regex_include': None, 'filter_regex_exclude': None, 'files_sub_directory': None, 'lint_all_files': False, 'lint_all_other_linters_files': False, 'file_extensions': ['.php'], 'file_names_regex': [], 'file_names_not_ends_with': [], 'file_contains_regex': [], 'file_contains_regex_extensions': []}
PHP_PHPSTAN linter kept 0 files after applying linter filters:
[Filters] {'name': 'PHP_PSALM', 'filter_regex_include': None, 'filter_regex_exclude': None, 'files_sub_directory': None, 'lint_all_files': False, 'lint_all_other_linters_files': False, 'file_extensions': ['.php'], 'file_names_regex': [], 'file_names_not_ends_with': [], 'file_contains_regex': [], 'file_contains_regex_extensions': []}
PHP_PSALM linter kept 0 files after applying linter filters:
[Filters] {'name': 'PHP_PHPLINT', 'filter_regex_include': None, 'filter_regex_exclude': None, 'files_sub_directory': None, 'lint_all_files': False, 'lint_all_other_linters_files': False, 'file_extensions': ['.php'], 'file_names_regex': [], 'file_names_not_ends_with': [], 'file_contains_regex': [], 'file_contains_regex_extensions': []}
PHP_PHPLINT linter kept 0 files after applying linter filters:
[Filters] {'name': 'POWERSHELL_POWERSHELL', 'filter_regex_include': None, 'filter_regex_exclude': None, 'files_sub_directory': None, 'lint_all_files': False, 'lint_all_other_linters_files': False, 'file_extensions': ['.ps1', '.psm1', '.psd1', '.ps1xml', '.pssc', '.psrc', '.cdxml'], 'file_names_regex': [], 'file_names_not_ends_with': [], 'file_contains_regex': [], 'file_contains_regex_extensions': []}
POWERSHELL_POWERSHELL linter kept 0 files after applying linter filters:
[Filters] {'name': 'POWERSHELL_POWERSHELL_FORMATTER', 'filter_regex_include': None, 'filter_regex_exclude': None, 'files_sub_directory': None, 'lint_all_files': False, 'lint_all_other_linters_files': False, 'file_extensions': ['.ps1', '.psm1', '.psd1', '.ps1xml', '.pssc', '.psrc', '.cdxml'], 'file_names_regex': [], 'file_names_not_ends_with': [], 'file_contains_regex': [], 'file_contains_regex_extensions': []}
POWERSHELL_POWERSHELL_FORMATTER linter kept 0 files after applying linter filters:
[Filters] {'name': 'PROTOBUF_PROTOLINT', 'filter_regex_include': None, 'filter_regex_exclude': None, 'files_sub_directory': None, 'lint_all_files': False, 'lint_all_other_linters_files': False, 'file_extensions': ['.proto'], 'file_names_regex': [], 'file_names_not_ends_with': [], 'file_contains_regex': [], 'file_contains_regex_extensions': []}
PROTOBUF_PROTOLINT linter kept 0 files after applying linter filters:
[Filters] {'name': 'PUPPET_PUPPET_LINT', 'filter_regex_include': None, 'filter_regex_exclude': None, 'files_sub_directory': None, 'lint_all_files': False, 'lint_all_other_linters_files': False, 'file_extensions': ['.pp'], 'file_names_regex': [], 'file_names_not_ends_with': [], 'file_contains_regex': [], 'file_contains_regex_extensions': []}
PUPPET_PUPPET_LINT linter kept 0 files after applying linter filters:
[Filters] {'name': 'R_LINTR', 'filter_regex_include': None, 'filter_regex_exclude': None, 'files_sub_directory': None, 'lint_all_files': False, 'lint_all_other_linters_files': False, 'file_extensions': ['.r', '.R', '.Rmd', '.RMD'], 'file_names_regex': [], 'file_names_not_ends_with': [], 'file_contains_regex': [], 'file_contains_regex_extensions': []}
R_LINTR linter kept 0 files after applying linter filters:
[Filters] {'name': 'RAKU_RAKU', 'filter_regex_include': None, 'filter_regex_exclude': None, 'files_sub_directory': None, 'lint_all_files': False, 'lint_all_other_linters_files': False, 'file_extensions': ['.raku', '.rakumod', '.rakutest', '.pm6', '.pl6', '.p6'], 'file_names_regex': [], 'file_names_not_ends_with': [], 'file_contains_regex': [], 'file_contains_regex_extensions': []}
RAKU_RAKU linter kept 0 files after applying linter filters:
[Filters] {'name': 'REPOSITORY_CHECKOV', 'filter_regex_include': None, 'filter_regex_exclude': None, 'files_sub_directory': None, 'lint_all_files': True, 'lint_all_other_linters_files': False, 'file_extensions': [], 'file_names_regex': [], 'file_names_not_ends_with': [], 'file_contains_regex': [], 'file_contains_regex_extensions': []}
REPOSITORY_CHECKOV linter kept 0 files after applying linter filters:
[Filters] {'name': 'REPOSITORY_DEVSKIM', 'filter_regex_include': None, 'filter_regex_exclude': None, 'files_sub_directory': None, 'lint_all_files': True, 'lint_all_other_linters_files': False, 'file_extensions': [], 'file_names_regex': [], 'file_names_not_ends_with': [], 'file_contains_regex': [], 'file_contains_regex_extensions': []}
REPOSITORY_DEVSKIM linter kept 0 files after applying linter filters:
[Filters] {'name': 'REPOSITORY_DUSTILOCK', 'filter_regex_include': None, 'filter_regex_exclude': None, 'files_sub_directory': None, 'lint_all_files': True, 'lint_all_other_linters_files': False, 'file_extensions': [], 'file_names_regex': [], 'file_names_not_ends_with': [], 'file_contains_regex': [], 'file_contains_regex_extensions': []}
REPOSITORY_DUSTILOCK linter kept 0 files after applying linter filters:
[Filters] {'name': 'REPOSITORY_GIT_DIFF', 'filter_regex_include': None, 'filter_regex_exclude': None, 'files_sub_directory': None, 'lint_all_files': True, 'lint_all_other_linters_files': False, 'file_extensions': [], 'file_names_regex': [], 'file_names_not_ends_with': [], 'file_contains_regex': [], 'file_contains_regex_extensions': []}
REPOSITORY_GIT_DIFF linter kept 0 files after applying linter filters:
[Filters] {'name': 'REPOSITORY_GITLEAKS', 'filter_regex_include': None, 'filter_regex_exclude': None, 'files_sub_directory': None, 'lint_all_files': True, 'lint_all_other_linters_files': False, 'file_extensions': [], 'file_names_regex': [], 'file_names_not_ends_with': [], 'file_contains_regex': [], 'file_contains_regex_extensions': []}
REPOSITORY_GITLEAKS linter kept 0 files after applying linter filters:
[Filters] {'name': 'REPOSITORY_SECRETLINT', 'filter_regex_include': None, 'filter_regex_exclude': None, 'files_sub_directory': None, 'lint_all_files': True, 'lint_all_other_linters_files': False, 'file_extensions': [], 'file_names_regex': [], 'file_names_not_ends_with': [], 'file_contains_regex': [], 'file_contains_regex_extensions': []}
REPOSITORY_SECRETLINT linter kept 0 files after applying linter filters:
[Filters] {'name': 'REPOSITORY_SYFT', 'filter_regex_include': None, 'filter_regex_exclude': None, 'files_sub_directory': None, 'lint_all_files': True, 'lint_all_other_linters_files': False, 'file_extensions': [], 'file_names_regex': [], 'file_names_not_ends_with': [], 'file_contains_regex': [], 'file_contains_regex_extensions': []}
REPOSITORY_SYFT linter kept 0 files after applying linter filters:
[Filters] {'name': 'REPOSITORY_TRIVY', 'filter_regex_include': None, 'filter_regex_exclude': None, 'files_sub_directory': None, 'lint_all_files': True, 'lint_all_other_linters_files': False, 'file_extensions': [], 'file_names_regex': [], 'file_names_not_ends_with': [], 'file_contains_regex': [], 'file_contains_regex_extensions': []}
REPOSITORY_TRIVY linter kept 0 files after applying linter filters:
[Filters] {'name': 'RST_RST_LINT', 'filter_regex_include': None, 'filter_regex_exclude': None, 'files_sub_directory': None, 'lint_all_files': False, 'lint_all_other_linters_files': False, 'file_extensions': ['.rst'], 'file_names_regex': [], 'file_names_not_ends_with': [], 'file_contains_regex': [], 'file_contains_regex_extensions': []}
RST_RST_LINT linter kept 0 files after applying linter filters:
[Filters] {'name': 'RST_RSTCHECK', 'filter_regex_include': None, 'filter_regex_exclude': None, 'files_sub_directory': None, 'lint_all_files': False, 'lint_all_other_linters_files': False, 'file_extensions': ['.rst'], 'file_names_regex': [], 'file_names_not_ends_with': [], 'file_contains_regex': [], 'file_contains_regex_extensions': []}
RST_RSTCHECK linter kept 0 files after applying linter filters:
[Filters] {'name': 'RST_RSTFMT', 'filter_regex_include': None, 'filter_regex_exclude': None, 'files_sub_directory': None, 'lint_all_files': False, 'lint_all_other_linters_files': False, 'file_extensions': ['.rst'], 'file_names_regex': [], 'file_names_not_ends_with': [], 'file_contains_regex': [], 'file_contains_regex_extensions': []}
RST_RSTFMT linter kept 0 files after applying linter filters:
[Filters] {'name': 'RUBY_RUBOCOP', 'filter_regex_include': None, 'filter_regex_exclude': None, 'files_sub_directory': None, 'lint_all_files': False, 'lint_all_other_linters_files': False, 'file_extensions': ['.rb'], 'file_names_regex': [], 'file_names_not_ends_with': [], 'file_contains_regex': [], 'file_contains_regex_extensions': []}
RUBY_RUBOCOP linter kept 0 files after applying linter filters:
[Filters] {'name': 'RUST_CLIPPY', 'filter_regex_include': None, 'filter_regex_exclude': None, 'files_sub_directory': None, 'lint_all_files': False, 'lint_all_other_linters_files': False, 'file_extensions': ['.rs'], 'file_names_regex': [], 'file_names_not_ends_with': [], 'file_contains_regex': [], 'file_contains_regex_extensions': []}
RUST_CLIPPY linter kept 0 files after applying linter filters:
[Filters] {'name': 'SCALA_SCALAFIX', 'filter_regex_include': None, 'filter_regex_exclude': None, 'files_sub_directory': None, 'lint_all_files': False, 'lint_all_other_linters_files': False, 'file_extensions': ['.scala'], 'file_names_regex': [], 'file_names_not_ends_with': [], 'file_contains_regex': [], 'file_contains_regex_extensions': []}
SCALA_SCALAFIX linter kept 0 files after applying linter filters:
[Filters] {'name': 'SNAKEMAKE_LINT', 'filter_regex_include': None, 'filter_regex_exclude': None, 'files_sub_directory': None, 'lint_all_files': False, 'lint_all_other_linters_files': False, 'file_extensions': ['.smk'], 'file_names_regex': ['Snakefile'], 'file_names_not_ends_with': [], 'file_contains_regex': [], 'file_contains_regex_extensions': []}
SNAKEMAKE_LINT linter kept 0 files after applying linter filters:
[Filters] {'name': 'SNAKEMAKE_SNAKEFMT', 'filter_regex_include': None, 'filter_regex_exclude': None, 'files_sub_directory': None, 'lint_all_files': False, 'lint_all_other_linters_files': False, 'file_extensions': ['.smk'], 'file_names_regex': ['Snakefile'], 'file_names_not_ends_with': [], 'file_contains_regex': [], 'file_contains_regex_extensions': []}
SNAKEMAKE_SNAKEFMT linter kept 0 files after applying linter filters:
[Filters] {'name': 'SPELL_MISSPELL', 'filter_regex_include': None, 'filter_regex_exclude': None, 'files_sub_directory': None, 'lint_all_files': False, 'lint_all_other_linters_files': True, 'file_extensions': [], 'file_names_regex': [], 'file_names_not_ends_with': [], 'file_contains_regex': [], 'file_contains_regex_extensions': []}
SPELL_MISSPELL linter kept 1 files after applying linter filters:
- /tmp/lint/README.md
[Filters] {'name': 'SPELL_CSPELL', 'filter_regex_include': None, 'filter_regex_exclude': None, 'files_sub_directory': None, 'lint_all_files': False, 'lint_all_other_linters_files': True, 'file_extensions': [], 'file_names_regex': [], 'file_names_not_ends_with': [], 'file_contains_regex': [], 'file_contains_regex_extensions': []}
SPELL_CSPELL linter kept 1 files after applying linter filters:
- /tmp/lint/README.md
[Filters] {'name': 'SQL_SQL_LINT', 'filter_regex_include': None, 'filter_regex_exclude': None, 'files_sub_directory': None, 'lint_all_files': False, 'lint_all_other_linters_files': False, 'file_extensions': ['.sql'], 'file_names_regex': [], 'file_names_not_ends_with': [], 'file_contains_regex': [], 'file_contains_regex_extensions': []}
SQL_SQL_LINT linter kept 0 files after applying linter filters:
[Filters] {'name': 'SQL_TSQLLINT', 'filter_regex_include': None, 'filter_regex_exclude': None, 'files_sub_directory': None, 'lint_all_files': False, 'lint_all_other_linters_files': False, 'file_extensions': ['.sql'], 'file_names_regex': [], 'file_names_not_ends_with': [], 'file_contains_regex': [], 'file_contains_regex_extensions': []}
SQL_TSQLLINT linter kept 0 files after applying linter filters:
[Filters] {'name': 'TEKTON_TEKTON_LINT', 'filter_regex_include': None, 'filter_regex_exclude': None, 'files_sub_directory': None, 'lint_all_files': False, 'lint_all_other_linters_files': False, 'file_extensions': ['.yml', '.yaml'], 'file_names_regex': [], 'file_names_not_ends_with': [], 'file_contains_regex': ['apiVersion: tekton'], 'file_contains_regex_extensions': []}
TEKTON_TEKTON_LINT linter kept 0 files after applying linter filters:
[Filters] {'name': 'TERRAFORM_TFLINT', 'filter_regex_include': None, 'filter_regex_exclude': None, 'files_sub_directory': None, 'lint_all_files': False, 'lint_all_other_linters_files': False, 'file_extensions': ['.tf'], 'file_names_regex': [], 'file_names_not_ends_with': [], 'file_contains_regex': [], 'file_contains_regex_extensions': []}
TERRAFORM_TFLINT linter kept 0 files after applying linter filters:
[Filters] {'name': 'TERRAFORM_TERRASCAN', 'filter_regex_include': None, 'filter_regex_exclude': None, 'files_sub_directory': None, 'lint_all_files': False, 'lint_all_other_linters_files': False, 'file_extensions': ['.tf'], 'file_names_regex': [], 'file_names_not_ends_with': [], 'file_contains_regex': [], 'file_contains_regex_extensions': []}
TERRAFORM_TERRASCAN linter kept 0 files after applying linter filters:
[Filters] {'name': 'TERRAFORM_TERRAGRUNT', 'filter_regex_include': None, 'filter_regex_exclude': None, 'files_sub_directory': None, 'lint_all_files': False, 'lint_all_other_linters_files': False, 'file_extensions': ['.hcl'], 'file_names_regex': [], 'file_names_not_ends_with': ['.tflint.hcl'], 'file_contains_regex': [], 'file_contains_regex_extensions': []}
TERRAFORM_TERRAGRUNT linter kept 0 files after applying linter filters:
[Filters] {'name': 'TERRAFORM_TERRAFORM_FMT', 'filter_regex_include': None, 'filter_regex_exclude': None, 'files_sub_directory': None, 'lint_all_files': False, 'lint_all_other_linters_files': False, 'file_extensions': ['.tf'], 'file_names_regex': [], 'file_names_not_ends_with': [], 'file_contains_regex': [], 'file_contains_regex_extensions': []}
TERRAFORM_TERRAFORM_FMT linter kept 0 files after applying linter filters:
[Filters] {'name': 'TERRAFORM_CHECKOV', 'filter_regex_include': None, 'filter_regex_exclude': None, 'files_sub_directory': None, 'lint_all_files': False, 'lint_all_other_linters_files': False, 'file_extensions': ['.tf'], 'file_names_regex': [], 'file_names_not_ends_with': [], 'file_contains_regex': [], 'file_contains_regex_extensions': []}
TERRAFORM_CHECKOV linter kept 0 files after applying linter filters:
[Filters] {'name': 'TERRAFORM_KICS', 'filter_regex_include': None, 'filter_regex_exclude': None, 'files_sub_directory': None, 'lint_all_files': False, 'lint_all_other_linters_files': False, 'file_extensions': ['.tf'], 'file_names_regex': [], 'file_names_not_ends_with': [], 'file_contains_regex': [], 'file_contains_regex_extensions': []}
TERRAFORM_KICS linter kept 0 files after applying linter filters:
[Filters] {'name': 'TYPESCRIPT_STANDARD', 'filter_regex_include': None, 'filter_regex_exclude': None, 'files_sub_directory': None, 'lint_all_files': False, 'lint_all_other_linters_files': False, 'file_extensions': ['.ts'], 'file_names_regex': [], 'file_names_not_ends_with': [], 'file_contains_regex': [], 'file_contains_regex_extensions': []}
TYPESCRIPT_STANDARD linter kept 0 files after applying linter filters:
[Filters] {'name': 'VBDOTNET_DOTNET_FORMAT', 'filter_regex_include': None, 'filter_regex_exclude': None, 'files_sub_directory': None, 'lint_all_files': False, 'lint_all_other_linters_files': False, 'file_extensions': ['.vb'], 'file_names_regex': [], 'file_names_not_ends_with': [], 'file_contains_regex': [], 'file_contains_regex_extensions': []}
VBDOTNET_DOTNET_FORMAT linter kept 0 files after applying linter filters:
[Filters] {'name': 'XML_XMLLINT', 'filter_regex_include': None, 'filter_regex_exclude': None, 'files_sub_directory': None, 'lint_all_files': False, 'lint_all_other_linters_files': False, 'file_extensions': ['.xml'], 'file_names_regex': [], 'file_names_not_ends_with': [], 'file_contains_regex': [], 'file_contains_regex_extensions': []}
XML_XMLLINT linter kept 0 files after applying linter filters:
[Filters] {'name': 'YAML_PRETTIER', 'filter_regex_include': None, 'filter_regex_exclude': None, 'files_sub_directory': None, 'lint_all_files': False, 'lint_all_other_linters_files': False, 'file_extensions': ['.yml', '.yaml'], 'file_names_regex': [], 'file_names_not_ends_with': [], 'file_contains_regex': [], 'file_contains_regex_extensions': []}
YAML_PRETTIER linter kept 0 files after applying linter filters:
[Filters] {'name': 'YAML_YAMLLINT', 'filter_regex_include': None, 'filter_regex_exclude': None, 'files_sub_directory': None, 'lint_all_files': False, 'lint_all_other_linters_files': False, 'file_extensions': ['.yml', '.yaml'], 'file_names_regex': [], 'file_names_not_ends_with': [], 'file_contains_regex': [], 'file_contains_regex_extensions': []}
YAML_YAMLLINT linter kept 0 files after applying linter filters:
[Filters] {'name': 'YAML_V8R', 'filter_regex_include': None, 'filter_regex_exclude': None, 'files_sub_directory': None, 'lint_all_files': False, 'lint_all_other_linters_files': False, 'file_extensions': ['.yml', '.yaml'], 'file_names_regex': [], 'file_names_not_ends_with': [], 'file_contains_regex': [], 'file_contains_regex_extensions': []}
YAML_V8R linter kept 0 files after applying linter filters:

+----MATCHING LINTERS-------------------+----------+----------------+------------+
| Descriptor | Linter                   | Criteria | Matching files | Format/Fix |
+------------+--------------------------+----------+----------------+------------+
| COPYPASTE  | jscpd                    |          | project        | no         |
| MARKDOWN   | markdownlint             | .md      | 1              | no         |
| MARKDOWN   | markdown-link-check      | .md      | 1              | no         |
| MARKDOWN   | markdown-table-formatter | .md      | 1              | no         |
| REPOSITORY | checkov                  |          | project        | no         |
| REPOSITORY | devskim                  |          | project        | no         |
| REPOSITORY | dustilock                |          | project        | no         |
| REPOSITORY | git_diff                 |          | project        | no         |
| REPOSITORY | gitleaks                 |          | project        | no         |
| REPOSITORY | secretlint               |          | project        | no         |
| REPOSITORY | syft                     |          | project        | no         |
| REPOSITORY | trivy                    |          | project        | no         |
| SPELL      | misspell                 |          | 1              | no         |
| SPELL      | cspell                   |          | 1              | no         |
+------------+--------------------------+----------+----------------+------------+

COPYPASTE: ['jscpd']
MARKDOWN: ['markdown-link-check']
REPOSITORY: ['gitleaks']
REPOSITORY: ['checkov']
REPOSITORY: ['trivy']
MARKDOWN: ['markdownlint']
MARKDOWN: ['markdown-table-formatter']
REPOSITORY: ['secretlint']
SPELL: ['misspell']
SPELL: ['cspell']
REPOSITORY: ['git_diff']
[jscpd] command: ['jscpd', '--reporters', 'console,html', '--output', '/tmp/lint/megalinter-reports/copy-paste/', '--exitCode', '1', '-c', '/action/lib/.automation/.jscpd.json', '.']
[markdown-link-check] command: ['markdown-link-check', '-c', '/action/lib/.automation/.markdown-link-check.json', '/tmp/lint/README.md']
[jscpd] CWD: /tmp/lint
[markdown-link-check] CWD: /
[checkov] command: ['checkov', '--directory', '.', '--config-file', '/action/lib/.automation/.checkov.yml']
[gitleaks] command: ['gitleaks', 'detect', '-c', '/action/lib/.automation/.gitleaks.toml', '--verbose', '--source', '.']
[checkov] CWD: /tmp/lint
[gitleaks] CWD: /tmp/lint
[gitleaks] result: 0
    ○
    │╲
    │ ○
    ○ ░
    ░    gitleaks

8:08PM INF 23 commits scanned.
8:08PM INF scan completed in 447ms
8:08PM INF no leaks found

Linter version command: ['/usr/bin/gitleaks', 'version']
Linter version result: 0 v8.16.0

// ...skipping passed checks ...

❌ Linted [REPOSITORY] files with [secretlint]: Found 1 error(s) - (1.94s)
- Using [secretlint v6.2.3] https://megalinter.io/7411316caa2897b3839af1834e5fd8ebd5b7b81e/descriptors/repository_secretlint
- MegaLinter key: [REPOSITORY_SECRETLINT]
- Rules config: [.secretlintrc.json]
- Ignore file: [.secretlintignore]
--Error detail:
assertion failed [result.value != EEXIST]: VmTracker attempted to allocate existing mapping
(ThreadContextVm.cpp:47 mmap)

[Text Reporter] Generated TEXT report: /tmp/lint/megalinter-reports/linters_logs/ERROR-REPOSITORY_SECRETLINT.log
[git_diff] command: ['git', 'diff', '--check']
[git_diff] CWD: /tmp/lint
[git_diff] result: 0
Linter version command: ['/usr/bin/git', '--version']
Linter version result: 0 git version 2.38.4

// ...skipping passed checks ...

+----SUMMARY----+--------------------------+---------------+-------+-------+--------+--------------+
| Descriptor    | Linter                   | Mode          | Files | Fixed | Errors | Elapsed time |
+---------------+--------------------------+---------------+-------+-------+--------+--------------+
| ✅ COPYPASTE  | jscpd                    | project       |   n/a |       |      0 |        1.54s |
| ✅ MARKDOWN   | markdownlint             | list_of_files |     1 |       |      0 |        1.03s |
| ✅ MARKDOWN   | markdown-link-check      | list_of_files |     1 |       |      0 |        1.45s |
| ✅ MARKDOWN   | markdown-table-formatter | list_of_files |     1 |       |      0 |        1.03s |
| ✅ REPOSITORY | checkov                  | project       |   n/a |       |      0 |        6.81s |
| ✅ REPOSITORY | gitleaks                 | project       |   n/a |       |      0 |        0.59s |
| ✅ REPOSITORY | git_diff                 | project       |   n/a |       |      0 |        0.03s |
| ❌ REPOSITORY | secretlint               | project       |   n/a |       |      1 |        1.94s |
| ✅ REPOSITORY | trivy                    | project       |   n/a |       |      0 |        6.19s |
| ✅ SPELL      | cspell                   | list_of_files |     2 |       |      0 |        3.42s |
| ✅ SPELL      | misspell                 | list_of_files |     1 |       |      0 |        0.09s |
+---------------+--------------------------+---------------+-------+-------+--------+--------------+

[GitHub Comment Reporter] No GitHub Token has been found, so skipped post of PR comment
[Gitlab Comment Reporter] No Gitlab Token found, so skipped post of MR comment
Start updated Sources Reporter
Popen(['git', 'diff', '--abbrev=40', '--full-index', '-M', '--raw', '-z', '--no-color'], cwd=/tmp/lint, universal_newlines=False, shell=None, istream=None)

Note this has sometimes been cspell, other times secretlint, other times other things - there's no rhyme or reason I can identify.

Kurt-von-Laven commented 1 year ago

You can either git fetch origin HEAD:refs/remotes/origin/HEAD (or likely simply git fetch or git fetch --all) manually before running MegaLinter or set VALIDATE_ALL_CODEBASE: true to eliminate the need to fetch. I definitely understand the lack of appeal of developing in a VM. These days a cloud-based development environment might be more popular, but I realize how suboptimal it is to be unable to run MegaLinter locally in your normal dev environment. I wonder whether you observe any difference in the frequency or nature of symptoms with PARALLEL: false since the error message gives the impression that the issue is memory related. I don't note anything particularly insightful in the debug logs, but let's keep using that --debug flag just in case.

echoix commented 1 year ago

I might be really off, but unexplained, transient symptoms like this, scattered everywhere, and many different tools, plus the fact that you seem to only find it on megalinter makes me think about multi-core/multi-thread problems, or maybe weird race-conditions. We heard about this with php because of an issue with the multiprocessing-logging package, but it might be something similar. Multiprocessing in Python isn't always straightforward with sometimes many hoops to pickle the objects to run a new process, and the M1-M2/Docker/Rosetta/(Qemu too?) combo isn't perfect neither with a couple Google searches.

So what I might suggest, is to try the same workaround that was used for the PHP known issue (I can't find it now, we could follow up tomorrow). But either way, the workaround was to disable the parallel processing of megalinter in the configuration. Yes it'll be longer, but at least it will be in the environment you hope to use. I'd like to see if you observe the same failure rate with this disabled.

echoix commented 1 year ago

Oh, sorry @Kurt-von-Laven, I didn't finish processing the email notifications, and didn't read the second part of your answer, that goes on with the PARALLEL: false. I skimmed through and only saw that it was addressing the Git errors

andrewvaughan commented 1 year ago

After doing some more research last night, I think this might be an underlying issue with Docker? Referring back to the initial post where I put this issue:

https://github.com/docker/roadmap/issues/384

I'm thinking there are some underlying issues in the way that Docker is managing elements of containers on the new architectures causing issues. I'm not sure there's any way to mitigate this from the megalinter project, unless there's something in the way that Megalinter builds their images or calls the containers (e.g., making sure the --platform is set each time... but from the logs it seems like it is) that can help avoid this.

github-actions[bot] commented 1 year ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed in 14 days if no further activity occurs. Thank you for your contributions.

If you think this issue should stay open, please remove the O: stale 🤖 label or comment on the issue.