feat: implement a linter to check git conflicts (#6113)

Implement a linter to check if files contain Git conflict
markers or whitespace errors.
This commit is contained in:
Marco Ferrari 2024-09-05 08:02:36 +02:00 committed by GitHub
parent 94920ffcc7
commit e0d8b4fb2f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
19 changed files with 230 additions and 171 deletions

View file

@ -67,6 +67,16 @@
"source": "${localWorkspaceFolder}/dependencies/package-lock.json", "source": "${localWorkspaceFolder}/dependencies/package-lock.json",
"target": "/package-lock.json", "target": "/package-lock.json",
"type": "bind" "type": "bind"
},
{
"source": "${localWorkspaceFolder}/scripts/bash-exec.sh",
"target": "/usr/bin/bash-exec",
"type": "bind"
},
{
"source": "${localWorkspaceFolder}/scripts/git-merge-conflict-markers.sh",
"target": "/usr/bin/git-merge-conflict-markers",
"type": "bind"
} }
], ],
"runArgs": ["--env-file", ".devcontainer/devcontainer.env"] "runArgs": ["--env-file", ".devcontainer/devcontainer.env"]

View file

@ -383,10 +383,11 @@ COPY --from=python-builder /venvs /venvs
################# #################
COPY --from=lintr-installer /usr/lib/R /usr/lib/R COPY --from=lintr-installer /usr/lib/R /usr/lib/R
##################### ##########################################
# Install Bash-Exec # # Install linters implemented as scripts #
##################### ##########################################
COPY --chmod=555 scripts/bash-exec.sh /usr/bin/bash-exec COPY --chmod=555 scripts/bash-exec.sh /usr/bin/bash-exec
COPY --chmod=555 scripts/git-merge-conflict-markers.sh /usr/bin/git-merge-conflict-markers
######################### #########################
# Install dotenv-linter # # Install dotenv-linter #

View file

@ -151,6 +151,8 @@ open-shell-super-linter-container: ## Open a shell in the Super-linter container
-v "$(CURDIR)/dependencies/Gemfile":/Gemfile \ -v "$(CURDIR)/dependencies/Gemfile":/Gemfile \
-v "$(CURDIR)/dependencies/package-lock.json":/package-lock.json \ -v "$(CURDIR)/dependencies/package-lock.json":/package-lock.json \
-v "$(CURDIR)/dependencies/package.json":/package.json \ -v "$(CURDIR)/dependencies/package.json":/package.json \
-v "$(CURDIR)/scripts/bash-exec.sh":/usr/bin/bash-exec \
-v "$(CURDIR)/scripts/git-merge-conflict-markers.sh":/usr/bin/git-merge-conflict-markers \
$(SUPER_LINTER_TEST_CONTAINER_URL) $(SUPER_LINTER_TEST_CONTAINER_URL)
.PHONY: validate-container-image-labels .PHONY: validate-container-image-labels

View file

