Closed llaville closed 2 years ago
When I read in log
MegaLinter flavor [php] does not contain linters PHP_PHPLINT.
As they are not available in this docker image, they will not be processed
To solve this problem, please either:
- use default flavor megalinter/megalinter
- add ignored linters in DISABLE or DISABLE_LINTERS variables in your .mega-linter.yml config file located in your root directory
- ignore this message by setting config variable FLAVOR_SUGGESTIONS to false
I've tried to add both
FAIL_IF_MISSING_LINTER_IN_FLAVOR: false
FLAVOR_SUGGESTIONS: false
But nothing happend. Always the warning message is displayed
https://github.com/megalinter/megalinter/blob/v5.2.0/megalinter/flavor_factory.py#L80-L89
Got something when I rebuild it locally by using default flavor megalinter/megalinter
You can test locally... if you use a MegaLinter fork and put your descriptor in the middle of other descriptors :) Then bash build.sh will create test classes, that you can run with a right click in VsCode with Python extension (+ Test Explorer extension) And once it works, you do not publish the branch, but just copy paste the descriptor file in your own repo ^^
https://github.com/overtrue/phplint 750+ stars, backed by Jetbrains... could be not a plugin but an embedded linter :)
Agree, but before I wanted to test it on plugin condition
@nvuillam is it ok for you if I used the docker image https://github.com/llaville/phplint/blob/megalinter-plugin/mega-linter-plugin-phplint/phplint.megalinter-descriptor.yml#L15-L16
rather than install from source like I did in previous attempt https://github.com/llaville/phplint/blob/c0fdf953712a334f455fadec1583a59abe28162f/mega-linter-plugin-phplint/phplint.megalinter-descriptor.yml#L21-L31
Usually i use installer to have better runtime perfs, but using the docker image makes smaller mega linter docker images... so both work :)
If you use docker image, please can you use "latest" tag, so MegaLinter daily updater will detect new versions ?
Another option can also be to copy binaries from the docker image in megalinter dockerfile, if it is alpine-based it can work too :)
If you use docker image, please can you use "latest" tag, so MegaLinter daily updater will detect new versions ?
In this case, it'S not possible. phplint latest version is equal to branch 8.0 that work only with php 8. And default php built-in linter is 7.4
Understood :)
Final results get from plugin https://github.com/llaville/phplint/blob/96e956be8f857b5aa921052b654761416ceb3a32/mega-linter-plugin-phplint/phplint.megalinter-descriptor.yml
When there are less php files phplint
into Mega-Linter may be worst than the default PHP built-in 7.4 version
But when there are a lot of files to scan -- i.e: https://github.com/llaville/php-compatinfo-db, here are results I have
Without cache: specify in .mega-linter.yml
config file
PHP_PHPLINT_ARGUMENTS: ["--no-cache"]
With usage of phplint cache feature (default behavior)
BTW, I've noticed that docker run
command used in Mega-Linter https://github.com/megalinter/megalinter/blob/v5.2.0/megalinter/Linter.py#L769 keep containers alive. I suggest to add the --rm
option. Are you agree ?
Response about report title was given, so I'll close this question
Good catch for the docker run keeping containers of linters ! As I am (also) not a docker expert, when running MegaLinter locally several times , will the linter docker container be reused at the second run or not ?
Yes until it's not removed it stay forever and grow disk space at each run !
Great, I'll be glad to accept the PR or do it someday :)
Will propose a PR ASAP.
BTW, if you have time, I'll appreciate if you can check the test failures I got from CI about phplint
. A new look is welcome
I'm not fan of actual Plugin System for the main reason : it can not be testable locally !
Now my question is related to my first attempt to define a plugin for PHP language. Script is available at https://github.com/llaville/phplint/blob/megalinter-plugin/mega-linter-plugin-phplint/phplint.megalinter-descriptor.yml
I've activated it locally on my project https://github.com/llaville/graph-uml
On https://github.com/llaville/graph-uml/blob/master/.mega-linter.yml, I've added the line
And try it locally with following command :
sudo rm -rf report/ && time docker run -v $(pwd):/tmp/lint -e LOG_LEVEL=DEBUG megalinter/megalinter-php:v5
I've not results expected.
Plugin subsystem install it via Composer correctly Filter subsystem detect it
Run linter subsystem did not work as I'm expected
What did I missed ? Help is welcome !
mega linter v5 log
``` ---------------------------------------------------------------------------------------------------- -------------------------------------------- MegaLinter -------------------------------------------- ---------------------------------------------------------------------------------------------------- - Image Creation Date: 2021-11-15T15:24:49Z - Image Revision: 62bbbe35 - Image Version: v5 ---------------------------------------------------------------------------------------------------- The MegaLinter documentation can be found at: - https://megalinter.github.io ---------------------------------------------------------------------------------------------------- GITHUB_REPOSITORY: GITHUB_REF: GITHUB_RUN_ID: BUILD_DATE=2021-11-15T15:24:49Z BUILD_REVISION=62bbbe35 BUILD_VERSION=v5 CONFIG_REPORTER=False CONSOLE_REPORTER=True DISABLE_LINTERS=['MARKDOWN_MARKDOWN_TABLE_FORMATTER', 'MARKDOWN_MARKDOWN_LINK_CHECK', 'YAML_V8R'] EDITORCONFIG_EDITORCONFIG_CHECKER_CLI_LINT_MODE=project ENABLE=['ACTION', 'EDITORCONFIG', 'MARKDOWN', 'PHP', 'YAML'] EXCLUDED_DIRECTORIES=['.git'] GO111MODULE=on GOPATH=/go GOROOT=/usr/lib/go GPG_KEY=E3FF2839C048B25C084DEBE9B26995E310250568 HOME=/root HOSTNAME=6b8d14e6c1ef IGNORE_GITIGNORED_FILES=True JSON_PRETTIER_FILTER_REGEX_EXCLUDE=(composer.json) LANG=C.UTF-8 LOG_FILE=mega-linter-v5.log LOG_LEVEL=DEBUG MARKDOWN_MARKDOWNLINT_CONFIG_FILE=.markdown-lint.json MARKDOWN_MARKDOWNLINT_FILTER_REGEX_EXCLUDE=(\.github) MEGALINTER_FLAVOR=php PATH=/node_modules/.bin:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib/go/bin:/go/bin PHP_PHPCS_ARGUMENTS=-n PHP_PHPCS_CLI_LINT_MODE=project PHP_PHPCS_CONFIG_FILE=.phpcs.xml.dist PHP_PHPSTAN_CLI_LINT_MODE=project PHP_PHPSTAN_CONFIG_FILE=phpstan.neon.dist PHP_PSALM_CLI_LINT_MODE=project PLUGINS=['https://raw.githubusercontent.com/llaville/phplint/megalinter-plugin/mega-linter-plugin-phplint/phplint.megalinter-descriptor.yml'] PRINT_ALL_FILES=False PRINT_ALPACA=False PWD=/ PYTHONPATH=:/ PYTHON_GET_PIP_SHA256=c518250e91a70d7b20cceb15272209a4ded2a0c263ae5776f129e0d9b5674309 PYTHON_GET_PIP_URL=https://github.com/pypa/get-pip/raw/3cb8888cc2869620f57d5d2da64da38f516078c7/public/get-pip.py PYTHON_PIP_VERSION=21.2.4 PYTHON_SETUPTOOLS_VERSION=57.5.0 PYTHON_VERSION=3.9.7 SHLVL=1 SHOW_ELAPSED_TIME=True UPDATED_SOURCES_REPORTER=False YAML_PRETTIER_FILTER_REGEX_EXCLUDE=(\.github) YAML_YAMLLINT_FILTER_REGEX_EXCLUDE=(\.github) _=/usr/local/bin/python ---------------------------------------------------------------------------------------------------- Starting new HTTPS connection (1): raw.githubusercontent.com:443 https://raw.githubusercontent.com:443 "GET /llaville/phplint/megalinter-plugin/mega-linter-plugin-phplint/phplint.megalinter-descriptor.yml HTTP/1.1" 200 480 [Plugins] Loaded plugin descriptor /megalinter-descriptors/phplint.megalinter-descriptor.yml from https://raw.githubusercontent.com/llaville/phplint/megalinter-plugin/mega-linter-plugin-phplint/phplint.megalinter-descriptor.yml [Plugins] Install command: set -eux && curl -Ls https://github.com/composer/composer/releases/latest/download/composer.phar -o /usr/local/bin/composer && chmod +x /usr/local/bin/composer [Plugins] Result (0): + curl -Ls https://github.com/composer/composer/releases/latest/download/composer.phar -o /usr/local/bin/composer + chmod +x /usr/local/bin/composer [Plugins] Install command: set -eux && git clone https://github.com/overtrue/phplint.git /usr/local/src/phplint && cd /usr/local/src/phplint && git checkout 7.4 && composer install --no-dev --prefer-dist --no-interaction --no-scripts && ln -sf /usr/local/src/phplint/bin/phplint /usr/local/bin/phplint [Plugins] Result (0): + git clone https://github.com/overtrue/phplint.git /usr/local/src/phplint Cloning into '/usr/local/src/phplint'... + cd /usr/local/src/phplint + git checkout 7.4 Branch '7.4' set up to track remote branch '7.4' from 'origin'. Switched to a new branch '7.4' + composer install --no-dev --prefer-dist --no-interaction --no-scripts No composer.lock file present. Updating dependencies to latest instead of installing from lock file. See https://getcomposer.org/install for more information. Loading composer repositories with package information Updating dependencies Lock file operations: 34 installs, 0 updates, 0 removals - Locking brainmaestro/composer-git-hooks (v2.8.5) - Locking composer/semver (3.2.6) - Locking composer/xdebug-handler (2.0.2) - Locking doctrine/annotations (1.13.2) - Locking doctrine/lexer (1.2.1) - Locking friendsofphp/php-cs-fixer (v2.19.3) - Locking jakub-onderka/php-console-color (v0.2) - Locking jakub-onderka/php-console-highlighter (v0.4) - Locking n98/junit-xml (1.1.0) - Locking php-cs-fixer/diff (v1.3.1) - Locking psr/cache (1.0.1) - Locking psr/container (1.1.2) - Locking psr/event-dispatcher (1.0.0) - Locking psr/log (1.1.4) - Locking symfony/console (v5.3.11) - Locking symfony/deprecation-contracts (v2.5.0) - Locking symfony/event-dispatcher (v5.3.11) - Locking symfony/event-dispatcher-contracts (v2.5.0) - Locking symfony/filesystem (v5.3.4) - Locking symfony/finder (v5.3.7) - Locking symfony/options-resolver (v5.3.7) - Locking symfony/polyfill-ctype (v1.23.0) - Locking symfony/polyfill-intl-grapheme (v1.23.1) - Locking symfony/polyfill-intl-normalizer (v1.23.0) - Locking symfony/polyfill-mbstring (v1.23.1) - Locking symfony/polyfill-php70 (v1.20.0) - Locking symfony/polyfill-php72 (v1.23.0) - Locking symfony/polyfill-php73 (v1.23.0) - Locking symfony/polyfill-php80 (v1.23.1) - Locking symfony/process (v5.3.12) - Locking symfony/service-contracts (v2.5.0) - Locking symfony/stopwatch (v5.3.4) - Locking symfony/string (v5.3.10) - Locking symfony/yaml (v5.3.11) Writing lock file Installing dependencies from lock file Package operations: 15 installs, 0 updates, 0 removals - Downloading n98/junit-xml (1.1.0) - Downloading symfony/polyfill-php80 (v1.23.1) - Downloading symfony/polyfill-mbstring (v1.23.1) - Downloading symfony/polyfill-intl-normalizer (v1.23.0) - Downloading symfony/polyfill-intl-grapheme (v1.23.1) - Downloading symfony/polyfill-ctype (v1.23.0) - Downloading symfony/string (v5.3.10) - Downloading symfony/deprecation-contracts (v2.5.0) - Downloading psr/container (1.1.2) - Downloading symfony/service-contracts (v2.5.0) - Downloading symfony/polyfill-php73 (v1.23.0) - Downloading symfony/console (v5.3.11) - Downloading symfony/finder (v5.3.7) - Downloading symfony/process (v5.3.12) - Downloading symfony/yaml (v5.3.11) 0/15 [>---------------------------] 0% 5/15 [=========>------------------] 33% 10/15 [==================>---------] 66% 15/15 [============================] 100% - Installing n98/junit-xml (1.1.0): Extracting archive - Installing symfony/polyfill-php80 (v1.23.1): Extracting archive - Installing symfony/polyfill-mbstring (v1.23.1): Extracting archive - Installing symfony/polyfill-intl-normalizer (v1.23.0): Extracting archive - Installing symfony/polyfill-intl-grapheme (v1.23.1): Extracting archive - Installing symfony/polyfill-ctype (v1.23.0): Extracting archive - Installing symfony/string (v5.3.10): Extracting archive - Installing symfony/deprecation-contracts (v2.5.0): Extracting archive - Installing psr/container (1.1.2): Extracting archive - Installing symfony/service-contracts (v2.5.0): Extracting archive - Installing symfony/polyfill-php73 (v1.23.0): Extracting archive - Installing symfony/console (v5.3.11): Extracting archive - Installing symfony/finder (v5.3.7): Extracting archive - Installing symfony/process (v5.3.12): Extracting archive - Installing symfony/yaml (v5.3.11): Extracting archive 0/15 [>---------------------------] 0% 10/15 [==================>---------] 66% 15/15 [============================] 100% 11 package suggestions were added by new dependencies, use `composer suggest` to see details. Package jakub-onderka/php-console-color is abandoned, you should avoid using it. Use php-parallel-lint/php-console-color instead. Package jakub-onderka/php-console-highlighter is abandoned, you should avoid using it. Use php-parallel-lint/php-console-highlighter instead. Generating autoload files 13 packages you are using are looking for funding. Use the `composer fund` command to find out more! + ln -sf /usr/local/src/phplint/bin/phplint /usr/local/bin/phplint [Plugins] Successful initialization of PHP plugins [Pre] No commands declared in user configuration Skipped linters: ANSIBLE_ANSIBLE_LINT, ARM_ARM_TTK, BASH_EXEC, BASH_SHELLCHECK, BASH_SHFMT, CLOJURE_CLJ_KONDO, CLOUDFORMATION_CFN_LINT, COFFEE_COFFEELINT, COPYPASTE_JSCPD, CPP_CPPLINT, CREDENTIALS_SECRETLINT, CSHARP_DOTNET_FORMAT, CSS_SCSS_LINT, CSS_STYLELINT, C_CPPLINT, DART_DARTANALYZER, DOCKERFILE_DOCKERFILELINT, DOCKERFILE_HADOLINT, ENV_DOTENV_LINTER, GHERKIN_GHERKIN_LINT, GIT_GIT_DIFF, GO_GOLANGCI_LINT, GO_REVIVE, GRAPHQL_GRAPHQL_SCHEMA_LINTER, GROOVY_NPM_GROOVY_LINT, HTML_HTMLHINT, JAVASCRIPT_ES, JAVASCRIPT_PRETTIER, JAVASCRIPT_STANDARD, JAVA_CHECKSTYLE, JSON_ESLINT_PLUGIN_JSONC, JSON_JSONLINT, JSON_PRETTIER, JSON_V8R, JSX_ESLINT, KOTLIN_KTLINT, KUBERNETES_KUBEVAL, LATEX_CHKTEX, LUA_LUACHECK, MARKDOWN_MARKDOWN_LINK_CHECK, MARKDOWN_MARKDOWN_TABLE_FORMATTER, MARKDOWN_REMARK_LINT, OPENAPI_SPECTRAL, PERL_PERLCRITIC, POWERSHELL_POWERSHELL, PROTOBUF_PROTOLINT, PUPPET_PUPPET_LINT, PYTHON_BANDIT, PYTHON_BLACK, PYTHON_FLAKE8, PYTHON_ISORT, PYTHON_MYPY, PYTHON_PYLINT, RAKU_RAKU, RST_RSTCHECK, RST_RSTFMT, RST_RST_LINT, RUBY_RUBOCOP, RUST_CLIPPY, R_LINTR, SALESFORCE_SFDX_SCANNER_APEX, SALESFORCE_SFDX_SCANNER_AURA, SALESFORCE_SFDX_SCANNER_LWC, SCALA_SCALAFIX, SNAKEMAKE_LINT, SNAKEMAKE_SNAKEFMT, SPELL_CSPELL, SPELL_MISSPELL, SQL_SQLFLUFF, SQL_SQL_LINT, SQL_TSQLLINT, SWIFT_SWIFTLINT, TEKTON_TEKTON_LINT, TERRAFORM_CHECKOV, TERRAFORM_KICS, TERRAFORM_TERRAFORM_FMT, TERRAFORM_TERRAGRUNT, TERRAFORM_TERRASCAN, TERRAFORM_TFLINT, TSX_ESLINT, TYPESCRIPT_ES, TYPESCRIPT_PRETTIER, TYPESCRIPT_STANDARD, VBDOTNET_DOTNET_FORMAT, XML_XMLLINT, YAML_V8R To receive reports as email, please set variable EMAIL_REPORTER_EMAIL Listing all files in directory [/tmp/lint], then filter with: Root dir content: - /tmp/lint/.editorconfig - /tmp/lint/.gitignore - /tmp/lint/.mega-linter.yml - /tmp/lint/.phpunit.result.cache - /tmp/lint/CHANGELOG.md - /tmp/lint/LICENSE - /tmp/lint/README.md - /tmp/lint/composer.json - /tmp/lint/composer.lock - /tmp/lint/mkdocs.yml - /tmp/lint/phpunit.xml.dist All found files before filtering: - /tmp/lint/.editorconfig - /tmp/lint/.github/linters/.ecrc - /tmp/lint/.github/linters/.phpcs.xml.dist - /tmp/lint/.github/linters/phpstan.neon.dist - /tmp/lint/.github/linters/psalm.xml - /tmp/lint/.github/workflows/gh-pages.yml - /tmp/lint/.github/workflows/mega-linter.yml - /tmp/lint/.gitignore - /tmp/lint/.idea/.gitignore - /tmp/lint/.idea/graph-uml.iml - /tmp/lint/.idea/modules.xml - /tmp/lint/.idea/php.xml - /tmp/lint/.idea/vcs.xml - /tmp/lint/.idea/workspace.xml - /tmp/lint/.mega-linter.yml - /tmp/lint/.phpunit.result.cache - /tmp/lint/CHANGELOG.md - /tmp/lint/LICENSE - /tmp/lint/README.md - /tmp/lint/composer.json - /tmp/lint/composer.lock - /tmp/lint/docs/01_Features/Formatters.md - /tmp/lint/docs/01_Features/Generators.md - /tmp/lint/docs/01_Features/Options.md - /tmp/lint/docs/02_Cookbook/Multiple_Classes.md - /tmp/lint/docs/02_Cookbook/Php_Extensions.md - /tmp/lint/docs/02_Cookbook/Single_Class.md - /tmp/lint/docs/02_Cookbook/multiple_classes.graphviz.png - /tmp/lint/docs/02_Cookbook/multiple_classes.html.gv - /tmp/lint/docs/02_Cookbook/php_extensions.graphviz.png - /tmp/lint/docs/02_Cookbook/php_extensions.html.gv - /tmp/lint/docs/02_Cookbook/single_class.graphviz.png - /tmp/lint/docs/02_Cookbook/single_class.record.gv - /tmp/lint/docs/app.png - /tmp/lint/docs/app2.png - /tmp/lint/docs/getting-started.md - /tmp/lint/docs/graph-composer.svg - /tmp/lint/docs/index.md - /tmp/lint/examples/graphuml-architecture/graphviz.php - /tmp/lint/examples/php-extensions/graphviz.php - /tmp/lint/examples/single-class/graphviz.php - /tmp/lint/examples/without-elements/graphviz.php - /tmp/lint/mkdocs.yml - /tmp/lint/patches/graph-graphviz_add_subgraph_cluster-42.patch - /tmp/lint/phpunit.xml.dist - /tmp/lint/report/mega-linter-v5.log - /tmp/lint/src/ClassDiagramBuilder.php - /tmp/lint/src/ClassDiagramBuilderInterface.php - /tmp/lint/src/Formatter/AbstractFormatter.php - /tmp/lint/src/Formatter/FormatterInterface.php - /tmp/lint/src/Formatter/HtmlFormatter.php - /tmp/lint/src/Formatter/RecordFormatter.php - /tmp/lint/src/Generator/AbstractGenerator.php - /tmp/lint/src/Generator/GeneratorInterface.php - /tmp/lint/src/Generator/GraphVizGenerator.php - /tmp/lint/tests/ClassDiagramBuilderTest.php - /tmp/lint/tests/bootstrap.php - /tmp/lint/vendor/autoload.php - /tmp/lint/vendor/composer/ClassLoader.php - /tmp/lint/vendor/composer/InstalledVersions.php - /tmp/lint/vendor/composer/LICENSE - /tmp/lint/vendor/composer/autoload_classmap.php - /tmp/lint/vendor/composer/autoload_namespaces.php - /tmp/lint/vendor/composer/autoload_psr4.php - /tmp/lint/vendor/composer/autoload_real.php - /tmp/lint/vendor/composer/autoload_static.php - /tmp/lint/vendor/composer/installed.json - /tmp/lint/vendor/composer/installed.php - /tmp/lint/vendor/composer/platform_check.php - /tmp/lint/vendor/cweagans/composer-patches/.editorconfig - /tmp/lint/vendor/cweagans/composer-patches/.gitignore - /tmp/lint/vendor/cweagans/composer-patches/LICENSE.md - /tmp/lint/vendor/cweagans/composer-patches/README.md - /tmp/lint/vendor/cweagans/composer-patches/composer.json - /tmp/lint/vendor/cweagans/composer-patches/composer.lock - /tmp/lint/vendor/cweagans/composer-patches/phpunit.xml.dist - /tmp/lint/vendor/cweagans/composer-patches/src/PatchEvent.php - /tmp/lint/vendor/cweagans/composer-patches/src/PatchEvents.php - /tmp/lint/vendor/cweagans/composer-patches/src/Patches.php - /tmp/lint/vendor/cweagans/composer-patches/tests/PatchEventTest.php - /tmp/lint/vendor/graphp/graph/.gitattributes - /tmp/lint/vendor/graphp/graph/.github/FUNDING.yml - /tmp/lint/vendor/graphp/graph/.github/workflows/ci.yml - /tmp/lint/vendor/graphp/graph/.gitignore - /tmp/lint/vendor/graphp/graph/CHANGELOG.md - /tmp/lint/vendor/graphp/graph/LICENSE - /tmp/lint/vendor/graphp/graph/README.md - /tmp/lint/vendor/graphp/graph/composer.json - /tmp/lint/vendor/graphp/graph/phpunit.xml.dist - /tmp/lint/vendor/graphp/graph/phpunit.xml.legacy - /tmp/lint/vendor/graphp/graph/src/Edge.php - /tmp/lint/vendor/graphp/graph/src/EdgeDirected.php - /tmp/lint/vendor/graphp/graph/src/EdgeUndirected.php - /tmp/lint/vendor/graphp/graph/src/Entity.php - /tmp/lint/vendor/graphp/graph/src/Graph.php - /tmp/lint/vendor/graphp/graph/src/Vertex.php - /tmp/lint/vendor/graphp/graph/src/Walk.php - /tmp/lint/vendor/graphp/graph/tests/EdgeDirectedTest.php - /tmp/lint/vendor/graphp/graph/tests/EdgeTest.php - /tmp/lint/vendor/graphp/graph/tests/EdgeUndirectedTest.php - /tmp/lint/vendor/graphp/graph/tests/EntityTest.php - /tmp/lint/vendor/graphp/graph/tests/GraphTest.php - /tmp/lint/vendor/graphp/graph/tests/TestCase.php - /tmp/lint/vendor/graphp/graph/tests/VertexTest.php - /tmp/lint/vendor/graphp/graph/tests/WalkTest.php - /tmp/lint/vendor/graphp/graphviz/.gitattributes - /tmp/lint/vendor/graphp/graphviz/.github/workflows/ci.yml - /tmp/lint/vendor/graphp/graphviz/.gitignore - /tmp/lint/vendor/graphp/graphviz/CHANGELOG.md - /tmp/lint/vendor/graphp/graphviz/LICENSE - /tmp/lint/vendor/graphp/graphviz/PATCHES.txt - /tmp/lint/vendor/graphp/graphviz/README.md - /tmp/lint/vendor/graphp/graphviz/composer.json - /tmp/lint/vendor/graphp/graphviz/examples/01-simple.php - /tmp/lint/vendor/graphp/graphviz/examples/01-simple.png - /tmp/lint/vendor/graphp/graphviz/examples/02-html.php - /tmp/lint/vendor/graphp/graphviz/examples/02-html.png - /tmp/lint/vendor/graphp/graphviz/examples/11-uml-html.php - /tmp/lint/vendor/graphp/graphviz/examples/11-uml-html.png - /tmp/lint/vendor/graphp/graphviz/examples/12-uml-records.php - /tmp/lint/vendor/graphp/graphviz/examples/12-uml-records.png - /tmp/lint/vendor/graphp/graphviz/examples/13-record-ports.php - /tmp/lint/vendor/graphp/graphviz/examples/13-record-ports.png - /tmp/lint/vendor/graphp/graphviz/phpunit.xml.dist - /tmp/lint/vendor/graphp/graphviz/phpunit.xml.legacy - /tmp/lint/vendor/graphp/graphviz/src/Dot.php - /tmp/lint/vendor/graphp/graphviz/src/GraphViz.php - /tmp/lint/vendor/graphp/graphviz/src/Image.php - /tmp/lint/vendor/graphp/graphviz/tests/GraphVizTest.php - File extensions: *, .md, .php, .yaml, .yml Popen(['git', 'ls-files', '--exclude-standard', '--ignored', '--others', '--cached'], cwd=/tmp/lint, universal_newlines=False, shell=None, istream=None) - Excluding .gitignored files [26]: /tmp/lint/.gitignore, /tmp/lint/.idea/.gitignore, /tmp/lint/.idea/graph-uml.iml, /tmp/lint/.idea/modules.xml, /tmp/lint/.idea/php.xml, /tmp/lint/.idea/vcs.xml, /tmp/lint/.idea/workspace.xml, /tmp/lint/.phpunit.result.cache, /tmp/lint/composer.lock, /tmp/lint/patches/graph-graphviz_add_subgraph_cluster-42.patch, /tmp/lint/report/mega-linter-v5.log, /tmp/lint/vendor/autoload.php, /tmp/lint/vendor/composer/ClassLoader.php, /tmp/lint/vendor/composer/InstalledVersions.php, /tmp/lint/vendor/composer/LICENSE, /tmp/lint/vendor/composer/autoload_classmap.php, /tmp/lint/vendor/composer/autoload_namespaces.php, /tmp/lint/vendor/composer/autoload_psr4.php, /tmp/lint/vendor/composer/autoload_real.php, /tmp/lint/vendor/composer/autoload_static.php, /tmp/lint/vendor/composer/installed.json, /tmp/lint/vendor/composer/installed.php, /tmp/lint/vendor/composer/platform_check.php, /tmp/lint/vendor/cweagans/composer-patches/**, /tmp/lint/vendor/graphp/graph/**, /tmp/lint/vendor/graphp/graphviz/** Kept [46] files on [129] found files Kept files before applying linter filters: - /tmp/lint/.editorconfig - /tmp/lint/.github/linters/.ecrc - /tmp/lint/.github/linters/.phpcs.xml.dist - /tmp/lint/.github/linters/phpstan.neon.dist - /tmp/lint/.github/linters/psalm.xml - /tmp/lint/.github/workflows/gh-pages.yml - /tmp/lint/.github/workflows/mega-linter.yml - /tmp/lint/.mega-linter.yml - /tmp/lint/CHANGELOG.md - /tmp/lint/LICENSE - /tmp/lint/README.md - /tmp/lint/composer.json - /tmp/lint/docs/01_Features/Formatters.md - /tmp/lint/docs/01_Features/Generators.md - /tmp/lint/docs/01_Features/Options.md - /tmp/lint/docs/02_Cookbook/Multiple_Classes.md - /tmp/lint/docs/02_Cookbook/Php_Extensions.md - /tmp/lint/docs/02_Cookbook/Single_Class.md - /tmp/lint/docs/02_Cookbook/multiple_classes.graphviz.png - /tmp/lint/docs/02_Cookbook/multiple_classes.html.gv - /tmp/lint/docs/02_Cookbook/php_extensions.graphviz.png - /tmp/lint/docs/02_Cookbook/php_extensions.html.gv - /tmp/lint/docs/02_Cookbook/single_class.graphviz.png - /tmp/lint/docs/02_Cookbook/single_class.record.gv - /tmp/lint/docs/app.png - /tmp/lint/docs/app2.png - /tmp/lint/docs/getting-started.md - /tmp/lint/docs/graph-composer.svg - /tmp/lint/docs/index.md - /tmp/lint/examples/graphuml-architecture/graphviz.php - /tmp/lint/examples/php-extensions/graphviz.php - /tmp/lint/examples/single-class/graphviz.php - /tmp/lint/examples/without-elements/graphviz.php - /tmp/lint/mkdocs.yml - /tmp/lint/phpunit.xml.dist - /tmp/lint/src/ClassDiagramBuilder.php - /tmp/lint/src/ClassDiagramBuilderInterface.php - /tmp/lint/src/Formatter/AbstractFormatter.php - /tmp/lint/src/Formatter/FormatterInterface.php - /tmp/lint/src/Formatter/HtmlFormatter.php - /tmp/lint/src/Formatter/RecordFormatter.php - /tmp/lint/src/Generator/AbstractGenerator.php - /tmp/lint/src/Generator/GeneratorInterface.php - /tmp/lint/src/Generator/GraphVizGenerator.php - /tmp/lint/tests/ClassDiagramBuilderTest.php - /tmp/lint/tests/bootstrap.php [Filters] {'name': 'ACTION_ACTIONLINT', 'filter_regex_include': None, 'filter_regex_exclude': None, 'files_sub_directory': '.github/workflows', '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': []} ACTION_ACTIONLINT linter kept 2 files after applying linter filters: - /tmp/lint/.github/workflows/gh-pages.yml - /tmp/lint/.github/workflows/mega-linter.yml [Filters] {'name': 'EDITORCONFIG_EDITORCONFIG_CHECKER', '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': [], 'file_names_not_ends_with': [], 'file_contains_regex': []} EDITORCONFIG_EDITORCONFIG_CHECKER linter kept 46 files after applying linter filters: - /tmp/lint/.editorconfig - /tmp/lint/.github/linters/.ecrc - /tmp/lint/.github/linters/.phpcs.xml.dist - /tmp/lint/.github/linters/phpstan.neon.dist - /tmp/lint/.github/linters/psalm.xml - /tmp/lint/.github/workflows/gh-pages.yml - /tmp/lint/.github/workflows/mega-linter.yml - /tmp/lint/.mega-linter.yml - /tmp/lint/CHANGELOG.md - /tmp/lint/LICENSE - /tmp/lint/README.md - /tmp/lint/composer.json - /tmp/lint/docs/01_Features/Formatters.md - /tmp/lint/docs/01_Features/Generators.md - /tmp/lint/docs/01_Features/Options.md - /tmp/lint/docs/02_Cookbook/Multiple_Classes.md - /tmp/lint/docs/02_Cookbook/Php_Extensions.md - /tmp/lint/docs/02_Cookbook/Single_Class.md - /tmp/lint/docs/02_Cookbook/multiple_classes.graphviz.png - /tmp/lint/docs/02_Cookbook/multiple_classes.html.gv - /tmp/lint/docs/02_Cookbook/php_extensions.graphviz.png - /tmp/lint/docs/02_Cookbook/php_extensions.html.gv - /tmp/lint/docs/02_Cookbook/single_class.graphviz.png - /tmp/lint/docs/02_Cookbook/single_class.record.gv - /tmp/lint/docs/app.png - /tmp/lint/docs/app2.png - /tmp/lint/docs/getting-started.md - /tmp/lint/docs/graph-composer.svg - /tmp/lint/docs/index.md - /tmp/lint/examples/graphuml-architecture/graphviz.php - /tmp/lint/examples/php-extensions/graphviz.php - /tmp/lint/examples/single-class/graphviz.php - /tmp/lint/examples/without-elements/graphviz.php - /tmp/lint/mkdocs.yml - /tmp/lint/phpunit.xml.dist - /tmp/lint/src/ClassDiagramBuilder.php - /tmp/lint/src/ClassDiagramBuilderInterface.php - /tmp/lint/src/Formatter/AbstractFormatter.php - /tmp/lint/src/Formatter/FormatterInterface.php - /tmp/lint/src/Formatter/HtmlFormatter.php - /tmp/lint/src/Formatter/RecordFormatter.php - /tmp/lint/src/Generator/AbstractGenerator.php - /tmp/lint/src/Generator/GeneratorInterface.php - /tmp/lint/src/Generator/GraphVizGenerator.php - /tmp/lint/tests/ClassDiagramBuilderTest.php - /tmp/lint/tests/bootstrap.php [Filters] {'name': 'MARKDOWN_MARKDOWNLINT', 'filter_regex_include': None, 'filter_regex_exclude': '(\\.github)', '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': []} MARKDOWN_MARKDOWNLINT linter kept 10 files after applying linter filters: - /tmp/lint/CHANGELOG.md - /tmp/lint/README.md - /tmp/lint/docs/01_Features/Formatters.md - /tmp/lint/docs/01_Features/Generators.md - /tmp/lint/docs/01_Features/Options.md - /tmp/lint/docs/02_Cookbook/Multiple_Classes.md - /tmp/lint/docs/02_Cookbook/Php_Extensions.md - /tmp/lint/docs/02_Cookbook/Single_Class.md - /tmp/lint/docs/getting-started.md - /tmp/lint/docs/index.md [Filters] {'name': 'PHP_BUILTIN', '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': []} PHP_BUILTIN linter kept 15 files after applying linter filters: - /tmp/lint/examples/graphuml-architecture/graphviz.php - /tmp/lint/examples/php-extensions/graphviz.php - /tmp/lint/examples/single-class/graphviz.php - /tmp/lint/examples/without-elements/graphviz.php - /tmp/lint/src/ClassDiagramBuilder.php - /tmp/lint/src/ClassDiagramBuilderInterface.php - /tmp/lint/src/Formatter/AbstractFormatter.php - /tmp/lint/src/Formatter/FormatterInterface.php - /tmp/lint/src/Formatter/HtmlFormatter.php - /tmp/lint/src/Formatter/RecordFormatter.php - /tmp/lint/src/Generator/AbstractGenerator.php - /tmp/lint/src/Generator/GeneratorInterface.php - /tmp/lint/src/Generator/GraphVizGenerator.php - /tmp/lint/tests/ClassDiagramBuilderTest.php - /tmp/lint/tests/bootstrap.php [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': []} PHP_PHPCS linter kept 15 files after applying linter filters: - /tmp/lint/examples/graphuml-architecture/graphviz.php - /tmp/lint/examples/php-extensions/graphviz.php - /tmp/lint/examples/single-class/graphviz.php - /tmp/lint/examples/without-elements/graphviz.php - /tmp/lint/src/ClassDiagramBuilder.php - /tmp/lint/src/ClassDiagramBuilderInterface.php - /tmp/lint/src/Formatter/AbstractFormatter.php - /tmp/lint/src/Formatter/FormatterInterface.php - /tmp/lint/src/Formatter/HtmlFormatter.php - /tmp/lint/src/Formatter/RecordFormatter.php - /tmp/lint/src/Generator/AbstractGenerator.php - /tmp/lint/src/Generator/GeneratorInterface.php - /tmp/lint/src/Generator/GraphVizGenerator.php - /tmp/lint/tests/ClassDiagramBuilderTest.php - /tmp/lint/tests/bootstrap.php [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': []} PHP_PHPSTAN linter kept 15 files after applying linter filters: - /tmp/lint/examples/graphuml-architecture/graphviz.php - /tmp/lint/examples/php-extensions/graphviz.php - /tmp/lint/examples/single-class/graphviz.php - /tmp/lint/examples/without-elements/graphviz.php - /tmp/lint/src/ClassDiagramBuilder.php - /tmp/lint/src/ClassDiagramBuilderInterface.php - /tmp/lint/src/Formatter/AbstractFormatter.php - /tmp/lint/src/Formatter/FormatterInterface.php - /tmp/lint/src/Formatter/HtmlFormatter.php - /tmp/lint/src/Formatter/RecordFormatter.php - /tmp/lint/src/Generator/AbstractGenerator.php - /tmp/lint/src/Generator/GeneratorInterface.php - /tmp/lint/src/Generator/GraphVizGenerator.php - /tmp/lint/tests/ClassDiagramBuilderTest.php - /tmp/lint/tests/bootstrap.php [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': []} PHP_PSALM linter kept 15 files after applying linter filters: - /tmp/lint/examples/graphuml-architecture/graphviz.php - /tmp/lint/examples/php-extensions/graphviz.php - /tmp/lint/examples/single-class/graphviz.php - /tmp/lint/examples/without-elements/graphviz.php - /tmp/lint/src/ClassDiagramBuilder.php - /tmp/lint/src/ClassDiagramBuilderInterface.php - /tmp/lint/src/Formatter/AbstractFormatter.php - /tmp/lint/src/Formatter/FormatterInterface.php - /tmp/lint/src/Formatter/HtmlFormatter.php - /tmp/lint/src/Formatter/RecordFormatter.php - /tmp/lint/src/Generator/AbstractGenerator.php - /tmp/lint/src/Generator/GeneratorInterface.php - /tmp/lint/src/Generator/GraphVizGenerator.php - /tmp/lint/tests/ClassDiagramBuilderTest.php - /tmp/lint/tests/bootstrap.php [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': []} PHP_PHPLINT linter kept 15 files after applying linter filters: - /tmp/lint/examples/graphuml-architecture/graphviz.php - /tmp/lint/examples/php-extensions/graphviz.php - /tmp/lint/examples/single-class/graphviz.php - /tmp/lint/examples/without-elements/graphviz.php - /tmp/lint/src/ClassDiagramBuilder.php - /tmp/lint/src/ClassDiagramBuilderInterface.php - /tmp/lint/src/Formatter/AbstractFormatter.php - /tmp/lint/src/Formatter/FormatterInterface.php - /tmp/lint/src/Formatter/HtmlFormatter.php - /tmp/lint/src/Formatter/RecordFormatter.php - /tmp/lint/src/Generator/AbstractGenerator.php - /tmp/lint/src/Generator/GeneratorInterface.php - /tmp/lint/src/Generator/GraphVizGenerator.php - /tmp/lint/tests/ClassDiagramBuilderTest.php - /tmp/lint/tests/bootstrap.php [Filters] {'name': 'YAML_PRETTIER', 'filter_regex_include': None, 'filter_regex_exclude': '(\\.github)', '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': []} YAML_PRETTIER linter kept 2 files after applying linter filters: - /tmp/lint/.mega-linter.yml - /tmp/lint/mkdocs.yml [Filters] {'name': 'YAML_YAMLLINT', 'filter_regex_include': None, 'filter_regex_exclude': '(\\.github)', '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': []} YAML_YAMLLINT linter kept 2 files after applying linter filters: - /tmp/lint/.mega-linter.yml - /tmp/lint/mkdocs.yml +----MATCHING LINTERS-----------------+------------+----------------+------------+ | Descriptor | Linter | Criteria | Matching files | Format/Fix | +--------------+----------------------+------------+----------------+------------+ | ACTION | actionlint | .yml|.yaml | 2 | no | | EDITORCONFIG | editorconfig-checker | * | project | no | | MARKDOWN | markdownlint | .md | 10 | no | | PHP | php | .php | 15 | no | | PHP | phpcs | .php | project | no | | PHP | phpstan | .php | project | no | | PHP | psalm | .php | project | no | | PHP | phplint | .php | 15 | no | | YAML | prettier | .yml|.yaml | 2 | no | | YAML | yamllint | .yml|.yaml | 2 | no | +--------------+----------------------+------------+----------------+------------+ MegaLinter flavor [php] does not contain linters PHP_PHPLINT. As they are not available in this docker image, they will not be processed To solve this problem, please either: - use default flavor megalinter/megalinter - add ignored linters in DISABLE or DISABLE_LINTERS variables in your .mega-linter.yml config file located in your root directory - ignore this message by setting config variable FLAVOR_SUGGESTIONS to false ACTION: ['actionlint'] EDITORCONFIG: ['editorconfig-checker'] MARKDOWN: ['markdownlint'] PHP: ['php'] PHP: ['phpcs'] PHP: ['phpstan'] PHP: ['psalm'] [actionlint] command: ['actionlint', '/tmp/lint/.github/workflows/gh-pages.yml', '/tmp/lint/.github/workflows/mega-linter.yml'] YAML: ['prettier'] YAML: ['yamllint'] [actionlint] CWD: / [editorconfig-checker] command: ['editorconfig-checker', '-config', '/tmp/lint/.github/linters/.ecrc'] [editorconfig-checker] CWD: /tmp/lint [markdownlint] command: ['markdownlint', '-c', '/action/lib/.automation/.markdown-lint.json', '/tmp/lint/CHANGELOG.md', '/tmp/lint/README.md', '/tmp/lint/docs/01_Features/Formatters.md', '/tmp/lint/docs/01_Features/Generators.md', '/tmp/lint/docs/01_Features/Options.md', '/tmp/lint/docs/02_Cookbook/Multiple_Classes.md', '/tmp/lint/docs/02_Cookbook/Php_Extensions.md', '/tmp/lint/docs/02_Cookbook/Single_Class.md', '/tmp/lint/docs/getting-started.md', '/tmp/lint/docs/index.md'] [php] command: ['php', '-l', '/tmp/lint/examples/graphuml-architecture/graphviz.php'] [markdownlint] CWD: / [php] CWD: / [phpcs] command: ['phpcs', '-n', '--standard=/tmp/lint/.github/linters/.phpcs.xml.dist'] [phpcs] CWD: /tmp/lint [prettier] command: ['prettier', '--check', '/tmp/lint/.mega-linter.yml', '/tmp/lint/mkdocs.yml'] [yamllint] command: ['yamllint', '-c', '/action/lib/.automation/.yamllint.yml', '/tmp/lint/.mega-linter.yml', '/tmp/lint/mkdocs.yml'] [psalm] command: ['psalm', '--config=/tmp/lint/.github/linters/psalm.xml'] [prettier] CWD: / [yamllint] CWD: / [psalm] CWD: /tmp/lint [phpstan] command: ['phpstan', 'analyse', '--no-progress', '--no-ansi', '--memory-limit', '1G', '-c', '/tmp/lint/.github/linters/phpstan.neon.dist'] [phpstan] CWD: /tmp/lint [actionlint] result: 0 Popen(['git', 'diff', '--abbrev=40', '--full-index', '-M', '--raw', '-z', '--no-color'], cwd=/tmp/lint, universal_newlines=False, shell=None, istream=None) Popen(['git', 'cat-file', '--batch-check'], cwd=/tmp/lint, universal_newlines=False, shell=None, istream=