@ -69,6 +69,7 @@ Super-linter supports the following tools:
| **EditorConfig** | [editorconfig-checker](https://github.com/editorconfig-checker/editorconfig-checker) | | | **EditorConfig** | [editorconfig-checker](https://github.com/editorconfig-checker/editorconfig-checker) | |
| **.env** | [dotenv-linter](https://github.com/dotenv-linter/dotenv-linter) | | | **.env** | [dotenv-linter](https://github.com/dotenv-linter/dotenv-linter) | |
| **Gherkin** | [gherkin-lint](https://github.com/vsiakka/gherkin-lint) | | | **Gherkin** | [gherkin-lint](https://github.com/vsiakka/gherkin-lint) | |
| **Git merge conflict markers** | [Git conflict markers presence in files](https://git-scm.com/docs/git-config#Documentation/git-config.txt-mergeconflictStyle) | N/A |
| **GitHub Actions** | [actionlint](https://github.com/rhysd/actionlint) | See YAML formatters | | **GitHub Actions** | [actionlint](https://github.com/rhysd/actionlint) | See YAML formatters |
| **Golang** | [golangci-lint](https://github.com/golangci/golangci-lint) | | | **Golang** | [golangci-lint](https://github.com/golangci/golangci-lint) | |
| **GoReleaser** | [GoReleaser](https://github.com/goreleaser/goreleaser) | See YAML formatters | | **GoReleaser** | [GoReleaser](https://github.com/goreleaser/goreleaser) | See YAML formatters |
@ -95,7 +96,7 @@ Super-linter supports the following tools:
| **Python3** | [pylint](https://pylint.pycqa.org/), [flake8](https://flake8.pycqa.org/en/latest/), [isort](https://pypi.org/project/isort/), [ruff](https://github.com/astral-sh/ruff) | [black](https://github.com/psf/black), [pyink](https://github.com/google/pyink) | | **Python3** | [pylint](https://pylint.pycqa.org/), [flake8](https://flake8.pycqa.org/en/latest/), [isort](https://pypi.org/project/isort/), [ruff](https://github.com/astral-sh/ruff) | [black](https://github.com/psf/black), [pyink](https://github.com/google/pyink) |
| **R** | [lintr](https://github.com/jimhester/lintr) | | | **R** | [lintr](https://github.com/jimhester/lintr) | |
| **Raku** | [Raku](https://raku.org) | | | **Raku** | [Raku](https://raku.org) | |
| **Renovate** | [renovate-config-validator](https://docs.renovatebot.com/config-validation/) | N/A | | **Renovate** | [renovate-config-validator](https://docs.renovatebot.com/config-validation/) | See JSON formatters |
| **Ruby** | [RuboCop](https://github.com/rubocop-hq/rubocop) | | | **Ruby** | [RuboCop](https://github.com/rubocop-hq/rubocop) | |
| **Rust** | [Clippy](https://github.com/rust-lang/rust-clippy) | [Rustfmt](https://github.com/rust-lang/rustfmt) | | **Rust** | [Clippy](https://github.com/rust-lang/rust-clippy) | [Rustfmt](https://github.com/rust-lang/rustfmt) |
| **Scala** | | [scalafmt](https://github.com/scalameta/scalafmt) | | **Scala** | | [scalafmt](https://github.com/scalameta/scalafmt) |
@ -339,6 +340,7 @@ You can configure Super-linter using the following environment variables:
| **VALIDATE_EDITORCONFIG** | `true` | Flag to enable or disable the linting process with the EditorConfig. | | **VALIDATE_EDITORCONFIG** | `true` | Flag to enable or disable the linting process with the EditorConfig. |
| **VALIDATE_ENV** | `true` | Flag to enable or disable the linting process of the ENV language. | | **VALIDATE_ENV** | `true` | Flag to enable or disable the linting process of the ENV language. |
| **VALIDATE_GHERKIN** | `true` | Flag to enable or disable the linting process of the Gherkin language. | | **VALIDATE_GHERKIN** | `true` | Flag to enable or disable the linting process of the Gherkin language. |
| **VALIDATE_GIT_MERGE_CONFLICT_MARKERS** | `true` | Option to enable or disable checking if files contain Git merge conflict markers. |
| **VALIDATE_GITHUB_ACTIONS** | `true` | Flag to enable or disable the linting process of the GitHub Actions. | | **VALIDATE_GITHUB_ACTIONS** | `true` | Flag to enable or disable the linting process of the GitHub Actions. |
| **VALIDATE_GITLEAKS** | `true` | Flag to enable or disable the linting process of the secrets. | | **VALIDATE_GITLEAKS** | `true` | Flag to enable or disable the linting process of the secrets. |
| **VALIDATE_GO** | `true` | Flag to enable or disable the linting process of the individual Golang files. Set this to `false` if you want to lint Go modules. See the `VALIDATE_GO_MODULES` variable. | | **VALIDATE_GO** | `true` | Flag to enable or disable the linting process of the individual Golang files. Set this to `false` if you want to lint Go modules. See the `VALIDATE_GO_MODULES` variable. |

View file

@ -157,6 +157,7 @@ new tool, it should include:
Example: `ANSIBLE_FIX_MODE_OPTIONS=(--fix)` Example: `ANSIBLE_FIX_MODE_OPTIONS=(--fix)`
- Provide the logic to populate the list of files or directories to examine: `lib/functions/buildFileList.sh` - Provide the logic to populate the list of files or directories to examine: `lib/functions/buildFileList.sh`
- Provide the logic to populate the versions file: `scripts/linterVersions.sh`
- If necessary, provide elaborate logic to detect if the tool should examine a file or a directory: `lib/functions/detectFiles.sh` - If necessary, provide elaborate logic to detect if the tool should examine a file or a directory: `lib/functions/detectFiles.sh`
- If the tool needs to take into account special cases, reach out to the - If the tool needs to take into account special cases, reach out to the
maintainers by creating a draft pull request and ask relevant questions maintainers by creating a draft pull request and ask relevant questions

View file

@ -296,6 +296,7 @@ BuildFileArrays() {
debug "Don't include ${FILE} in the list of files to lint with editorconfig-checker because the workspace doesn't contain an EditorConfig file: ${EDITORCONFIG_FILE_PATH}" debug "Don't include ${FILE} in the list of files to lint with editorconfig-checker because the workspace doesn't contain an EditorConfig file: ${EDITORCONFIG_FILE_PATH}"
fi fi
echo "${FILE}" >>"${FILE_ARRAYS_DIRECTORY_PATH}/file-array-GIT_MERGE_CONFLICT_MARKERS"
echo "${FILE}" >>"${FILE_ARRAYS_DIRECTORY_PATH}/file-array-GITLEAKS" echo "${FILE}" >>"${FILE_ARRAYS_DIRECTORY_PATH}/file-array-GITLEAKS"
if IsAnsibleDirectory "${FILE}"; then if IsAnsibleDirectory "${FILE}"; then

View file

@ -68,6 +68,7 @@ if [ -n "${GITLEAKS_LOG_LEVEL:-}" ]; then
fi fi
LINTER_COMMANDS_ARRAY_GITLEAKS+=(--source) LINTER_COMMANDS_ARRAY_GITLEAKS+=(--source)
LINTER_COMMANDS_ARRAY_GHERKIN=(gherkin-lint -c "${GHERKIN_LINTER_RULES}") LINTER_COMMANDS_ARRAY_GHERKIN=(gherkin-lint -c "${GHERKIN_LINTER_RULES}")
LINTER_COMMANDS_ARRAY_GIT_MERGE_CONFLICT_MARKERS=(git-merge-conflict-markers)
LINTER_COMMANDS_ARRAY_GO=(golangci-lint run -c "${GO_LINTER_RULES}" --fast) LINTER_COMMANDS_ARRAY_GO=(golangci-lint run -c "${GO_LINTER_RULES}" --fast)
LINTER_COMMANDS_ARRAY_GO_MODULES=(golangci-lint run --allow-parallel-runners -c "${GO_LINTER_RULES}") LINTER_COMMANDS_ARRAY_GO_MODULES=(golangci-lint run --allow-parallel-runners -c "${GO_LINTER_RULES}")
LINTER_COMMANDS_ARRAY_GO_RELEASER=(goreleaser check) LINTER_COMMANDS_ARRAY_GO_RELEASER=(goreleaser check)

View file

@ -13,7 +13,9 @@ LANGUAGE_ARRAY=('ANSIBLE' 'ARM' 'BASH' 'BASH_EXEC' 'CHECKOV' 'CLANG_FORMAT'
'EDITORCONFIG' 'EDITORCONFIG'
'ENV' 'ENV'
'GITHUB_ACTIONS' 'GITHUB_ACTIONS'
'GITLEAKS' 'GHERKIN' 'GO' 'GO_MODULES' 'GO_RELEASER' 'GOOGLE_JAVA_FORMAT' 'GITLEAKS' 'GHERKIN'
"GIT_MERGE_CONFLICT_MARKERS"
'GO' 'GO_MODULES' 'GO_RELEASER' 'GOOGLE_JAVA_FORMAT'
"GRAPHQL_PRETTIER" "GRAPHQL_PRETTIER"
'GROOVY' 'GROOVY'
'HTML' 'HTML'

View file

@ -0,0 +1,19 @@
#!/usr/bin/env bash
set -o errexit
set -o nounset
set -o pipefail
GIT_MERGE_CONFLICT_EXPRESSION='^(<<<<<<<|=======|>>>>>>>)'
if [[ "$*" == "--version" ]]; then
echo "1.0.0"
exit 0
fi
if grep -l -E "${GIT_MERGE_CONFLICT_EXPRESSION}" "$@"; then
echo "Found Git merge conflict markers"
exit 1
else
echo "No merge conflicts found in $*"
fi

View file

@ -24,6 +24,7 @@ LINTER_NAMES_ARRAY['ENV']="dotenv-linter"
LINTER_NAMES_ARRAY['GITHUB_ACTIONS']="actionlint" LINTER_NAMES_ARRAY['GITHUB_ACTIONS']="actionlint"
LINTER_NAMES_ARRAY['GITLEAKS']="gitleaks" LINTER_NAMES_ARRAY['GITLEAKS']="gitleaks"
LINTER_NAMES_ARRAY['GHERKIN']="gherkin-lint" LINTER_NAMES_ARRAY['GHERKIN']="gherkin-lint"
LINTER_NAMES_ARRAY['GIT_MERGE_CONFLICT_MARKERS']="git-merge-conflict-markers"
LINTER_NAMES_ARRAY['GO']="golangci-lint" LINTER_NAMES_ARRAY['GO']="golangci-lint"
LINTER_NAMES_ARRAY['GO_MODULES']="${LINTER_NAMES_ARRAY['GO']}" LINTER_NAMES_ARRAY['GO_MODULES']="${LINTER_NAMES_ARRAY['GO']}"
LINTER_NAMES_ARRAY['GO_RELEASER']="goreleaser" LINTER_NAMES_ARRAY['GO_RELEASER']="goreleaser"

View file

@ -2,89 +2,90 @@
<!-- textlint-disable terminology --> <!-- textlint-disable terminology -->
| Language | Validation result | | Language | Validation result |
| ---------------------- | ----------------- | | -------------------------- | ----------------- |
| ANSIBLE | Fail ❌ | | ANSIBLE | Fail ❌ |
| BASH | Fail ❌ | | BASH | Fail ❌ |
| BASH_EXEC | Fail ❌ | | BASH_EXEC | Fail ❌ |
| CHECKOV | Fail ❌ | | CHECKOV | Fail ❌ |
| CLANG_FORMAT | Fail ❌ | | CLANG_FORMAT | Fail ❌ |
| CLOUDFORMATION | Fail ❌ | | CLOUDFORMATION | Fail ❌ |
| CLOJURE | Fail ❌ | | CLOJURE | Fail ❌ |
| COFFEESCRIPT | Fail ❌ | | COFFEESCRIPT | Fail ❌ |
| CPP | Fail ❌ | | CPP | Fail ❌ |
| CSS | Fail ❌ | | CSS | Fail ❌ |
| CSS_PRETTIER | Fail ❌ | | CSS_PRETTIER | Fail ❌ |
| DART | Fail ❌ | | DART | Fail ❌ |
| DOCKERFILE_HADOLINT | Fail ❌ | | DOCKERFILE_HADOLINT | Fail ❌ |
| EDITORCONFIG | Fail ❌ | | EDITORCONFIG | Fail ❌ |
| ENV | Fail ❌ | | ENV | Fail ❌ |
| GITHUB_ACTIONS | Fail ❌ | | GITHUB_ACTIONS | Fail ❌ |
| GITLEAKS | Fail ❌ | | GITLEAKS | Fail ❌ |
| GHERKIN | Fail ❌ | | GHERKIN | Fail ❌ |
| GO | Fail ❌ | | GIT_MERGE_CONFLICT_MARKERS | Fail ❌ |
| GO_MODULES | Fail ❌ | | GO | Fail ❌ |
| GO_RELEASER | Fail ❌ | | GO_MODULES | Fail ❌ |
| GOOGLE_JAVA_FORMAT | Fail ❌ | | GO_RELEASER | Fail ❌ |
| GRAPHQL_PRETTIER | Fail ❌ | | GOOGLE_JAVA_FORMAT | Fail ❌ |
| GROOVY | Fail ❌ | | GRAPHQL_PRETTIER | Fail ❌ |
| HTML | Fail ❌ | | GROOVY | Fail ❌ |
| HTML_PRETTIER | Fail ❌ | | HTML | Fail ❌ |
| JAVA | Fail ❌ | | HTML_PRETTIER | Fail ❌ |
| JAVASCRIPT_ES | Fail ❌ | | JAVA | Fail ❌ |
| JAVASCRIPT_PRETTIER | Fail ❌ | | JAVASCRIPT_ES | Fail ❌ |
| JAVASCRIPT_STANDARD | Fail ❌ | | JAVASCRIPT_PRETTIER | Fail ❌ |
| JSCPD | Fail ❌ | | JAVASCRIPT_STANDARD | Fail ❌ |
| JSON | Fail ❌ | | JSCPD | Fail ❌ |
| JSON_PRETTIER | Fail ❌ | | JSON | Fail ❌ |
| JSONC | Fail ❌ | | JSON_PRETTIER | Fail ❌ |
| JSONC_PRETTIER | Fail ❌ | | JSONC | Fail ❌ |
| JSX | Fail ❌ | | JSONC_PRETTIER | Fail ❌ |
| JSX_PRETTIER | Fail ❌ | | JSX | Fail ❌ |
| KUBERNETES_KUBECONFORM | Fail ❌ | | JSX_PRETTIER | Fail ❌ |
| KOTLIN | Fail ❌ | | KUBERNETES_KUBECONFORM | Fail ❌ |
| LATEX | Fail ❌ | | KOTLIN | Fail ❌ |
| LUA | Fail ❌ | | LATEX | Fail ❌ |
| MARKDOWN | Fail ❌ | | LUA | Fail ❌ |
| MARKDOWN_PRETTIER | Fail ❌ | | MARKDOWN | Fail ❌ |
| NATURAL_LANGUAGE | Fail ❌ | | MARKDOWN_PRETTIER | Fail ❌ |
| OPENAPI | Fail ❌ | | NATURAL_LANGUAGE | Fail ❌ |
| PERL | Fail ❌ | | OPENAPI | Fail ❌ |
| PHP_BUILTIN | Fail ❌ | | PERL | Fail ❌ |
| PHP_PHPCS | Fail ❌ | | PHP_BUILTIN | Fail ❌ |
| PHP_PHPSTAN | Fail ❌ | | PHP_PHPCS | Fail ❌ |
| PHP_PSALM | Fail ❌ | | PHP_PHPSTAN | Fail ❌ |
| PROTOBUF | Fail ❌ | | PHP_PSALM | Fail ❌ |
| PYTHON_BLACK | Fail ❌ | | PROTOBUF | Fail ❌ |
| PYTHON_PYLINT | Fail ❌ | | PYTHON_BLACK | Fail ❌ |
| PYTHON_FLAKE8 | Fail ❌ | | PYTHON_PYLINT | Fail ❌ |
| PYTHON_ISORT | Fail ❌ | | PYTHON_FLAKE8 | Fail ❌ |
| PYTHON_MYPY | Fail ❌ | | PYTHON_ISORT | Fail ❌ |
| PYTHON_PYINK | Fail ❌ | | PYTHON_MYPY | Fail ❌ |
| PYTHON_RUFF | Fail ❌ | | PYTHON_PYINK | Fail ❌ |
| R | Fail ❌ | | PYTHON_RUFF | Fail ❌ |
| RAKU | Fail ❌ | | R | Fail ❌ |
| RENOVATE | Fail ❌ | | RAKU | Fail ❌ |
| RUBY | Fail ❌ | | RENOVATE | Fail ❌ |
| SCALAFMT | Fail ❌ | | RUBY | Fail ❌ |
| SHELL_SHFMT | Fail ❌ | | SCALAFMT | Fail ❌ |
| SNAKEMAKE_LINT | Fail ❌ | | SHELL_SHFMT | Fail ❌ |
| SNAKEMAKE_SNAKEFMT | Fail ❌ | | SNAKEMAKE_LINT | Fail ❌ |
| STATES | Fail ❌ | | SNAKEMAKE_SNAKEFMT | Fail ❌ |
| SQLFLUFF | Fail ❌ | | STATES | Fail ❌ |
| TEKTON | Fail ❌ | | SQLFLUFF | Fail ❌ |
| TERRAFORM_FMT | Fail ❌ | | TEKTON | Fail ❌ |
| TERRAFORM_TFLINT | Fail ❌ | | TERRAFORM_FMT | Fail ❌ |
| TERRAFORM_TERRASCAN | Fail ❌ | | TERRAFORM_TFLINT | Fail ❌ |
| TERRAGRUNT | Fail ❌ | | TERRAFORM_TERRASCAN | Fail ❌ |
| TSX | Fail ❌ | | TERRAGRUNT | Fail ❌ |
| TYPESCRIPT_ES | Fail ❌ | | TSX | Fail ❌ |
| TYPESCRIPT_PRETTIER | Fail ❌ | | TYPESCRIPT_ES | Fail ❌ |
| TYPESCRIPT_STANDARD | Fail ❌ | | TYPESCRIPT_PRETTIER | Fail ❌ |
| VUE_PRETTIER | Fail ❌ | | TYPESCRIPT_STANDARD | Fail ❌ |
| XML | Fail ❌ | | VUE_PRETTIER | Fail ❌ |
| YAML | Fail ❌ | | XML | Fail ❌ |
| YAML_PRETTIER | Fail ❌ | | YAML | Fail ❌ |
| YAML_PRETTIER | Fail ❌ |
<!-- textlint-enable terminology --> <!-- textlint-enable terminology -->

View file

@ -27,6 +27,7 @@
| GITHUB_ACTIONS | Fail ❌ | | GITHUB_ACTIONS | Fail ❌ |
| GITLEAKS | Fail ❌ | | GITLEAKS | Fail ❌ |
| GHERKIN | Fail ❌ | | GHERKIN | Fail ❌ |
| GIT_MERGE_CONFLICT_MARKERS | Fail ❌ |
| GO | Fail ❌ | | GO | Fail ❌ |
| GO_MODULES | Fail ❌ | | GO_MODULES | Fail ❌ |
| GO_RELEASER | Fail ❌ | | GO_RELEASER | Fail ❌ |

View file

@ -2,89 +2,90 @@
<!-- textlint-disable terminology --> <!-- textlint-disable terminology -->
| Language | Validation result | | Language | Validation result |
| ---------------------- | ----------------- | | -------------------------- | ----------------- |
| ANSIBLE | Pass ✅ | | ANSIBLE | Pass ✅ |
| BASH | Pass ✅ | | BASH | Pass ✅ |
| BASH_EXEC | Pass ✅ | | BASH_EXEC | Pass ✅ |
| CHECKOV | Pass ✅ | | CHECKOV | Pass ✅ |
| CLANG_FORMAT | Pass ✅ | | CLANG_FORMAT | Pass ✅ |
| CLOUDFORMATION | Pass ✅ | | CLOUDFORMATION | Pass ✅ |
| CLOJURE | Pass ✅ | | CLOJURE | Pass ✅ |
| COFFEESCRIPT | Pass ✅ | | COFFEESCRIPT | Pass ✅ |
| CPP | Pass ✅ | | CPP | Pass ✅ |
| CSS | Pass ✅ | | CSS | Pass ✅ |
| CSS_PRETTIER | Pass ✅ | | CSS_PRETTIER | Pass ✅ |
| DART | Pass ✅ | | DART | Pass ✅ |
| DOCKERFILE_HADOLINT | Pass ✅ | | DOCKERFILE_HADOLINT | Pass ✅ |
| EDITORCONFIG | Pass ✅ | | EDITORCONFIG | Pass ✅ |
| ENV | Pass ✅ | | ENV | Pass ✅ |
| GITHUB_ACTIONS | Pass ✅ | | GITHUB_ACTIONS | Pass ✅ |
| GITLEAKS | Pass ✅ | | GITLEAKS | Pass ✅ |
| GHERKIN | Pass ✅ | | GHERKIN | Pass ✅ |
| GO | Pass ✅ | | GIT_MERGE_CONFLICT_MARKERS | Pass ✅ |
| GO_MODULES | Pass ✅ | | GO | Pass ✅ |
| GO_RELEASER | Pass ✅ | | GO_MODULES | Pass ✅ |
| GOOGLE_JAVA_FORMAT | Pass ✅ | | GO_RELEASER | Pass ✅ |
| GRAPHQL_PRETTIER | Pass ✅ | | GOOGLE_JAVA_FORMAT | Pass ✅ |
| GROOVY | Pass ✅ | | GRAPHQL_PRETTIER | Pass ✅ |
| HTML | Pass ✅ | | GROOVY | Pass ✅ |
| HTML_PRETTIER | Pass ✅ | | HTML | Pass ✅ |
| JAVA | Pass ✅ | | HTML_PRETTIER | Pass ✅ |
| JAVASCRIPT_ES | Pass ✅ | | JAVA | Pass ✅ |
| JAVASCRIPT_PRETTIER | Pass ✅ | | JAVASCRIPT_ES | Pass ✅ |
| JAVASCRIPT_STANDARD | Pass ✅ | | JAVASCRIPT_PRETTIER | Pass ✅ |
| JSCPD | Pass ✅ | | JAVASCRIPT_STANDARD | Pass ✅ |
| JSON | Pass ✅ | | JSCPD | Pass ✅ |
| JSON_PRETTIER | Pass ✅ | | JSON | Pass ✅ |
| JSONC | Pass ✅ | | JSON_PRETTIER | Pass ✅ |
| JSONC_PRETTIER | Pass ✅ | | JSONC | Pass ✅ |
| JSX | Pass ✅ | | JSONC_PRETTIER | Pass ✅ |
| JSX_PRETTIER | Pass ✅ | | JSX | Pass ✅ |
| KUBERNETES_KUBECONFORM | Pass ✅ | | JSX_PRETTIER | Pass ✅ |
| KOTLIN | Pass ✅ | | KUBERNETES_KUBECONFORM | Pass ✅ |
| LATEX | Pass ✅ | | KOTLIN | Pass ✅ |
| LUA | Pass ✅ | | LATEX | Pass ✅ |
| MARKDOWN | Pass ✅ | | LUA | Pass ✅ |
| MARKDOWN_PRETTIER | Pass ✅ | | MARKDOWN | Pass ✅ |
| NATURAL_LANGUAGE | Pass ✅ | | MARKDOWN_PRETTIER | Pass ✅ |
| OPENAPI | Pass ✅ | | NATURAL_LANGUAGE | Pass ✅ |
| PERL | Pass ✅ | | OPENAPI | Pass ✅ |
| PHP_BUILTIN | Pass ✅ | | PERL | Pass ✅ |
| PHP_PHPCS | Pass ✅ | | PHP_BUILTIN | Pass ✅ |
| PHP_PHPSTAN | Pass ✅ | | PHP_PHPCS | Pass ✅ |
| PHP_PSALM | Pass ✅ | | PHP_PHPSTAN | Pass ✅ |
| PROTOBUF | Pass ✅ | | PHP_PSALM | Pass ✅ |
| PYTHON_BLACK | Pass ✅ | | PROTOBUF | Pass ✅ |
| PYTHON_PYLINT | Pass ✅ | | PYTHON_BLACK | Pass ✅ |
| PYTHON_FLAKE8 | Pass ✅ | | PYTHON_PYLINT | Pass ✅ |
| PYTHON_ISORT | Pass ✅ | | PYTHON_FLAKE8 | Pass ✅ |
| PYTHON_MYPY | Pass ✅ | | PYTHON_ISORT | Pass ✅ |
| PYTHON_PYINK | Pass ✅ | | PYTHON_MYPY | Pass ✅ |
| PYTHON_RUFF | Pass ✅ | | PYTHON_PYINK | Pass ✅ |
| R | Pass ✅ | | PYTHON_RUFF | Pass ✅ |
| RAKU | Pass ✅ | | R | Pass ✅ |
| RENOVATE | Pass ✅ | | RAKU | Pass ✅ |
| RUBY | Pass ✅ | | RENOVATE | Pass ✅ |
| SCALAFMT | Pass ✅ | | RUBY | Pass ✅ |
| SHELL_SHFMT | Pass ✅ | | SCALAFMT | Pass ✅ |
| SNAKEMAKE_LINT | Pass ✅ | | SHELL_SHFMT | Pass ✅ |
| SNAKEMAKE_SNAKEFMT | Pass ✅ | | SNAKEMAKE_LINT | Pass ✅ |
| STATES | Pass ✅ | | SNAKEMAKE_SNAKEFMT | Pass ✅ |
| SQLFLUFF | Pass ✅ | | STATES | Pass ✅ |
| TEKTON | Pass ✅ | | SQLFLUFF | Pass ✅ |
| TERRAFORM_FMT | Pass ✅ | | TEKTON | Pass ✅ |
| TERRAFORM_TFLINT | Pass ✅ | | TERRAFORM_FMT | Pass ✅ |
| TERRAFORM_TERRASCAN | Pass ✅ | | TERRAFORM_TFLINT | Pass ✅ |
| TERRAGRUNT | Pass ✅ | | TERRAFORM_TERRASCAN | Pass ✅ |
| TSX | Pass ✅ | | TERRAGRUNT | Pass ✅ |
| TYPESCRIPT_ES | Pass ✅ | | TSX | Pass ✅ |
| TYPESCRIPT_PRETTIER | Pass ✅ | | TYPESCRIPT_ES | Pass ✅ |
| TYPESCRIPT_STANDARD | Pass ✅ | | TYPESCRIPT_PRETTIER | Pass ✅ |
| VUE_PRETTIER | Pass ✅ | | TYPESCRIPT_STANDARD | Pass ✅ |
| XML | Pass ✅ | | VUE_PRETTIER | Pass ✅ |
| YAML | Pass ✅ | | XML | Pass ✅ |
| YAML_PRETTIER | Pass ✅ | | YAML | Pass ✅ |
| YAML_PRETTIER | Pass ✅ |
<!-- textlint-enable terminology --> <!-- textlint-enable terminology -->

View file

@ -27,6 +27,7 @@
| GITHUB_ACTIONS | Pass ✅ | | GITHUB_ACTIONS | Pass ✅ |
| GITLEAKS | Pass ✅ | | GITLEAKS | Pass ✅ |
| GHERKIN | Pass ✅ | | GHERKIN | Pass ✅ |
| GIT_MERGE_CONFLICT_MARKERS | Pass ✅ |
| GO | Pass ✅ | | GO | Pass ✅ |
| GO_MODULES | Pass ✅ | | GO_MODULES | Pass ✅ |
| GO_RELEASER | Pass ✅ | | GO_RELEASER | Pass ✅ |

View file

@ -162,6 +162,7 @@ control "super-linter-installed-commands" do
{ linter_name: "eslint"}, { linter_name: "eslint"},
{ linter_name: "flake8"}, { linter_name: "flake8"},
{ linter_name: "gherkin-lint", expected_exit_status: 1}, # expect a return code = 1 because this linter doesn't support a "get linter version" command { linter_name: "gherkin-lint", expected_exit_status: 1}, # expect a return code = 1 because this linter doesn't support a "get linter version" command
{ linter_name: "git-merge-conflict-markers"},
{ linter_name: "gitleaks", version_option: "version"}, { linter_name: "gitleaks", version_option: "version"},
{ linter_name: "golangci-lint"}, { linter_name: "golangci-lint"},
{ linter_name: "goreleaser"}, { linter_name: "goreleaser"},
@ -526,6 +527,8 @@ control "super-linter-validate-files" do
"/action/lib/.automation/phpcs.xml", "/action/lib/.automation/phpcs.xml",
"/action/lib/.automation/phpstan.neon", "/action/lib/.automation/phpstan.neon",
"/action/lib/.automation/psalm.xml", "/action/lib/.automation/psalm.xml",
"/usr/bin/bash-exec",
"/usr/bin/git-merge-conflict-markers",
"/usr/bin/helm", # needed for checkov's helm framework "/usr/bin/helm", # needed for checkov's helm framework
"/usr/bin/kustomize", # needed for checkov's kustomize checks "/usr/bin/kustomize", # needed for checkov's kustomize checks
] ]

View file

@ -0,0 +1,5 @@
<<<<<<< HEAD:file.txt
Hello world 1
=======
Goodbye 1
>>>>>>> 77976da35a11db4580b80ae27e8d65caf5208086:file.txt

View file

@ -0,0 +1,5 @@
<<<<<<< HEAD:file.txt
Hello world 2
=======
Goodbye 2
>>>>>>> 77976da35a11db4580b80ae27e8d65caf5208086:file.txt

View file

@ -0,0 +1 @@
Hello world 1

View file

@ -0,0 +1 @@
Hello world 2