chore: fix formatting issues (#6028)

This commit is contained in:
Marco Ferrari 2024-08-15 10:21:26 +02:00 committed by GitHub
parent 2f0ac20566
commit 2664cb3b19
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
42 changed files with 565 additions and 581 deletions

View file

@ -29,8 +29,5 @@
"type": "bind" "type": "bind"
} }
], ],
"runArgs": [ "runArgs": ["--env-file", ".devcontainer/devcontainer.env"]
"--env-file",
".devcontainer/devcontainer.env"
]
} }

View file

@ -33,3 +33,9 @@ indent_size = 4
# Disable the filename rule because our test case logic requires that files used in test cases # Disable the filename rule because our test case logic requires that files used in test cases
# follow a certain syntax which is not compatible with what ktlint currently mandates (PascalCase) # follow a certain syntax which is not compatible with what ktlint currently mandates (PascalCase)
disabled_rules = filename disabled_rules = filename
[*.md]
# Indentation in Markdown files might not be constant, or a multiple of 2.
# Prettier takes care of formatting Markdown files.
indent_size = unset

View file

@ -59,7 +59,7 @@ body:
description: | description: |
Super-Linter version where you observed this issue Super-Linter version where you observed this issue
placeholder: | placeholder: |
vX.Y.Z vX.Y.Z
render: markdown render: markdown
validations: validations:
required: true required: true

View file

@ -1,3 +1,2 @@
--- ---
blank_issues_enabled: false blank_issues_enabled: false
...

View file

@ -16,8 +16,8 @@ body:
label: Is there an existing issue for this? label: Is there an existing issue for this?
description: Search to see if an issue already exists for the bug you encountered. description: Search to see if an issue already exists for the bug you encountered.
options: options:
- label: I have searched the existing issues - label: I have searched the existing issues
required: true required: true
- type: textarea - type: textarea
attributes: attributes:
label: Current Behavior label: Current Behavior
@ -37,5 +37,3 @@ body:
Links? References? Anything that will give us more context about the issue you are encountering. Links? References? Anything that will give us more context about the issue you are encountering.
validations: validations:
required: false required: false
---

View file

@ -4,7 +4,6 @@
################################# #################################
version: 2 version: 2
updates: updates:
- package-ecosystem: "devcontainers" - package-ecosystem: "devcontainers"
commit-message: commit-message:
prefix: "chore(devcontainer)" prefix: "chore(devcontainer)"

View file

@ -5,5 +5,3 @@ directory:
- test/linters/checkov/bad - test/linters/checkov/bad
quiet: false quiet: false
...

View file

@ -19,4 +19,3 @@ skip-framework:
# we have to do that as part of the test Helm chart or the test Kustomize # we have to do that as part of the test Helm chart or the test Kustomize
# "package". # "package".
- kubernetes - kubernetes
...

View file

@ -28,4 +28,3 @@ skip-path:
- test/linters/terraform_fmt - test/linters/terraform_fmt
- test/linters/terraform_tflint - test/linters/terraform_tflint
- test/linters/terraform_terrascan - test/linters/terraform_terrascan
...

View file

@ -12,10 +12,10 @@ ignorePatterns:
- "!.*" - "!.*"
- "**/node_modules/.*" - "**/node_modules/.*"
parser: '@typescript-eslint/parser' parser: "@typescript-eslint/parser"
plugins: plugins:
- '@typescript-eslint' - "@typescript-eslint"
# Don't set the jsonSyntax parser option for JSON, JSON5, and JSONC # Don't set the jsonSyntax parser option for JSON, JSON5, and JSONC
# so we can use eslint-plugin-jsonc to automatically fix issues # so we can use eslint-plugin-jsonc to automatically fix issues
@ -41,4 +41,3 @@ overrides:
- "*.tsx" - "*.tsx"
extends: extends:
- plugin:react/recommended - plugin:react/recommended
...

View file

@ -4,4 +4,3 @@
linters: linters:
enable: enable:
- gofmt - gofmt
...

View file

@ -3,11 +3,11 @@
## Hadolint config file ## ## Hadolint config file ##
########################## ##########################
ignored: ignored:
- DL4001 # Ignore wget and curl in same file - DL4001 # Ignore wget and curl in same file
- DL4006 # ignore pipefail as we don't want to add layers - DL4006 # ignore pipefail as we don't want to add layers
- DL3018 # We do pin version in pipfile.lock - DL3018 # We do pin version in pipfile.lock
- DL3013 # We do pin version in pipfile.lock - DL3013 # We do pin version in pipfile.lock
- DL3003 # Ignore workdir so we don't add layers - DL3003 # Ignore workdir so we don't add layers
- SC2016 # ignore as its interpreted later - SC2016 # ignore as its interpreted later
- DL3044 # Ignore using env in env - DL3044 # Ignore using env in env
- DL3008 # Ignore pinned versions check for APT - DL3008 # Ignore pinned versions check for APT

View file

@ -1,10 +1,6 @@
{ {
"absolute": true, "absolute": true,
"ignore": [ "ignore": ["**/node_modules/**"],
"**/node_modules/**" "reporters": ["consoleFull"],
],
"reporters": [
"consoleFull"
],
"threshold": 0 "threshold": 0
} }

View file

@ -43,8 +43,6 @@
"**/workflows/cd.yml", "**/workflows/cd.yml",
"**/workflows/ci.yml" "**/workflows/ci.yml"
], ],
"reporters": [ "reporters": ["consoleFull"],
"consoleFull"
],
"threshold": 0 "threshold": 0
} }

View file

@ -18,18 +18,18 @@
############### ###############
# Rules by id # # Rules by id #
############### ###############
MD004: false # Unordered list style MD004: false # Unordered list style
MD007: MD007:
indent: 2 # Unordered list indentation indent: 2 # Unordered list indentation
MD013: MD013:
line_length: 808 # Line length line_length: 808 # Line length
MD026: MD026:
punctuation: ".,;:!。,;:" # List of not allowed punctuation: ".,;:!。,;:" # List of not allowed
MD029: false # Ordered list item prefix MD029: false # Ordered list item prefix
MD033: false # Allow inline HTML MD033: false # Allow inline HTML
MD036: false # Emphasis used instead of a heading MD036: false # Emphasis used instead of a heading
################# #################
# Rules by tags # # Rules by tags #
################# #################
blank_lines: false # Error on blank lines blank_lines: false # Error on blank lines

View file

@ -2,20 +2,11 @@
"compilerOptions": { "compilerOptions": {
"strictNullChecks": true "strictNullChecks": true
}, },
"include": [ "include": ["src", "tests", "tools", "/tmp/lint/test/linters"],
"src",
"tests",
"tools",
"/tmp/lint/test/linters"
],
"overrides": [ "overrides": [
{ {
"extends": [ "extends": ["plugin:@typescript-eslint/disable-type-checked"],
"plugin:@typescript-eslint/disable-type-checked" "files": ["./**/*.{ts,tsx}"]
],
"files": [
"./**/*.{ts,tsx}"
]
} }
] ]
} }

View file

@ -1,7 +1,13 @@
<!-- Start with an H2 because GitHub automatically adds the commit description before the template, --> <!-- Start with an H2 because GitHub automatically adds the commit description before the template, -->
<!-- so contributors don't have to manually cut-paste the description after the H1. --> <!-- so contributors don't have to manually cut-paste the description after the H1. -->
<!-- Also, include the header in a "prettier ignore" block because it adds a blank line -->
<!-- after the markdownlint-disable-next-line directive, making it useless. -->
<!-- Ref: https://github.com/prettier/prettier/issues/14350 -->
<!-- Ref: https://github.com/prettier/prettier/issues/10128 -->
<!-- prettier-ignore-start -->
<!-- markdownlint-disable-next-line MD041 --> <!-- markdownlint-disable-next-line MD041 -->
## Readiness checklist ## Readiness checklist
<!-- prettier-ignore-end -->
In order to have this pull request merged, complete the following tasks. In order to have this pull request merged, complete the following tasks.
@ -14,11 +20,11 @@ In order to have this pull request merged, complete the following tasks.
- [ ] I followed the [Conventional Commit v1.0.0 spec](https://www.conventionalcommits.org/en/v1.0.0/). - [ ] I followed the [Conventional Commit v1.0.0 spec](https://www.conventionalcommits.org/en/v1.0.0/).
- [ ] I wrote the necessary upgrade instructions in the [upgrade guide](../docs/upgrade-guide.md). - [ ] I wrote the necessary upgrade instructions in the [upgrade guide](../docs/upgrade-guide.md).
- [ ] If this pull request is about and existing issue, - [ ] If this pull request is about and existing issue,
I added the `Fix #ISSUE_NUMBER` or `Close #ISSUE_NUMBER` text to the description of the pull request. I added the `Fix #ISSUE_NUMBER` or `Close #ISSUE_NUMBER` text to the description of the pull request.
### Super-linter maintainer tasks ### Super-linter maintainer tasks
- [ ] Label as `breaking` if this change breaks compatibility with the previous released version. - [ ] Label as `breaking` if this change breaks compatibility with the previous released version.
- [ ] Label as either: `automation`, `bug`, `documentation`, `enhancement`, `infrastructure`. - [ ] Label as either: `automation`, `bug`, `documentation`, `enhancement`, `infrastructure`.
- [ ] Add the pull request to a milestone, eventually creating one, that matches - [ ] Add the pull request to a milestone, eventually creating one, that matches
with the version that release-please proposes in the `preview-release-notes` CI job. with the version that release-please proposes in the `preview-release-notes` CI job.

View file

@ -34,11 +34,7 @@
".": { ".": {
"changelog-path": "CHANGELOG.md", "changelog-path": "CHANGELOG.md",
"release-type": "simple", "release-type": "simple",
"extra-files": [ "extra-files": ["action.yml", "README.md", "slim/action.yml"]
"action.yml",
"README.md",
"slim/action.yml"
]
} }
} }
} }

View file

@ -1,7 +1,7 @@
--- ---
name: Dependabot automation name: Dependabot automation
on: # yamllint disable-line rule:truthy on: # yamllint disable-line rule:truthy
pull_request: pull_request:
types: types:
- opened - opened
@ -27,4 +27,3 @@ jobs:
# This doesn't trigger an automated merge because we require at approvals # This doesn't trigger an automated merge because we require at approvals
- name: Enable auto-merge - name: Enable auto-merge
run: gh pr merge --auto --squash --delete-branch "${PR_URL}" run: gh pr merge --auto --squash --delete-branch "${PR_URL}"
...

View file

@ -13,7 +13,7 @@ jobs:
commitlint: commitlint:
runs-on: ubuntu-latest runs-on: ubuntu-latest
permissions: permissions:
contents: read contents: read
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
with: with:
@ -72,4 +72,3 @@ jobs:
- name: Validate commits - name: Validate commits
run: | run: |
make lint-commits make lint-commits
...

View file

@ -14,8 +14,8 @@ permissions: {}
jobs: jobs:
markstale: markstale:
permissions: permissions:
issues: write # for actions/stale to close stale issues issues: write # for actions/stale to close stale issues
pull-requests: write # for actions/stale to close stale PRs pull-requests: write # for actions/stale to close stale PRs
runs-on: ubuntu-latest runs-on: ubuntu-latest
# only run on schedule # only run on schedule
if: ${{ github.event_name == 'schedule' }} if: ${{ github.event_name == 'schedule' }}
@ -36,8 +36,8 @@ jobs:
marknotstale: marknotstale:
permissions: permissions:
issues: write # for actions/stale to close stale issues issues: write # for actions/stale to close stale issues
pull-requests: write # for actions/stale to close stale PRs pull-requests: write # for actions/stale to close stale PRs
runs-on: ubuntu-latest runs-on: ubuntu-latest
# do not run on schedule # do not run on schedule
if: "${{ github.event_name == 'issue_comment' && contains(github.event.issue.labels.*.name, 'O: stale 🤖') && github.event.issue.user.type != 'Bot' }}" if: "${{ github.event_name == 'issue_comment' && contains(github.event.issue.labels.*.name, 'O: stale 🤖') && github.event.issue.user.type != 'Bot' }}"

View file

@ -2,7 +2,7 @@ name: Monthly contributor report
on: on:
workflow_dispatch: workflow_dispatch:
schedule: schedule:
- cron: '3 2 1 * *' - cron: "3 2 1 * *"
permissions: permissions:
issues: write issues: write
@ -13,31 +13,30 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Get dates for last month
shell: bash
run: |
# Calculate the first day of the previous month
start_date=$(date -d "last month" +%Y-%m-01)
- name: Get dates for last month # Calculate the last day of the previous month
shell: bash end_date=$(date -d "$start_date +1 month -1 day" +%Y-%m-%d)
run: |
# Calculate the first day of the previous month
start_date=$(date -d "last month" +%Y-%m-01)
# Calculate the last day of the previous month #Set an environment variable with the date range
end_date=$(date -d "$start_date +1 month -1 day" +%Y-%m-%d) echo "START_DATE=$start_date" >> "$GITHUB_ENV"
echo "END_DATE=$end_date" >> "$GITHUB_ENV"
#Set an environment variable with the date range - name: Run contributor action
echo "START_DATE=$start_date" >> "$GITHUB_ENV" uses: github/contributors@v1
echo "END_DATE=$end_date" >> "$GITHUB_ENV" env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
START_DATE: ${{ env.START_DATE }}
END_DATE: ${{ env.END_DATE }}
REPOSITORY: super-linter/super-linter
- name: Run contributor action - name: Create issue
uses: github/contributors@v1 uses: peter-evans/create-issue-from-file@v5
env: with:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} title: Thank you super-linter contributors (${{ env.START_DATE }}..${{ env.END_DATE }})
START_DATE: ${{ env.START_DATE }} token: ${{ secrets.GITHUB_TOKEN }}
END_DATE: ${{ env.END_DATE }} content-filepath: ./contributors.md
REPOSITORY: super-linter/super-linter
- name: Create issue
uses: peter-evans/create-issue-from-file@v5
with:
title: Thank you super-linter contributors (${{ env.START_DATE }}..${{ env.END_DATE }})
token: ${{ secrets.GITHUB_TOKEN }}
content-filepath: ./contributors.md

4
.prettierignore Normal file
View file

@ -0,0 +1,4 @@
# Don't format Markdown files to verify tests
# because we don't yet generate formatted Markdown
# tables when creating the summary file
test/data/super-linter-summary/markdown/table/**/*.md

View file

@ -14,22 +14,22 @@ appearance, race, religion, or sexual identity and orientation.
Examples of behavior that contributes to creating a positive environment Examples of behavior that contributes to creating a positive environment
include: include:
* Using welcoming and inclusive language - Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences - Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism - Gracefully accepting constructive criticism
* Focusing on what is best for the community - Focusing on what is best for the community
* Showing empathy towards other community members - Showing empathy towards other community members
Examples of unacceptable behavior by participants include: Examples of unacceptable behavior by participants include:
* The use of sexualized language or imagery and unwelcome sexual attention or - The use of sexualized language or imagery and unwelcome sexual attention or
advances advances
* Trolling, insulting/derogatory comments, and personal or political attacks - Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment - Public or private harassment
* Publishing others' private information, such as a physical or electronic - Publishing others' private information, such as a physical or electronic
address, without explicit permission address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a - Other conduct which could reasonably be considered inappropriate in a
professional setting professional setting
## Our Responsibilities ## Our Responsibilities
@ -68,8 +68,11 @@ members of the project's leadership.
## Attribution ## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
<!-- textlint-disable --> <!-- textlint-disable -->
available at [https://www.contributor-covenant.org/version/1/4/code-of-conduct.html](https://www.contributor-covenant.org/version/1/4/code-of-conduct/) available at [https://www.contributor-covenant.org/version/1/4/code-of-conduct.html](https://www.contributor-covenant.org/version/1/4/code-of-conduct/)
<!-- textlint-enable --> <!-- textlint-enable -->
[homepage]: https://www.contributor-covenant.org [homepage]: https://www.contributor-covenant.org

572
README.md
View file

@ -51,60 +51,60 @@ Here are some notable Super-linter features:
Super-linter supports the following tools: Super-linter supports the following tools:
| _Language_ | _Linter_ | | _Language_ | _Linter_ |
|----------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | -------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Ansible** | [ansible-lint](https://github.com/ansible/ansible-lint) | | **Ansible** | [ansible-lint](https://github.com/ansible/ansible-lint) |
| **AWS CloudFormation templates** | [cfn-lint](https://github.com/aws-cloudformation/cfn-python-lint/) | | **AWS CloudFormation templates** | [cfn-lint](https://github.com/aws-cloudformation/cfn-python-lint/) |
| **Azure Resource Manager (ARM)** | [arm-ttk](https://github.com/azure/arm-ttk) | | **Azure Resource Manager (ARM)** | [arm-ttk](https://github.com/azure/arm-ttk) |
| **C++** | [cpp-lint](https://github.com/cpplint/cpplint) / [clang-format](https://clang.llvm.org/docs/ClangFormatStyleOptions.html) | | **C++** | [cpp-lint](https://github.com/cpplint/cpplint) / [clang-format](https://clang.llvm.org/docs/ClangFormatStyleOptions.html) |
| **C#** | [dotnet format](https://github.com/dotnet/format) / [clang-format](https://clang.llvm.org/docs/ClangFormatStyleOptions.html) | | **C#** | [dotnet format](https://github.com/dotnet/format) / [clang-format](https://clang.llvm.org/docs/ClangFormatStyleOptions.html) |
| **CSS** | [stylelint](https://stylelint.io/) | | **CSS** | [stylelint](https://stylelint.io/) |
| **Clojure** | [clj-kondo](https://github.com/borkdude/clj-kondo) | | **Clojure** | [clj-kondo](https://github.com/borkdude/clj-kondo) |
| **CoffeeScript** | [coffeelint](https://coffeelint.github.io/) | | **CoffeeScript** | [coffeelint](https://coffeelint.github.io/) |
| **Copy/paste detection** | [jscpd](https://github.com/kucherenko/jscpd) | | **Copy/paste detection** | [jscpd](https://github.com/kucherenko/jscpd) |
| **Dart** | [dartanalyzer](https://dart.dev/guides/language/analysis-options) | | **Dart** | [dartanalyzer](https://dart.dev/guides/language/analysis-options) |
| **Dockerfile** | [hadolint](https://github.com/hadolint/hadolint) | | **Dockerfile** | [hadolint](https://github.com/hadolint/hadolint) |
| **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) |
| **GitHub Actions** | [actionlint](https://github.com/rhysd/actionlint) | | **GitHub Actions** | [actionlint](https://github.com/rhysd/actionlint) |
| **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) | | **GoReleaser** | [GoReleaser](https://github.com/goreleaser/goreleaser) |
| **Groovy** | [npm-groovy-lint](https://github.com/nvuillam/npm-groovy-lint) | | **Groovy** | [npm-groovy-lint](https://github.com/nvuillam/npm-groovy-lint) |
| **HTML** | [HTMLHint](https://github.com/htmlhint/HTMLHint) | | **HTML** | [HTMLHint](https://github.com/htmlhint/HTMLHint) |
| **Java** | [checkstyle](https://checkstyle.org) / [google-java-format](https://github.com/google/google-java-format) | | **Java** | [checkstyle](https://checkstyle.org) / [google-java-format](https://github.com/google/google-java-format) |
| **JavaScript** | [ESLint](https://eslint.org/) / [standard js](https://standardjs.com/) | | **JavaScript** | [ESLint](https://eslint.org/) / [standard js](https://standardjs.com/) |
| **JSON** | [eslint-plugin-json](https://www.npmjs.com/package/eslint-plugin-json) | | **JSON** | [eslint-plugin-json](https://www.npmjs.com/package/eslint-plugin-json) |
| **JSONC** | [eslint-plugin-jsonc](https://www.npmjs.com/package/eslint-plugin-jsonc) | | **JSONC** | [eslint-plugin-jsonc](https://www.npmjs.com/package/eslint-plugin-jsonc) |
| Infrastructure as code | [Checkov](https://www.checkov.io/) | | Infrastructure as code | [Checkov](https://www.checkov.io/) |
| **Kubernetes** | [kubeconform](https://github.com/yannh/kubeconform) | | **Kubernetes** | [kubeconform](https://github.com/yannh/kubeconform) |
| **Kotlin** | [ktlint](https://github.com/pinterest/ktlint) | | **Kotlin** | [ktlint](https://github.com/pinterest/ktlint) |
| **LaTeX** | [ChkTex](https://www.nongnu.org/chktex/) | | **LaTeX** | [ChkTex](https://www.nongnu.org/chktex/) |
| **Lua** | [luacheck](https://github.com/luarocks/luacheck) | | **Lua** | [luacheck](https://github.com/luarocks/luacheck) |
| **Markdown** | [markdownlint](https://github.com/igorshubovych/markdownlint-cli#readme) | | **Markdown** | [markdownlint](https://github.com/igorshubovych/markdownlint-cli#readme) |
| **Natural language** | [textlint](https://textlint.github.io/) | | **Natural language** | [textlint](https://textlint.github.io/) |
| **OpenAPI** | [spectral](https://github.com/stoplightio/spectral) | | **OpenAPI** | [spectral](https://github.com/stoplightio/spectral) |
| **Perl** | [perlcritic](https://metacpan.org/pod/Perl::Critic) | | **Perl** | [perlcritic](https://metacpan.org/pod/Perl::Critic) |
| **PHP** | [PHP built-in linter](https://www.php.net/manual/en/features.commandline.options.php) / [PHP CodeSniffer](https://github.com/PHPCSStandards/PHP_CodeSniffer) / [PHPStan](https://phpstan.org/) / [Psalm](https://psalm.dev/) | | **PHP** | [PHP built-in linter](https://www.php.net/manual/en/features.commandline.options.php) / [PHP CodeSniffer](https://github.com/PHPCSStandards/PHP_CodeSniffer) / [PHPStan](https://phpstan.org/) / [Psalm](https://psalm.dev/) |
| **PowerShell** | [PSScriptAnalyzer](https://github.com/PowerShell/Psscriptanalyzer) | | **PowerShell** | [PSScriptAnalyzer](https://github.com/PowerShell/Psscriptanalyzer) |
| **Protocol Buffers** | [protolint](https://github.com/yoheimuta/protolint) | | **Protocol Buffers** | [protolint](https://github.com/yoheimuta/protolint) |
| **Python3** | [pylint](https://pylint.pycqa.org/) / [flake8](https://flake8.pycqa.org/en/latest/) / [black](https://github.com/psf/black) / [isort](https://pypi.org/project/isort/) / [ruff](https://github.com/astral-sh/ruff) | | **Python3** | [pylint](https://pylint.pycqa.org/) / [flake8](https://flake8.pycqa.org/en/latest/) / [black](https://github.com/psf/black) / [isort](https://pypi.org/project/isort/) / [ruff](https://github.com/astral-sh/ruff) |
| **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/) | | **Renovate** | [renovate-config-validator](https://docs.renovatebot.com/config-validation/) |
| **Ruby** | [RuboCop](https://github.com/rubocop-hq/rubocop) | | **Ruby** | [RuboCop](https://github.com/rubocop-hq/rubocop) |
| **Rust** | [Rustfmt](https://github.com/rust-lang/rustfmt) / [Clippy](https://github.com/rust-lang/rust-clippy) | | **Rust** | [Rustfmt](https://github.com/rust-lang/rustfmt) / [Clippy](https://github.com/rust-lang/rust-clippy) |
| **Scala** | [scalafmt](https://github.com/scalameta/scalafmt) | | **Scala** | [scalafmt](https://github.com/scalameta/scalafmt) |
| **Secrets** | [GitLeaks](https://github.com/zricethezav/gitleaks) | | **Secrets** | [GitLeaks](https://github.com/zricethezav/gitleaks) |
| **Shell** | [ShellCheck](https://github.com/koalaman/shellcheck) / `executable bit check` / [shfmt](https://github.com/mvdan/sh) | | **Shell** | [ShellCheck](https://github.com/koalaman/shellcheck) / `executable bit check` / [shfmt](https://github.com/mvdan/sh) |
| **Snakemake** | [snakefmt](https://github.com/snakemake/snakefmt/) / [snakemake --lint](https://snakemake.readthedocs.io/en/stable/snakefiles/writing_snakefiles.html#best-practices) | | **Snakemake** | [snakefmt](https://github.com/snakemake/snakefmt/) / [snakemake --lint](https://snakemake.readthedocs.io/en/stable/snakefiles/writing_snakefiles.html#best-practices) |
| **SQL** | [sqlfluff](https://github.com/sqlfluff/sqlfluff) | | **SQL** | [sqlfluff](https://github.com/sqlfluff/sqlfluff) |
| **Tekton** | [tekton-lint](https://github.com/IBM/tekton-lint) | | **Tekton** | [tekton-lint](https://github.com/IBM/tekton-lint) |
| **Terraform** | [fmt](https://developer.hashicorp.com/terraform/cli/commands/fmt) / [tflint](https://github.com/terraform-linters/tflint) / [terrascan](https://github.com/accurics/terrascan) | | **Terraform** | [fmt](https://developer.hashicorp.com/terraform/cli/commands/fmt) / [tflint](https://github.com/terraform-linters/tflint) / [terrascan](https://github.com/accurics/terrascan) |
| **Terragrunt** | [terragrunt](https://github.com/gruntwork-io/terragrunt) | | **Terragrunt** | [terragrunt](https://github.com/gruntwork-io/terragrunt) |
| **TypeScript** | [ESLint](https://eslint.org/) / [standard js](https://standardjs.com/) | | **TypeScript** | [ESLint](https://eslint.org/) / [standard js](https://standardjs.com/) |
| **XML** | [LibXML](http://xmlsoft.org/) | | **XML** | [LibXML](http://xmlsoft.org/) |
| **YAML** | [YamlLint](https://github.com/adrienverge/yamllint) | | **YAML** | [YamlLint](https://github.com/adrienverge/yamllint) |
## Get started ## Get started
@ -114,42 +114,41 @@ To run super-linter as a GitHub Action, you do the following:
1. Create a new [GitHub Actions workflow](https://docs.github.com/en/actions/using-workflows/about-workflows#about-workflows) in your repository with the following content: 1. Create a new [GitHub Actions workflow](https://docs.github.com/en/actions/using-workflows/about-workflows#about-workflows) in your repository with the following content:
```yaml ```yaml
--- ---
name: Lint name: Lint
on: # yamllint disable-line rule:truthy on: # yamllint disable-line rule:truthy
push: null push: null
pull_request: null pull_request: null
permissions: { } permissions: {}
jobs: jobs:
build: build:
name: Lint name: Lint
runs-on: ubuntu-latest runs-on: ubuntu-latest
permissions: permissions:
contents: read contents: read
packages: read packages: read
# To report GitHub Actions status checks # To report GitHub Actions status checks
statuses: write statuses: write
steps: steps:
- name: Checkout code - name: Checkout code
uses: actions/checkout@v4 uses: actions/checkout@v4
with: with:
# super-linter needs the full git history to get the # super-linter needs the full git history to get the
# list of files that changed across commits # list of files that changed across commits
fetch-depth: 0 fetch-depth: 0
- name: Super-linter - name: Super-linter
uses: super-linter/super-linter@v6.9.0 # x-release-please-version uses: super-linter/super-linter@v6.9.0 # x-release-please-version
env: env:
# To report GitHub Actions status checks # To report GitHub Actions status checks
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
... ```
```
1. Commit that file to a new branch. 1. Commit that file to a new branch.
1. Push the new commit to the remote repository. 1. Push the new commit to the remote repository.
@ -189,196 +188,212 @@ Super-Linter provides several variants:
You can configure Super-linter using the following environment variables: You can configure Super-linter using the following environment variables:
| **Environment variable** | **Default Value** | **Description** | | **Environment variable** | **Default Value** | **Description** |
|-------------------------------------------------|---------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | ----------------------------------------------- | ---------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **ANSIBLE_CONFIG_FILE** | `.ansible-lint.yml` | Filename for [Ansible-lint configuration](https://ansible.readthedocs.io/projects/lint/configuring/) (ex: `.ansible-lint`, `.ansible-lint.yml`) | | **ANSIBLE_CONFIG_FILE** | `.ansible-lint.yml` | Filename for [Ansible-lint configuration](https://ansible.readthedocs.io/projects/lint/configuring/) (ex: `.ansible-lint`, `.ansible-lint.yml`) |
| **ANSIBLE_DIRECTORY** | `/ansible` | Flag to set the root directory for Ansible file location(s), relative to `DEFAULT_WORKSPACE`. Set to `.` to use the top-level of the `DEFAULT_WORKSPACE`. | | **ANSIBLE_DIRECTORY** | `/ansible` | Flag to set the root directory for Ansible file location(s), relative to `DEFAULT_WORKSPACE`. Set to `.` to use the top-level of the `DEFAULT_WORKSPACE`. |
| **BASH_EXEC_IGNORE_LIBRARIES** | `false` | If set to `true`, shell files with a file extension and no shebang line are ignored when checking if the executable bit is set. | | **BASH_EXEC_IGNORE_LIBRARIES** | `false` | If set to `true`, shell files with a file extension and no shebang line are ignored when checking if the executable bit is set. |
| **BASH_FILE_NAME** | `.shellcheckrc` | Filename for [Shellcheck](https://github.com/koalaman/shellcheck/blob/master/shellcheck.1.md#rc-files) | | **BASH_FILE_NAME** | `.shellcheckrc` | Filename for [Shellcheck](https://github.com/koalaman/shellcheck/blob/master/shellcheck.1.md#rc-files) |
| **BASH_SEVERITY** | Shellcheck default severity | Specify the minimum severity of errors to consider in shellcheck. Valid values in order of severity are error, warning, info and style. | | **BASH_SEVERITY** | Shellcheck default severity | Specify the minimum severity of errors to consider in shellcheck. Valid values in order of severity are error, warning, info and style. |
| **CHECKOV_FILE_NAME** | `.checkov.yaml` | Configuration filename for Checkov. | | **CHECKOV_FILE_NAME** | `.checkov.yaml` | Configuration filename for Checkov. |
| **CLANG_FORMAT_FILE_NAME** | `.clang-format` | Configuration filename for [clang-format](https://clang.llvm.org/docs/ClangFormatStyleOptions.html). | | **CLANG_FORMAT_FILE_NAME** | `.clang-format` | Configuration filename for [clang-format](https://clang.llvm.org/docs/ClangFormatStyleOptions.html). |
| **CREATE_LOG_FILE** | `false` | If set to `true`, it creates the log file. You can set the log filename using the `LOG_FILE` environment variable. This overrides any existing log files. | | **CREATE_LOG_FILE** | `false` | If set to `true`, it creates the log file. You can set the log filename using the `LOG_FILE` environment variable. This overrides any existing log files. |
| **CSS_FILE_NAME** | `.stylelintrc.json` | Filename for [Stylelint configuration](https://github.com/stylelint/stylelint) (ex: `.stylelintrc.yml`, `.stylelintrc.yaml`) | | **CSS_FILE_NAME** | `.stylelintrc.json` | Filename for [Stylelint configuration](https://github.com/stylelint/stylelint) (ex: `.stylelintrc.yml`, `.stylelintrc.yaml`) |
| **DEFAULT_BRANCH** | Default repository branch when running on GitHub Actions, `master` otherwise | The name of the repository default branch. There's no need to configure this variable when running on GitHub Actions | | **DEFAULT_BRANCH** | Default repository branch when running on GitHub Actions, `master` otherwise | The name of the repository default branch. There's no need to configure this variable when running on GitHub Actions |
| **DEFAULT_WORKSPACE** | `/tmp/lint` | The location containing files to lint if you are running locally. Defaults to `GITHUB_WORKSPACE` when running in GitHub Actions. There's no need to configure this variable when running on GitHub Actions. | | **DEFAULT_WORKSPACE** | `/tmp/lint` | The location containing files to lint if you are running locally. Defaults to `GITHUB_WORKSPACE` when running in GitHub Actions. There's no need to configure this variable when running on GitHub Actions. |
| **DISABLE_ERRORS** | `false` | Flag to have the linter complete with exit code 0 even if errors were detected. | | **DISABLE_ERRORS** | `false` | Flag to have the linter complete with exit code 0 even if errors were detected. |
| **DOCKERFILE_HADOLINT_FILE_NAME** | `.hadolint.yaml` | Filename for [hadolint configuration](https://github.com/hadolint/hadolint) (ex: `.hadolintlintrc.yaml`) | | **DOCKERFILE_HADOLINT_FILE_NAME** | `.hadolint.yaml` | Filename for [hadolint configuration](https://github.com/hadolint/hadolint) (ex: `.hadolintlintrc.yaml`) |
| **EDITORCONFIG_FILE_NAME** | `.ecrc` | Filename for [editorconfig-checker configuration](https://github.com/editorconfig-checker/editorconfig-checker) | | **EDITORCONFIG_FILE_NAME** | `.ecrc` | Filename for [editorconfig-checker configuration](https://github.com/editorconfig-checker/editorconfig-checker) |
| **ENABLE_GITHUB_ACTIONS_GROUP_TITLE** | `false` if `RUN_LOCAL=true`, `true` otherwise | Flag to enable [GitHub Actions log grouping](https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#grouping-log-lines). | | **ENABLE_GITHUB_ACTIONS_GROUP_TITLE** | `false` if `RUN_LOCAL=true`, `true` otherwise | Flag to enable [GitHub Actions log grouping](https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#grouping-log-lines). |
| **ENABLE_GITHUB_ACTIONS_STEP_SUMMARY** | `false` if `RUN_LOCAL=true`, `true` otherwise | Flag to enable [GitHub Actions job summary](https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary) for the Super-linter action. For more information, see [Summary outputs](#summary-outputs). | | **ENABLE_GITHUB_ACTIONS_STEP_SUMMARY** | `false` if `RUN_LOCAL=true`, `true` otherwise | Flag to enable [GitHub Actions job summary](https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary) for the Super-linter action. For more information, see [Summary outputs](#summary-outputs). |
| **FILTER_REGEX_EXCLUDE** | not set | Regular expression defining which files will be excluded from linting (ex: `.*src/test.*`). Not setting this variable means to process all files. | | **FILTER_REGEX_EXCLUDE** | not set | Regular expression defining which files will be excluded from linting (ex: `.*src/test.*`). Not setting this variable means to process all files. |
| **FILTER_REGEX_INCLUDE** | not set | Regular expression defining which files will be processed by linters (ex: `.*src/.*`). Not setting this variable means to process all files. `FILTER_REGEX_INCLUDE` is evaluated before `FILTER_REGEX_EXCLUDE`. | | **FILTER_REGEX_INCLUDE** | not set | Regular expression defining which files will be processed by linters (ex: `.*src/.*`). Not setting this variable means to process all files. `FILTER_REGEX_INCLUDE` is evaluated before `FILTER_REGEX_EXCLUDE`. |
| **FIX_ANSIBLE** | `false` | Option to enable fix mode for `ANSIBLE`. | | **FIX_ANSIBLE** | `false` | Option to enable fix mode for `ANSIBLE`. |
| **FIX_CLANG_FORMAT** | `false` | Option to enable fix mode for `CLANG_FORMAT`. | | **FIX_CLANG_FORMAT** | `false` | Option to enable fix mode for `CLANG_FORMAT`. |
| **FIX_CSHARP** | `false` | Option to enable fix mode for `CSHARP`. | | **FIX_CSHARP** | `false` | Option to enable fix mode for `CSHARP`. |
| **FIX_CSS** | `false` | Option to enable fix mode for `CSS`. | | **FIX_CSS_PRETTIER** | `true` | Flag to enable or disable the formatting of CSS, Sass, and SCSS files with Prettier. |
| **FIX_ENV** | `false` | Option to enable fix mode for `ENV`. | | **FIX_CSS** | `false` | Option to enable fix mode for `CSS`. |
| **FIX_GO** | `false` | Option to enable fix mode for `GO`. | | **FIX_ENV** | `false` | Option to enable fix mode for `ENV`. |
| **FIX_GO_MODULES** | `false` | Option to enable fix mode for `GO_MODULES`. | | **FIX_GO_MODULES** | `false` | Option to enable fix mode for `GO_MODULES`. |
| **FIX_GOOGLE_JAVA_FORMAT** | `false` | Option to enable fix mode for `GOOGLE_JAVA_FORMAT`. | | **FIX_GO** | `false` | Option to enable fix mode for `GO`. |
| **FIX_GROOVY** | `false` | Option to enable fix mode for `GROOVY`. | | **FIX_GOOGLE_JAVA_FORMAT** | `false` | Option to enable fix mode for `GOOGLE_JAVA_FORMAT`. |
| **FIX_JAVASCRIPT_ES** | `false` | Option to enable fix mode for `JAVASCRIPT_ES`. | | **FIX_GRAPHQL_PRETTIER** | `true` | Flag to enable or disable the formatting of GraphQL files with Prettier. |
| **FIX_JAVASCRIPT_PRETTIER** | `false` | Option to enable fix mode for `JAVASCRIPT_PRETTIER`. | | **FIX_GROOVY** | `false` | Option to enable fix mode for `GROOVY`. |
| **FIX_JAVASCRIPT_STANDARD** | `false` | Option to enable fix mode for `JAVASCRIPT_STANDARD`. | | **FIX_HTML_PRETTIER** | `true` | Flag to enable or disable the formatting of HTML files with Prettier. |
| **FIX_JSON** | `false` | Option to enable fix mode for `JSON`. | | **FIX_JAVASCRIPT_ES** | `false` | Option to enable fix mode for `JAVASCRIPT_ES`. |
| **FIX_JSONC** | `false` | Option to enable fix mode for `JSONC`. | | **FIX_JAVASCRIPT_PRETTIER** | `false` | Flag to enable or disable the formatting of JavaScript files with Prettier. |
| **FIX_JSX** | `false` | Option to enable fix mode for `JSX`. | | **FIX_JAVASCRIPT_STANDARD** | `false` | Option to enable fix mode for `JAVASCRIPT_STANDARD`. |
| **FIX_MARKDOWN** | `false` | Option to enable fix mode for `MARKDOWN`. | | **FIX_JSON_PRETTIER** | `true` | Flag to enable or disable the formatting of JSON files with Prettier. |
| **FIX_POWERSHELL** | `false` | Option to enable fix mode for `POWERSHELL`. | | **FIX_JSON** | `false` | Option to enable fix mode for `JSON`. |
| **FIX_PROTOBUF** | `false` | Option to enable fix mode for `PROTOBUF`. | | **FIX_JSONC** | `false` | Option to enable fix mode for `JSONC`. |
| **FIX_PYTHON_BLACK** | `false` | Option to enable fix mode for `PYTHON_BLACK`. | | **FIX_JSX_PRETTIER** | `true` | Flag to enable or disable the formatting of JSX files with Prettier. |
| **FIX_PYTHON_ISORT** | `false` | Option to enable fix mode for `PYTHON_ISORT`. | | **FIX_JSX** | `false` | Option to enable fix mode for `JSX`. |
| **FIX_PYTHON_RUFF** | `false` | Option to enable fix mode for `PYTHON_RUFF`. | | **FIX_MARKDOWN_PRETTIER** | `true` | Flag to enable or disable the formatting of Markdown files with Prettier. |
| **FIX_RUBY** | `false` | Option to enable fix mode for `RUBY`. | | **FIX_MARKDOWN** | `false` | Option to enable fix mode for `MARKDOWN`. |
| **FIX_RUST_2015** | `false` | Option to enable fix mode for `RUST_2015`. | | **FIX_POWERSHELL** | `false` | Option to enable fix mode for `POWERSHELL`. |
| **FIX_RUST_2018** | `false` | Option to enable fix mode for `RUST_2018`. | | **FIX_PROTOBUF** | `false` | Option to enable fix mode for `PROTOBUF`. |
| **FIX_RUST_2021** | `false` | Option to enable fix mode for `RUST_2021`. | | **FIX_PYTHON_BLACK** | `false` | Option to enable fix mode for `PYTHON_BLACK`. |
| **FIX_RUST_CLIPPY** | `false` | Option to enable fix mode for `RUST_CLIPPY`. When `FIX_RUST_CLIPPY` is `true`, Clippy is allowed to fix issues in the workspace even if there are unstaged and staged changes in the workspace. | | **FIX_PYTHON_ISORT** | `false` | Option to enable fix mode for `PYTHON_ISORT`. |
| **FIX_SCALAFMT** | `false` | Option to enable fix mode for `SCALAFMT`. | | **FIX_PYTHON_RUFF** | `false` | Option to enable fix mode for `PYTHON_RUFF`. |
| **FIX_SHELL_SHFMT** | `false` | Option to enable fix mode for `SHELL_SHFMT`. | | **FIX_RUBY** | `false` | Option to enable fix mode for `RUBY`. |
| **FIX_SNAKEMAKE_SNAKEFMT** | `false` | Option to enable fix mode for `SNAKEMAKE_SNAKEFMT`. | | **FIX_RUST_2015** | `false` | Option to enable fix mode for `RUST_2015`. |
| **FIX_SQLFLUFF** | `false` | Option to enable fix mode for `SQLFLUFF`. | | **FIX_RUST_2018** | `false` | Option to enable fix mode for `RUST_2018`. |
| **FIX_TERRAFORM_FMT** | `false` | Option to enable fix mode for `TERRAFORM_FMT`. | | **FIX_RUST_2021** | `false` | Option to enable fix mode for `RUST_2021`. |
| **FIX_TSX** | `false` | Option to enable fix mode for `TSX`. | | **FIX_RUST_CLIPPY** | `false` | Option to enable fix mode for `RUST_CLIPPY`. When `FIX_RUST_CLIPPY` is `true`, Clippy is allowed to fix issues in the workspace even if there are unstaged and staged changes in the workspace. |
| **FIX_TYPESCRIPT_ES** | `false` | Option to enable fix mode for `TYPESCRIPT_ES`. | | **FIX_SCALAFMT** | `false` | Option to enable fix mode for `SCALAFMT`. |
| **FIX_TYPESCRIPT_PRETTIER** | `false` | Option to enable fix mode for `TYPESCRIPT_PRETTIER`. | | **FIX_SHELL_SHFMT** | `false` | Option to enable fix mode for `SHELL_SHFMT`. |
| **FIX_TYPESCRIPT_STANDARD** | `false` | Option to enable fix mode for `TYPESCRIPT_STANDARD`. | | **FIX_SNAKEMAKE_SNAKEFMT** | `false` | Option to enable fix mode for `SNAKEMAKE_SNAKEFMT`. |
| **GITHUB_ACTIONS_CONFIG_FILE** | `actionlint.yml` | Filename for [Actionlint configuration](https://github.com/rhysd/actionlint/blob/main/docs/config.md) (ex: `actionlint.yml`) | | **FIX_SQLFLUFF** | `false` | Option to enable fix mode for `SQLFLUFF`. |
| **GITHUB_ACTIONS_COMMAND_ARGS** | `null` | Additional arguments passed to `actionlint` command. Useful to [ignore some errors](https://github.com/rhysd/actionlint/blob/main/docs/usage.md#ignore-some-errors) | | **FIX_TERRAFORM_FMT** | `false` | Option to enable fix mode for `TERRAFORM_FMT`. |
| **GITHUB_CUSTOM_API_URL** | `https://api.${GITHUB_DOMAIN}` | Specify a custom GitHub API URL in case GitHub Enterprise is used: e.g. `https://github.myenterprise.com/api/v3` | | **FIX_TSX** | `false` | Option to enable fix mode for `TSX`. |
| **GITHUB_CUSTOM_SERVER_URL** | `https://${GITHUB_DOMAIN}"` | Specify a custom GitHub server URL. Useful for GitHub Enterprise instances. | | **FIX_TYPESCRIPT_ES** | `false` | Option to enable fix mode for `TYPESCRIPT_ES`. |
| **GITHUB_DOMAIN** | `github.com` | Specify a custom GitHub domain in case GitHub Enterprise is used: e.g. `github.myenterprise.com`. `GITHUB_DOMAIN` is a convenience configuration variable to automatically build `GITHUB_CUSTOM_API_URL` and `GITHUB_CUSTOM_SERVER_URL`. | | **FIX_TYPESCRIPT_PRETTIER** | `false` | Flag to enable or disable the formatting of TypeScript files with Prettier. |
| **GITLEAKS_CONFIG_FILE** | `.gitleaks.toml` | Filename for [GitLeaks configuration](https://github.com/zricethezav/gitleaks#configuration) (ex: `.gitleaks.toml`) | | **FIX_TYPESCRIPT_STANDARD** | `false` | Option to enable fix mode for `TYPESCRIPT_STANDARD`. |
| **GITLEAKS_LOG_LEVEL** | Gitleaks default log level | Gitleaks log level. Defaults to the Gitleaks default log level. | | **FIX_VUE_PRETTIER** | `true` | Flag to enable or disable the formatting of Vue files with Prettier. |
| **IGNORE_GENERATED_FILES** | `false` | If set to `true`, super-linter will ignore all the files with `@generated` marker but without `@not-generated` marker. | | **FIX_YAML_PRETTIER** | `true` | Flag to enable or disable the formatting of YAML files with Prettier. |
| **IGNORE_GITIGNORED_FILES** | `false` | If set to `true`, super-linter will ignore all the files that are ignored by Git. | | **GITHUB_ACTIONS_CONFIG_FILE** | `actionlint.yml` | Filename for [Actionlint configuration](https://github.com/rhysd/actionlint/blob/main/docs/config.md) (ex: `actionlint.yml`) |
| **JAVA_FILE_NAME** | `sun_checks.xml` | Filename for [Checkstyle configuration](https://checkstyle.sourceforge.io/config.html). Checkstyle embeds several configuration files, such as `sun_checks.xml`, `google_checks.xml` that you can use without providing your own configuration file. | | **GITHUB_ACTIONS_COMMAND_ARGS** | `null` | Additional arguments passed to `actionlint` command. Useful to [ignore some errors](https://github.com/rhysd/actionlint/blob/main/docs/usage.md#ignore-some-errors) |
| **JAVASCRIPT_ES_CONFIG_FILE** | `.eslintrc.yml` | Filename for [ESLint configuration](https://eslint.org/docs/user-guide/configuring#configuration-file-formats) (ex: `.eslintrc.yml`, `.eslintrc.json`) | | **GITHUB_CUSTOM_API_URL** | `https://api.${GITHUB_DOMAIN}` | Specify a custom GitHub API URL in case GitHub Enterprise is used: e.g. `https://github.myenterprise.com/api/v3` |
| **JSCPD_CONFIG_FILE** | `.jscpd.json` | Filename for JSCPD configuration | | **GITHUB_CUSTOM_SERVER_URL** | `https://${GITHUB_DOMAIN}"` | Specify a custom GitHub server URL. Useful for GitHub Enterprise instances. |
| **KUBERNETES_KUBECONFORM_OPTIONS** | `null` | Additional arguments to pass to the command-line when running **Kubernetes Kubeconform** (Example: --ignore-missing-schemas) | | **GITHUB_DOMAIN** | `github.com` | Specify a custom GitHub domain in case GitHub Enterprise is used: e.g. `github.myenterprise.com`. `GITHUB_DOMAIN` is a convenience configuration variable to automatically build `GITHUB_CUSTOM_API_URL` and `GITHUB_CUSTOM_SERVER_URL`. |
| **LINTER_RULES_PATH** | `.github/linters` | Directory for all linter configuration rules. | | **GITLEAKS_CONFIG_FILE** | `.gitleaks.toml` | Filename for [GitLeaks configuration](https://github.com/zricethezav/gitleaks#configuration) (ex: `.gitleaks.toml`) |
| **LOG_FILE** | `super-linter.log` | The filename for outputting logs. Super-linter saves the log file to `${DEFAULT_WORKSPACE}/${LOG_FILE}`. | | **GITLEAKS_LOG_LEVEL** | Gitleaks default log level | Gitleaks log level. Defaults to the Gitleaks default log level. |
| **LOG_LEVEL** | `INFO` | How much output the script will generate to the console. One of `ERROR`, `WARN`, `NOTICE`, `INFO`, or `DEBUG`. | | **IGNORE_GENERATED_FILES** | `false` | If set to `true`, super-linter will ignore all the files with `@generated` marker but without `@not-generated` marker. |
| **MARKDOWN_CONFIG_FILE** | `.markdown-lint.yml` | Filename for [Markdownlint configuration](https://github.com/DavidAnson/markdownlint#optionsconfig) (ex: `.markdown-lint.yml`, `.markdownlint.json`, `.markdownlint.yaml`) | | **IGNORE_GITIGNORED_FILES** | `false` | If set to `true`, super-linter will ignore all the files that are ignored by Git. |
| **MARKDOWN_CUSTOM_RULE_GLOBS** | not set | Comma-separated list of [file globs](https://github.com/igorshubovych/markdownlint-cli#globbing) matching [custom Markdownlint rule files](https://github.com/DavidAnson/markdownlint/blob/main/doc/CustomRules.md). | | **JAVA_FILE_NAME** | `sun_checks.xml` | Filename for [Checkstyle configuration](https://checkstyle.sourceforge.io/config.html). Checkstyle embeds several configuration files, such as `sun_checks.xml`, `google_checks.xml` that you can use without providing your own configuration file. |
| **MULTI_STATUS** | `true` | A status API is made for each language that is linted to make visual parsing easier. | | **JAVASCRIPT_ES_CONFIG_FILE** | `.eslintrc.yml` | Filename for [ESLint configuration](https://eslint.org/docs/user-guide/configuring#configuration-file-formats) (ex: `.eslintrc.yml`, `.eslintrc.json`) |
| **NATURAL_LANGUAGE_CONFIG_FILE** | `.textlintrc` | Filename for [textlint configuration](https://textlint.github.io/docs/getting-started.html#configuration) (ex: `.textlintrc`) | | **JSCPD_CONFIG_FILE** | `.jscpd.json` | Filename for JSCPD configuration |
| **PERL_PERLCRITIC_OPTIONS** | `null` | Additional arguments to pass to the command-line when running **perlcritic** (Example: --theme community) | | **KUBERNETES_KUBECONFORM_OPTIONS** | `null` | Additional arguments to pass to the command-line when running **Kubernetes Kubeconform** (Example: --ignore-missing-schemas) |
| **POWERSHELL_CONFIG_FILE** | `.powershell-psscriptanalyzer.psd1` | Filename for [PSScriptAnalyzer configuration](https://learn.microsoft.com/en-gb/powershell/utility-modules/psscriptanalyzer/using-scriptanalyzer) | | **LINTER_RULES_PATH** | `.github/linters` | Directory for all linter configuration rules. |
| **PHP_CONFIG_FILE** | `php.ini` | Filename for [PHP Configuration](https://www.php.net/manual/en/configuration.file.php) (ex: `php.ini`) | | **LOG_FILE** | `super-linter.log` | The filename for outputting logs. Super-linter saves the log file to `${DEFAULT_WORKSPACE}/${LOG_FILE}`. |
| **PHP_PHPCS_FILE_NAME** | `phpcs.xml` | Filename for [PHP CodeSniffer](https://github.com/squizlabs/PHP_CodeSniffer) (ex: `.phpcs.xml`, `.phpcs.xml.dist`) | | **LOG_LEVEL** | `INFO` | How much output the script will generate to the console. One of `ERROR`, `WARN`, `NOTICE`, `INFO`, or `DEBUG`. |
| **PHP_PHPSTAN_CONFIG_FILE** | `phpstan.neon` | Filename for [PHPStan Configuration](https://phpstan.org/config-reference) (ex: `phpstan.neon`) | | **MARKDOWN_CONFIG_FILE** | `.markdown-lint.yml` | Filename for [Markdownlint configuration](https://github.com/DavidAnson/markdownlint#optionsconfig) (ex: `.markdown-lint.yml`, `.markdownlint.json`, `.markdownlint.yaml`) |
| **PROTOBUF_CONFIG_FILE** | `.protolintrc.yml` | Filename for [protolint configuration](https://github.com/yoheimuta/protolint/blob/master/_example/config/.protolint.yaml) (ex: `.protolintrc.yml`) | | **MARKDOWN_CUSTOM_RULE_GLOBS** | not set | Comma-separated list of [file globs](https://github.com/igorshubovych/markdownlint-cli#globbing) matching [custom Markdownlint rule files](https://github.com/DavidAnson/markdownlint/blob/main/doc/CustomRules.md). |
| **PYTHON_BLACK_CONFIG_FILE** | `.python-black` | Filename for [black configuration](https://github.com/psf/black/blob/main/docs/guides/using_black_with_other_tools.md#black-compatible-configurations) (ex: `.isort.cfg`, `pyproject.toml`) | | **MULTI_STATUS** | `true` | A status API is made for each language that is linted to make visual parsing easier. |
| **PYTHON_FLAKE8_CONFIG_FILE** | `.flake8` | Filename for [flake8 configuration](https://flake8.pycqa.org/en/latest/user/configuration.html) (ex: `.flake8`, `tox.ini`) | | **NATURAL_LANGUAGE_CONFIG_FILE** | `.textlintrc` | Filename for [textlint configuration](https://textlint.github.io/docs/getting-started.html#configuration) (ex: `.textlintrc`) |
| **PYTHON_ISORT_CONFIG_FILE** | `.isort.cfg` | Filename for [isort configuration](https://pycqa.github.io/isort/docs/configuration/config_files.html) (ex: `.isort.cfg`, `pyproject.toml`) | | **PERL_PERLCRITIC_OPTIONS** | `null` | Additional arguments to pass to the command-line when running **perlcritic** (Example: --theme community) |
| **PYTHON_MYPY_CONFIG_FILE** | `.mypy.ini` | Filename for [mypy configuration](https://mypy.readthedocs.io/en/stable/config_file.html) (ex: `.mypy.ini`, `setup.config`) | | **POWERSHELL_CONFIG_FILE** | `.powershell-psscriptanalyzer.psd1` | Filename for [PSScriptAnalyzer configuration](https://learn.microsoft.com/en-gb/powershell/utility-modules/psscriptanalyzer/using-scriptanalyzer) |
| **PYTHON_PYLINT_CONFIG_FILE** | `.python-lint` | Filename for [pylint configuration](https://pylint.pycqa.org/en/latest/user_guide/run.html?highlight=rcfile#command-line-options) (ex: `.python-lint`, `.pylintrc`) | | **PHP_CONFIG_FILE** | `php.ini` | Filename for [PHP Configuration](https://www.php.net/manual/en/configuration.file.php) (ex: `php.ini`) |
| **PYTHON_RUFF_CONFIG_FILE** | `.ruff.toml` | Filename for [ruff configuration](https://docs.astral.sh/ruff/configuration/) | | **PHP_PHPCS_FILE_NAME** | `phpcs.xml` | Filename for [PHP CodeSniffer](https://github.com/squizlabs/PHP_CodeSniffer) (ex: `.phpcs.xml`, `.phpcs.xml.dist`) |
| **RENOVATE_SHAREABLE_CONFIG_PRESET_FILE_NAMES** | not set | Comma-separated filenames for [renovate shareable config preset](https://docs.renovatebot.com/config-presets/) (ex: `default.json`) | | **PHP_PHPSTAN_CONFIG_FILE** | `phpstan.neon` | Filename for [PHPStan Configuration](https://phpstan.org/config-reference) (ex: `phpstan.neon`) |
| **RUBY_CONFIG_FILE** | `.ruby-lint.yml` | Filename for [rubocop configuration](https://docs.rubocop.org/rubocop/configuration.html) (ex: `.ruby-lint.yml`, `.rubocop.yml`) | | **PROTOBUF_CONFIG_FILE** | `.protolintrc.yml` | Filename for [protolint configuration](https://github.com/yoheimuta/protolint/blob/master/_example/config/.protolint.yaml) (ex: `.protolintrc.yml`) |
| **SAVE_SUPER_LINTER_OUTPUT** | `false` | If set to `true`, Super-linter will save its output in the workspace. For more information, see [Super-linter outputs](#super-linter-outputs). | | **PYTHON_BLACK_CONFIG_FILE** | `.python-black` | Filename for [black configuration](https://github.com/psf/black/blob/main/docs/guides/using_black_with_other_tools.md#black-compatible-configurations) (ex: `.isort.cfg`, `pyproject.toml`) |
| **SAVE_SUPER_LINTER_SUMMARY** | `false` | If set to `true`, Super-linter will save a summary. For more information, see [Summary outputs](#summary-outputs). | | **PYTHON_FLAKE8_CONFIG_FILE** | `.flake8` | Filename for [flake8 configuration](https://flake8.pycqa.org/en/latest/user/configuration.html) (ex: `.flake8`, `tox.ini`) |
| **SCALAFMT_CONFIG_FILE** | `.scalafmt.conf` | Filename for [scalafmt configuration](https://scalameta.org/scalafmt/docs/configuration.html) (ex: `.scalafmt.conf`) | | **PYTHON_ISORT_CONFIG_FILE** | `.isort.cfg` | Filename for [isort configuration](https://pycqa.github.io/isort/docs/configuration/config_files.html) (ex: `.isort.cfg`, `pyproject.toml`) |
| **SNAKEMAKE_SNAKEFMT_CONFIG_FILE** | `.snakefmt.toml` | Filename for [Snakemake configuration](https://github.com/snakemake/snakefmt#configuration) (ex: `pyproject.toml`, `.snakefmt.toml`) | | **PYTHON_MYPY_CONFIG_FILE** | `.mypy.ini` | Filename for [mypy configuration](https://mypy.readthedocs.io/en/stable/config_file.html) (ex: `.mypy.ini`, `setup.config`) |
| **SSL_CERT_SECRET** | `none` | SSL cert to add to the **Super-Linter** trust store. This is needed for users on `self-hosted` runners or need to inject the cert for security standards (ex. ${{ secrets.SSL_CERT }}) | | **PYTHON_PYLINT_CONFIG_FILE** | `.python-lint` | Filename for [pylint configuration](https://pylint.pycqa.org/en/latest/user_guide/run.html?highlight=rcfile#command-line-options) (ex: `.python-lint`, `.pylintrc`) |
| **SSH_KEY** | `none` | SSH key that has access to your private repositories | | **PYTHON_RUFF_CONFIG_FILE** | `.ruff.toml` | Filename for [ruff configuration](https://docs.astral.sh/ruff/configuration/) |
| **SSH_SETUP_GITHUB** | `false` | If set to `true`, adds the `github.com` SSH key to `known_hosts`. This is ignored if `SSH_KEY` is provided - i.e. the `github.com` SSH key is always added if `SSH_KEY` is provided | | **RENOVATE_SHAREABLE_CONFIG_PRESET_FILE_NAMES** | not set | Comma-separated filenames for [renovate shareable config preset](https://docs.renovatebot.com/config-presets/) (ex: `default.json`) |
| **SSH_INSECURE_NO_VERIFY_GITHUB_KEY** | `false` | **INSECURE -** If set to `true`, does not verify the fingerprint of the github.com SSH key before adding this. This is not recommended! | | **RUBY_CONFIG_FILE** | `.ruby-lint.yml` | Filename for [rubocop configuration](https://docs.rubocop.org/rubocop/configuration.html) (ex: `.ruby-lint.yml`, `.rubocop.yml`) |
| **SQLFLUFF_CONFIG_FILE** | `/.sqlfluff` | Filename for [SQLFLUFF configuration](https://docs.sqlfluff.com/en/stable/configuration.html) (ex: `/.sqlfluff`, `pyproject.toml`) | | **SAVE_SUPER_LINTER_OUTPUT** | `false` | If set to `true`, Super-linter will save its output in the workspace. For more information, see [Super-linter outputs](#super-linter-outputs). |
| **SUPER_LINTER_OUTPUT_DIRECTORY_NAME** | `super-linter-output` | Name of the directory where super-linter saves its output. | | **SAVE_SUPER_LINTER_SUMMARY** | `false` | If set to `true`, Super-linter will save a summary. For more information, see [Summary outputs](#summary-outputs). |
| **SUPER_LINTER_SUMMARY_FILE_NAME** | `super-linter-summary.md` | Name of the file where to save the summary output. For more information, see [Summary outputs](#summary-outputs). | | **SCALAFMT_CONFIG_FILE** | `.scalafmt.conf` | Filename for [scalafmt configuration](https://scalameta.org/scalafmt/docs/configuration.html) (ex: `.scalafmt.conf`) |
| **SUPPRESS_FILE_TYPE_WARN** | `false` | If set to `true`, will hide warning messages about files without their proper extensions. Default is `false` | | **SNAKEMAKE_SNAKEFMT_CONFIG_FILE** | `.snakefmt.toml` | Filename for [Snakemake configuration](https://github.com/snakemake/snakefmt#configuration) (ex: `pyproject.toml`, `.snakefmt.toml`) |
| **SUPPRESS_POSSUM** | `false` | If set to `true`, will hide the ASCII possum at top of log output. Default is `false` | | **SSL_CERT_SECRET** | `none` | SSL cert to add to the **Super-Linter** trust store. This is needed for users on `self-hosted` runners or need to inject the cert for security standards (ex. ${{ secrets.SSL_CERT }}) |
| **TERRAFORM_TERRASCAN_CONFIG_FILE** | `terrascan.toml` | Filename for [terrascan configuration](https://github.com/accurics/terrascan) (ex: `terrascan.toml`) | | **SSH_KEY** | `none` | SSH key that has access to your private repositories |
| **TERRAFORM_TFLINT_CONFIG_FILE** | `.tflint.hcl` | Filename for [tfLint configuration](https://github.com/terraform-linters/tflint) (ex: `.tflint.hcl`) | | **SSH_SETUP_GITHUB** | `false` | If set to `true`, adds the `github.com` SSH key to `known_hosts`. This is ignored if `SSH_KEY` is provided - i.e. the `github.com` SSH key is always added if `SSH_KEY` is provided |
| **TYPESCRIPT_ES_CONFIG_FILE** | `.eslintrc.yml` | Filename for [ESLint configuration](https://eslint.org/docs/user-guide/configuring#configuration-file-formats) (ex: `.eslintrc.yml`, `.eslintrc.json`) | | **SSH_INSECURE_NO_VERIFY_GITHUB_KEY** | `false` | **INSECURE -** If set to `true`, does not verify the fingerprint of the github.com SSH key before adding this. This is not recommended! |
| **TYPESCRIPT_STANDARD_TSCONFIG_FILE** | `${DEFAULT_WORKSPACE}/tsconfig.json` | Path to the [TypeScript project configuration](https://www.typescriptlang.org/docs/handbook/tsconfig-json.html) in [ts-standard](https://github.com/standard/ts-standard). The path is relative to `DEFAULT_WORKSPACE` | | **SQLFLUFF_CONFIG_FILE** | `/.sqlfluff` | Filename for [SQLFLUFF configuration](https://docs.sqlfluff.com/en/stable/configuration.html) (ex: `/.sqlfluff`, `pyproject.toml`) |
| **USE_FIND_ALGORITHM** | `false` | By default, we use `git diff` to find all files in the workspace and what has been updated, this would enable the Linux `find` method instead to find all files to lint | | **SUPER_LINTER_OUTPUT_DIRECTORY_NAME** | `super-linter-output` | Name of the directory where super-linter saves its output. |
| **VALIDATE_ALL_CODEBASE** | `true` | Will parse the entire repository and find all files to validate across all types. **NOTE:** When set to `false`, only **new** or **edited** files will be parsed for validation. | | **SUPER_LINTER_SUMMARY_FILE_NAME** | `super-linter-summary.md` | Name of the file where to save the summary output. For more information, see [Summary outputs](#summary-outputs). |
| **VALIDATE_ANSIBLE** | `true` | Flag to enable or disable the linting process of the Ansible language. | | **SUPPRESS_FILE_TYPE_WARN** | `false` | If set to `true`, will hide warning messages about files without their proper extensions. Default is `false` |
| **VALIDATE_ARM** | `true` | Flag to enable or disable the linting process of the ARM language. | | **SUPPRESS_POSSUM** | `false` | If set to `true`, will hide the ASCII possum at top of log output. Default is `false` |
| **VALIDATE_BASH** | `true` | Flag to enable or disable the linting process of the Bash language. | | **TERRAFORM_TERRASCAN_CONFIG_FILE** | `terrascan.toml` | Filename for [terrascan configuration](https://github.com/accurics/terrascan) (ex: `terrascan.toml`) |
| **VALIDATE_BASH_EXEC** | `true` | Flag to enable or disable the linting process of the Bash language to validate if file is stored as executable. | | **TERRAFORM_TFLINT_CONFIG_FILE** | `.tflint.hcl` | Filename for [tfLint configuration](https://github.com/terraform-linters/tflint) (ex: `.tflint.hcl`) |
| **VALIDATE_CPP** | `true` | Flag to enable or disable the linting process of the C++ language. | | **TYPESCRIPT_ES_CONFIG_FILE** | `.eslintrc.yml` | Filename for [ESLint configuration](https://eslint.org/docs/user-guide/configuring#configuration-file-formats) (ex: `.eslintrc.yml`, `.eslintrc.json`) |
| **VALIDATE_CHECKOV** | `true` | Flag to enable or disable the linting process with Checkov | | **TYPESCRIPT_STANDARD_TSCONFIG_FILE** | `${DEFAULT_WORKSPACE}/tsconfig.json` | Path to the [TypeScript project configuration](https://www.typescriptlang.org/docs/handbook/tsconfig-json.html) in [ts-standard](https://github.com/standard/ts-standard). The path is relative to `DEFAULT_WORKSPACE` |
| **VALIDATE_CLANG_FORMAT** | `true` | Flag to enable or disable the linting process of the C++/C language with clang-format. | | **USE_FIND_ALGORITHM** | `false` | By default, we use `git diff` to find all files in the workspace and what has been updated, this would enable the Linux `find` method instead to find all files to lint |
| **VALIDATE_CLOJURE** | `true` | Flag to enable or disable the linting process of the Clojure language. | | **VALIDATE_ALL_CODEBASE** | `true` | Will parse the entire repository and find all files to validate across all types. **NOTE:** When set to `false`, only **new** or **edited** files will be parsed for validation. |
| **VALIDATE_CLOUDFORMATION** | `true` | Flag to enable or disable the linting process of the AWS Cloud Formation language. | | **VALIDATE_ANSIBLE** | `true` | Flag to enable or disable the linting process of the Ansible language. |
| **VALIDATE_COFFEESCRIPT** | `true` | Flag to enable or disable the linting process of the CoffeeScript language. | | **VALIDATE_ARM** | `true` | Flag to enable or disable the linting process of the ARM language. |
| **VALIDATE_CSHARP** | `true` | Flag to enable or disable the linting process of the C# language. | | **VALIDATE_BASH** | `true` | Flag to enable or disable the linting process of the Bash language. |
| **VALIDATE_CSS** | `true` | Flag to enable or disable the linting process of the CSS language. | | **VALIDATE_BASH_EXEC** | `true` | Flag to enable or disable the linting process of the Bash language to validate if file is stored as executable. |
| **VALIDATE_DART** | `true` | Flag to enable or disable the linting process of the Dart language. | | **VALIDATE_CPP** | `true` | Flag to enable or disable the linting process of the C++ language. |
| **VALIDATE_DOCKERFILE_HADOLINT** | `true` | Flag to enable or disable the linting process of the Docker language. | | **VALIDATE_CHECKOV** | `true` | Flag to enable or disable the linting process with Checkov |
| **VALIDATE_EDITORCONFIG** | `true` | Flag to enable or disable the linting process with the EditorConfig. | | **VALIDATE_CLANG_FORMAT** | `true` | Flag to enable or disable the linting process of the C++/C language with clang-format. |
| **VALIDATE_ENV** | `true` | Flag to enable or disable the linting process of the ENV language. | | **VALIDATE_CLOJURE** | `true` | Flag to enable or disable the linting process of the Clojure language. |
| **VALIDATE_GHERKIN** | `true` | Flag to enable or disable the linting process of the Gherkin language. | | **VALIDATE_CLOUDFORMATION** | `true` | Flag to enable or disable the linting process of the AWS Cloud Formation language. |
| **VALIDATE_GITHUB_ACTIONS** | `true` | Flag to enable or disable the linting process of the GitHub Actions. | | **VALIDATE_COFFEESCRIPT** | `true` | Flag to enable or disable the linting process of the CoffeeScript language. |
| **VALIDATE_GITLEAKS** | `true` | Flag to enable or disable the linting process of the secrets. | | **VALIDATE_CSHARP** | `true` | Flag to enable or disable the linting process of the C# language. |
| **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_CSS** | `true` | Flag to enable or disable the linting process of the CSS, Sass, and SCSS files. |
| **VALIDATE_GO_MODULES** | `true` | Flag to enable or disable the linting process of Go modules. Super-linter considers a directory to be a Go module if it contains a file named `go.mod`. | | **VALIDATE_CSS_PRETTIER** | `true` | Flag to enable or disable checking the formatting of CSS, Sass, and SCSS files with Prettier. |
| **VALIDATE_GO_RELEASER** | `true` | Flag to enable or disable the linting process of the GoReleaser config file. | | **VALIDATE_DART** | `true` | Flag to enable or disable the linting process of the Dart language. |
| **VALIDATE_GOOGLE_JAVA_FORMAT** | `true` | Flag to enable or disable the linting process of the Java language. (Utilizing: google-java-format) | | **VALIDATE_DOCKERFILE_HADOLINT** | `true` | Flag to enable or disable the linting process of the Docker language. |
| **VALIDATE_GROOVY** | `true` | Flag to enable or disable the linting process of the language. | | **VALIDATE_EDITORCONFIG** | `true` | Flag to enable or disable the linting process with the EditorConfig. |
| **VALIDATE_HTML** | `true` | Flag to enable or disable the linting process of the HTML language. | | **VALIDATE_ENV** | `true` | Flag to enable or disable the linting process of the ENV language. |
| **VALIDATE_JAVA** | `true` | Flag to enable or disable the linting process of the Java language. (Utilizing: checkstyle) | | **VALIDATE_GHERKIN** | `true` | Flag to enable or disable the linting process of the Gherkin language. |
| **VALIDATE_JAVASCRIPT_ES** | `true` | Flag to enable or disable the linting process of the JavaScript language. (Utilizing: ESLint) | | **VALIDATE_GITHUB_ACTIONS** | `true` | Flag to enable or disable the linting process of the GitHub Actions. |
| **VALIDATE_JAVASCRIPT_PRETTIER** | `true` | Flag to enable or disable the linting process of the JavaScript language. (Utilizing: prettier) | | **VALIDATE_GITLEAKS** | `true` | Flag to enable or disable the linting process of the secrets. |
| **VALIDATE_JAVASCRIPT_STANDARD** | `true` | Flag to enable or disable the linting process of the JavaScript language. (Utilizing: standard) | | **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_JSCPD** | `true` | Flag to enable or disable JSCPD. | | **VALIDATE_GO_MODULES** | `true` | Flag to enable or disable the linting process of Go modules. Super-linter considers a directory to be a Go module if it contains a file named `go.mod`. |
| **VALIDATE_JSON** | `true` | Flag to enable or disable the linting process of the JSON language. | | **VALIDATE_GO_RELEASER** | `true` | Flag to enable or disable the linting process of the GoReleaser config file. |
| **VALIDATE_JSONC** | `true` | Flag to enable or disable the linting process of the JSONC and JSON5 languages. | | **VALIDATE_GRAPHQL_PRETTIER** | `true` | Flag to enable or disable checking the formatting of GraphQL files with Prettier. |
| **VALIDATE_JSX** | `true` | Flag to enable or disable the linting process for jsx files (Utilizing: ESLint) | | **VALIDATE_GOOGLE_JAVA_FORMAT** | `true` | Flag to enable or disable the linting process of the Java language. (Utilizing: google-java-format) |
| **VALIDATE_KOTLIN** | `true` | Flag to enable or disable the linting process of the Kotlin language. | | **VALIDATE_GROOVY** | `true` | Flag to enable or disable the linting process of the language. |
| **VALIDATE_KUBERNETES_KUBECONFORM** | `true` | Flag to enable or disable the linting process of Kubernetes descriptors with Kubeconform | | **VALIDATE_HTML** | `true` | Flag to enable or disable the linting process of the HTML language. |
| **VALIDATE_LATEX** | `true` | Flag to enable or disable the linting process of the LaTeX language. | | **VALIDATE_HTML_PRETTIER** | `true` | Flag to enable or disable checking the formatting of HTML files with Prettier. |
| **VALIDATE_LUA** | `true` | Flag to enable or disable the linting process of the language. | | **VALIDATE_JAVA** | `true` | Flag to enable or disable the linting process of the Java language. (Utilizing: checkstyle) |
| **VALIDATE_MARKDOWN** | `true` | Flag to enable or disable the linting process of the Markdown language. | | **VALIDATE_JAVASCRIPT_ES** | `true` | Flag to enable or disable the linting process of the JavaScript language. (Utilizing: ESLint) |
| **VALIDATE_NATURAL_LANGUAGE** | `true` | Flag to enable or disable the linting process of the natural language. | | **VALIDATE_JAVASCRIPT_PRETTIER** | `true` | Flag to enable or disable checking the formatting of JavaScript files with Prettier. |
| **VALIDATE_OPENAPI** | `true` | Flag to enable or disable the linting process of the OpenAPI language. | | **VALIDATE_JAVASCRIPT_STANDARD** | `true` | Flag to enable or disable the linting process of the JavaScript language. (Utilizing: standard) |
| **VALIDATE_PERL** | `true` | Flag to enable or disable the linting process of the Perl language. | | **VALIDATE_JSCPD** | `true` | Flag to enable or disable JSCPD. |
| **VALIDATE_PHP** | `true` | Flag to enable or disable the linting process of the PHP language. (Utilizing: PHP built-in linter) (keep for backward compatibility) | | **VALIDATE_JSON** | `true` | Flag to enable or disable the linting process of the JSON language. |
| **VALIDATE_PHP_BUILTIN** | `true` | Flag to enable or disable the linting process of the PHP language. (Utilizing: PHP built-in linter) | | **VALIDATE_JSON_PRETTIER** | `true` | Flag to enable or disable checking the formatting of JSON files with Prettier. |
| **VALIDATE_PHP_PHPCS** | `true` | Flag to enable or disable the linting process of the PHP language. (Utilizing: PHP CodeSniffer) | | **VALIDATE_JSONC** | `true` | Flag to enable or disable the linting process of the JSONC and JSON5 languages. |
| **VALIDATE_PHP_PHPSTAN** | `true` | Flag to enable or disable the linting process of the PHP language. (Utilizing: PHPStan) | | **VALIDATE_JSX** | `true` | Flag to enable or disable the linting process for jsx files (Utilizing: ESLint) |
| **VALIDATE_PHP_PSALM** | `true` | Flag to enable or disable the linting process of the PHP language. (Utilizing: PSalm) | | **VALIDATE_JSX_PRETTIER** | `true` | Flag to enable or disable checking the formatting of JSX files with Prettier. |
| **VALIDATE_POWERSHELL** | `true` | Flag to enable or disable the linting process of the Powershell language. | | **VALIDATE_KOTLIN** | `true` | Flag to enable or disable the linting process of the Kotlin language. |
| **VALIDATE_PROTOBUF** | `true` | Flag to enable or disable the linting process of the Protobuf language. | | **VALIDATE_KUBERNETES_KUBECONFORM** | `true` | Flag to enable or disable the linting process of Kubernetes descriptors with Kubeconform |
| **VALIDATE_PYTHON** | `true` | Flag to enable or disable the linting process of the Python language. (Utilizing: pylint) (keep for backward compatibility) | | **VALIDATE_LATEX** | `true` | Flag to enable or disable the linting process of the LaTeX language. |
| **VALIDATE_PYTHON_BLACK** | `true` | Flag to enable or disable the linting process of the Python language. (Utilizing: black) | | **VALIDATE_LUA** | `true` | Flag to enable or disable the linting process of the language. |
| **VALIDATE_PYTHON_FLAKE8** | `true` | Flag to enable or disable the linting process of the Python language. (Utilizing: flake8) | | **VALIDATE_MARKDOWN** | `true` | Flag to enable or disable the linting process of the Markdown language. |
| **VALIDATE_PYTHON_ISORT** | `true` | Flag to enable or disable the linting process of the Python language. (Utilizing: isort) | | **VALIDATE_MARKDOWN_PRETTIER** | `true` | Flag to enable or disable checking the formatting of Markdown files with Prettier. |
| **VALIDATE_PYTHON_MYPY** | `true` | Flag to enable or disable the linting process of the Python language. (Utilizing: mypy) | | **VALIDATE_NATURAL_LANGUAGE** | `true` | Flag to enable or disable the linting process of the natural language. |
| **VALIDATE_PYTHON_PYLINT** | `true` | Flag to enable or disable the linting process of the Python language. (Utilizing: pylint) | | **VALIDATE_OPENAPI** | `true` | Flag to enable or disable the linting process of the OpenAPI language. |
| **VALIDATE_PYTHON_RUFF** | `true` | Flag to enable or disable the linting process of the Python language. (Utilizing: ruff) | | **VALIDATE_PERL** | `true` | Flag to enable or disable the linting process of the Perl language. |
| **VALIDATE_R** | `true` | Flag to enable or disable the linting process of the R language. | | **VALIDATE_PHP** | `true` | Flag to enable or disable the linting process of the PHP language. (Utilizing: PHP built-in linter) (keep for backward compatibility) |
| **VALIDATE_RAKU** | `true` | Flag to enable or disable the linting process of the Raku language. | | **VALIDATE_PHP_BUILTIN** | `true` | Flag to enable or disable the linting process of the PHP language. (Utilizing: PHP built-in linter) |
| **VALIDATE_RENOVATE** | `true` | Flag to enable or disable the linting process of the Renovate configuration files. | | **VALIDATE_PHP_PHPCS** | `true` | Flag to enable or disable the linting process of the PHP language. (Utilizing: PHP CodeSniffer) |
| **VALIDATE_RUBY** | `true` | Flag to enable or disable the linting process of the Ruby language. | | **VALIDATE_PHP_PHPSTAN** | `true` | Flag to enable or disable the linting process of the PHP language. (Utilizing: PHPStan) |
| **VALIDATE_RUST_2015** | `true` | Flag to enable or disable the linting process of the Rust language. (edition: 2015) | | **VALIDATE_PHP_PSALM** | `true` | Flag to enable or disable the linting process of the PHP language. (Utilizing: PSalm) |
| **VALIDATE_RUST_2018** | `true` | Flag to enable or disable the linting process of Rust language. (edition: 2018) | | **VALIDATE_POWERSHELL** | `true` | Flag to enable or disable the linting process of the Powershell language. |
| **VALIDATE_RUST_2021** | `true` | Flag to enable or disable the linting process of Rust language. (edition: 2021) | | **VALIDATE_PROTOBUF** | `true` | Flag to enable or disable the linting process of the Protobuf language. |
| **VALIDATE_RUST_CLIPPY** | `true` | Flag to enable or disable the clippy linting process of Rust language. | | **VALIDATE_PYTHON** | `true` | Flag to enable or disable the linting process of the Python language. (Utilizing: pylint) (keep for backward compatibility) |
| **VALIDATE_SCALAFMT** | `true` | Flag to enable or disable the linting process of Scala language. (Utilizing: scalafmt --test) | | **VALIDATE_PYTHON_BLACK** | `true` | Flag to enable or disable the linting process of the Python language. (Utilizing: black) |
| **VALIDATE_SHELL_SHFMT** | `true` | Flag to enable or disable the linting process of Shell scripts. (Utilizing: shfmt) | | **VALIDATE_PYTHON_FLAKE8** | `true` | Flag to enable or disable the linting process of the Python language. (Utilizing: flake8) |
| **VALIDATE_SNAKEMAKE_LINT** | `true` | Flag to enable or disable the linting process of Snakefiles. (Utilizing: snakemake --lint) | | **VALIDATE_PYTHON_ISORT** | `true` | Flag to enable or disable the linting process of the Python language. (Utilizing: isort) |
| **VALIDATE_SNAKEMAKE_SNAKEFMT** | `true` | Flag to enable or disable the linting process of Snakefiles. (Utilizing: snakefmt) | | **VALIDATE_PYTHON_MYPY** | `true` | Flag to enable or disable the linting process of the Python language. (Utilizing: mypy) |
| **VALIDATE_STATES** | `true` | Flag to enable or disable the linting process for AWS States Language. | | **VALIDATE_PYTHON_PYLINT** | `true` | Flag to enable or disable the linting process of the Python language. (Utilizing: pylint) |
| **VALIDATE_SQLFLUFF** | `true` | Flag to enable or disable the linting process of the SQL language. (Utilizing: sqlfuff) | | **VALIDATE_PYTHON_RUFF** | `true` | Flag to enable or disable the linting process of the Python language. (Utilizing: ruff) |
| **VALIDATE_TEKTON** | `true` | Flag to enable or disable the linting process of the Tekton language. | | **VALIDATE_R** | `true` | Flag to enable or disable the linting process of the R language. |
| **VALIDATE_TERRAFORM_FMT** | `true` | Flag to enable or disable the formatting process of the Terraform files. | | **VALIDATE_RAKU** | `true` | Flag to enable or disable the linting process of the Raku language. |
| **VALIDATE_TERRAFORM_TERRASCAN** | `true` | Flag to enable or disable the linting process of the Terraform language for security related issues. | | **VALIDATE_RENOVATE** | `true` | Flag to enable or disable the linting process of the Renovate configuration files. |
| **VALIDATE_TERRAFORM_TFLINT** | `true` | Flag to enable or disable the linting process of the Terraform language. (Utilizing tflint) | | **VALIDATE_RUBY** | `true` | Flag to enable or disable the linting process of the Ruby language. |
| **VALIDATE_TERRAGRUNT** | `true` | Flag to enable or disable the linting process for Terragrunt files. | | **VALIDATE_RUST_2015** | `true` | Flag to enable or disable the linting process of the Rust language. (edition: 2015) |
| **VALIDATE_TSX** | `true` | Flag to enable or disable the linting process for tsx files (Utilizing: ESLint) | | **VALIDATE_RUST_2018** | `true` | Flag to enable or disable the linting process of Rust language. (edition: 2018) |
| **VALIDATE_TYPESCRIPT_ES** | `true` | Flag to enable or disable the linting process of the TypeScript language. (Utilizing: ESLint) | | **VALIDATE_RUST_2021** | `true` | Flag to enable or disable the linting process of Rust language. (edition: 2021) |
| **VALIDATE_TYPESCRIPT_PRETTIER** | `true` | Flag to enable or disable the linting process of the TypeScript language. (Utilizing: prettier) | | **VALIDATE_RUST_CLIPPY** | `true` | Flag to enable or disable the clippy linting process of Rust language. |
| **VALIDATE_TYPESCRIPT_STANDARD** | `true` | Flag to enable or disable the linting process of the TypeScript language. (Utilizing: ts-standard) | | **VALIDATE_SCALAFMT** | `true` | Flag to enable or disable the linting process of Scala language. (Utilizing: scalafmt --test) |
| **VALIDATE_XML** | `true` | Flag to enable or disable the linting process of the XML language. | | **VALIDATE_SHELL_SHFMT** | `true` | Flag to enable or disable the linting process of Shell scripts. (Utilizing: shfmt) |
| **VALIDATE_YAML** | `true` | Flag to enable or disable the linting process of the YAML language. | | **VALIDATE_SNAKEMAKE_LINT** | `true` | Flag to enable or disable the linting process of Snakefiles. (Utilizing: snakemake --lint) |
| **YAML_CONFIG_FILE** | `.yaml-lint.yml` | Filename for [Yamllint configuration](https://yamllint.readthedocs.io/en/stable/configuration.html) (ex: `.yaml-lint.yml`, `.yamllint.yml`) | | **VALIDATE_SNAKEMAKE_SNAKEFMT** | `true` | Flag to enable or disable the linting process of Snakefiles. (Utilizing: snakefmt) |
| **YAML_ERROR_ON_WARNING** | `false` | Flag to enable or disable the error on warning for Yamllint. | | **VALIDATE_STATES** | `true` | Flag to enable or disable the linting process for AWS States Language. |
| **VALIDATE_SQLFLUFF** | `true` | Flag to enable or disable the linting process of the SQL language. (Utilizing: sqlfuff) |
| **VALIDATE_TEKTON** | `true` | Flag to enable or disable the linting process of the Tekton language. |
| **VALIDATE_TERRAFORM_FMT** | `true` | Flag to enable or disable checking the formatting process of the Terraform files. |
| **VALIDATE_TERRAFORM_TERRASCAN** | `true` | Flag to enable or disable the linting process of the Terraform language for security related issues. |
| **VALIDATE_TERRAFORM_TFLINT** | `true` | Flag to enable or disable the linting process of the Terraform language. (Utilizing tflint) |
| **VALIDATE_TERRAGRUNT** | `true` | Flag to enable or disable the linting process for Terragrunt files. |
| **VALIDATE_TSX** | `true` | Flag to enable or disable the linting process for tsx files (Utilizing: ESLint) |
| **VALIDATE_TYPESCRIPT_ES** | `true` | Flag to enable or disable the linting process of the TypeScript language. (Utilizing: ESLint) |
| **VALIDATE_TYPESCRIPT_PRETTIER** | `true` | Flag to enable or disable checking the formatting of TypeScript files with Prettier. |
| **VALIDATE_TYPESCRIPT_STANDARD** | `true` | Flag to enable or disable the linting process of the TypeScript language. (Utilizing: ts-standard) |
| **VALIDATE_VUE_PRETTIER** | `true` | Flag to enable or disable checking the formatting of Vue files with Prettier. |
| **VALIDATE_XML** | `true` | Flag to enable or disable the linting process of the XML language. |
| **VALIDATE_YAML** | `true` | Flag to enable or disable the linting process of the YAML language. |
| **VALIDATE_YAML_PRETTIER** | `true` | Flag to enable or disable checking the formatting of YAML files with Prettier. |
| **YAML_CONFIG_FILE** | `.yaml-lint.yml` | Filename for [Yamllint configuration](https://yamllint.readthedocs.io/en/stable/configuration.html) (ex: `.yaml-lint.yml`, `.yamllint.yml`) |
| **YAML_ERROR_ON_WARNING** | `false` | Flag to enable or disable the error on warning for Yamllint. |
The `VALIDATE_[LANGUAGE]` variables work as follows: The `VALIDATE_[LANGUAGE]` variables work as follows:
@ -416,9 +431,9 @@ Super-linter supports the following locations to deliver fixes:
files by yourself. For example: files by yourself. For example:
- If you're running Super-linter in your CI environment, such as GitHub - If you're running Super-linter in your CI environment, such as GitHub
Actions, you can commit and push changes as part of your workflow. Actions, you can commit and push changes as part of your workflow.
- If you're running Super-linter locally, you can commit the changes as you - If you're running Super-linter locally, you can commit the changes as you
would with any other change in your working directory. would with any other change in your working directory.
### Fix mode for ansible-lint ### Fix mode for ansible-lint
@ -470,6 +485,7 @@ For example:
- Do not lint JavaScript files inside test folder: `FILTER_REGEX_EXCLUDE: .*test/.*.js` - Do not lint JavaScript files inside test folder: `FILTER_REGEX_EXCLUDE: .*test/.*.js`
<!-- This `README.md` has both markers in the text, so it is considered not generated. --> <!-- This `README.md` has both markers in the text, so it is considered not generated. -->
Additionally, if you set `IGNORE_GENERATED_FILES` to `true`, super-linter Additionally, if you set `IGNORE_GENERATED_FILES` to `true`, super-linter
ignores any file with `@generated` string in it, unless the file ignores any file with `@generated` string in it, unless the file
also has `@not-generated` marker. For example, super-linter considers a file also has `@not-generated` marker. For example, super-linter considers a file
@ -523,8 +539,8 @@ For example, you can configure this private key as an
and access it with the `secrets` parameter from your GitHub Actions workflow: and access it with the `secrets` parameter from your GitHub Actions workflow:
```yaml ```yaml
env: env:
SSH_KEY: ${{ secrets.SSH_PRIVATE_KEY }} SSH_KEY: ${{ secrets.SSH_PRIVATE_KEY }}
``` ```
If you need to inject a SSL certificate into the trust store, you can use the If you need to inject a SSL certificate into the trust store, you can use the
@ -532,8 +548,8 @@ If you need to inject a SSL certificate into the trust store, you can use the
path to the files that contains a CA that can be used to validate the certificate: path to the files that contains a CA that can be used to validate the certificate:
```yaml ```yaml
env: env:
SSL_CERT_SECRET: ${{ secrets.ROOT_CA }} SSL_CERT_SECRET: ${{ secrets.ROOT_CA }}
``` ```
## Outputs ## Outputs

View file

@ -29,14 +29,14 @@ quiet: true
# Tags to skip # # Tags to skip #
################ ################
skip_list: skip_list:
- 'empty-string-compare' # Allow compare to empty string - "empty-string-compare" # Allow compare to empty string
- '204' # Allow string length greater than 160 chars - "204" # Allow string length greater than 160 chars
- 'no-changed-when' # False positives for running command shells - "no-changed-when" # False positives for running command shells
- 'command-instead-of-module' # Allow git commands for push, add, etc... - "command-instead-of-module" # Allow git commands for push, add, etc...
- 'command-instead-of-shell' # Allow use of shell when you want - "command-instead-of-shell" # Allow use of shell when you want
- 'no-handler' # Allow step to run like handler - "no-handler" # Allow step to run like handler
- 'unnamed-task' # Allow tasks without a name - "unnamed-task" # Allow tasks without a name
- 'yaml' # Disable YAML linting since it's done by yamllint - "yaml" # Disable YAML linting since it's done by yamllint
################## ##################
# Tags to follow # # Tags to follow #

View file

@ -1,4 +1,3 @@
--- ---
# Don't report passed checks in output # Don't report passed checks in output
quiet: true quiet: true
...

View file

@ -8,13 +8,12 @@ ignorePatterns:
- "!.*" - "!.*"
- "**/node_modules/.*" - "**/node_modules/.*"
parser: '@typescript-eslint/parser' parser: "@typescript-eslint/parser"
plugins: plugins:
- '@typescript-eslint' - "@typescript-eslint"
overrides: overrides:
# JSON files # JSON files
- files: - files:
- "*.json" - "*.json"

View file

@ -1,65 +1,65 @@
{ {
"extends": "recommended", "extends": "recommended",
"rules": { "rules": {
"CatchException": { "CatchException": {
"enabled": false "enabled": false
}, },
"CatchThrowable": { "CatchThrowable": {
"enabled": false "enabled": false
}, },
"ClassJavadoc": { "ClassJavadoc": {
"enabled": false "enabled": false
}, },
"ClosureAsLastMethodParameter": { "ClosureAsLastMethodParameter": {
"enabled": false "enabled": false
}, },
"DuplicateNumberLiteral": { "DuplicateNumberLiteral": {
"enabled": false "enabled": false
}, },
"DuplicateStringLiteral": { "DuplicateStringLiteral": {
"enabled": false "enabled": false
}, },
"FieldTypeRequired": { "FieldTypeRequired": {
"enabled": false "enabled": false
}, },
"JavaIoPackageAccess": { "JavaIoPackageAccess": {
"enabled": false "enabled": false
}, },
"MethodParameterTypeRequired": { "MethodParameterTypeRequired": {
"enabled": false "enabled": false
}, },
"MethodSize": { "MethodSize": {
"enabled": false "enabled": false
}, },
"NoDef": { "NoDef": {
"enabled": false "enabled": false
}, },
"PrintStackTrace": { "PrintStackTrace": {
"enabled": false "enabled": false
}, },
"PropertyName": { "PropertyName": {
"enabled": false "enabled": false
}, },
"SpaceAroundMapEntryColon": { "SpaceAroundMapEntryColon": {
"enabled": false "enabled": false
}, },
"SystemExit": { "SystemExit": {
"enabled": false "enabled": false
}, },
"UnnecessaryGetter": { "UnnecessaryGetter": {
"enabled": false "enabled": false
}, },
"UnnecessaryObjectReferences": { "UnnecessaryObjectReferences": {
"enabled": false "enabled": false
}, },
"UnnecessarySetter": { "UnnecessarySetter": {
"enabled": false "enabled": false
}, },
"VariableName": { "VariableName": {
"enabled": false "enabled": false
}, },
"VariableTypeRequired": { "VariableTypeRequired": {
"enabled": false "enabled": false
}
} }
}
} }

View file

@ -1,11 +1,6 @@
{ {
"threshold": 0, "threshold": 0,
"reporters": [ "reporters": ["consoleFull"],
"consoleFull" "ignore": ["**/__snapshots__/**", "**/node_modules/**"],
],
"ignore": [
"**/__snapshots__/**",
"**/node_modules/**"
],
"absolute": true "absolute": true
} }

View file

@ -18,18 +18,18 @@
############### ###############
# Rules by id # # Rules by id #
############### ###############
MD004: false # Unordered list style MD004: false # Unordered list style
MD007: MD007:
indent: 2 # Unordered list indentation indent: 2 # Unordered list indentation
MD013: MD013:
line_length: 400 # Line length 80 is far too short line_length: 400 # Line length 80 is far too short
MD026: MD026:
punctuation: ".,;:!。,;:" # List of not allowed punctuation: ".,;:!。,;:" # List of not allowed
MD029: false # Ordered list item prefix MD029: false # Ordered list item prefix
MD033: false # Allow inline HTML MD033: false # Allow inline HTML
MD036: false # Emphasis used instead of a heading MD036: false # Emphasis used instead of a heading
################# #################
# Rules by tags # # Rules by tags #
################# #################
blank_lines: false # Error on blank lines blank_lines: false # Error on blank lines

View file

@ -1,5 +1,4 @@
--- ---
########################## ##########################
########################## ##########################
## OpenAPI Linter rules ## ## OpenAPI Linter rules ##

View file

@ -1,2 +1 @@
--- ---
...

View file

@ -1,12 +1,12 @@
--- ---
name: 'Super-Linter' name: "Super-Linter"
author: 'Super-linter contributors' author: "Super-linter contributors"
description: 'Super-linter is a ready-to-run collection of linters and code analyzers, to help validate your source code.' description: "Super-linter is a ready-to-run collection of linters and code analyzers, to help validate your source code."
runs: runs:
using: 'docker' using: "docker"
image: 'docker://ghcr.io/super-linter/super-linter:v6.9.0' # x-release-please-version image: "docker://ghcr.io/super-linter/super-linter:v6.9.0" # x-release-please-version
branding: branding:
icon: 'check-square' icon: "check-square"
color: 'white' color: "white"
# You can view https://github.com/super-linter/super-linter#environment-variables # You can view https://github.com/super-linter/super-linter#environment-variables
# to see a comprehensive list of all environment variables that can be passed # to see a comprehensive list of all environment variables that can be passed

View file

@ -1,6 +1,6 @@
# How to add support for a new tool to super-linter # How to add support for a new tool to super-linter
If you want to propose a *Pull Request* to add **new** language support or a If you want to propose a _Pull Request_ to add **new** language support or a
new tool, it should include: new tool, it should include:
- Update documentation: - Update documentation:
@ -9,14 +9,14 @@ new tool, it should include:
1. Create the `test/linters/<LANGUAGE_NAME>` directory. 1. Create the `test/linters/<LANGUAGE_NAME>` directory.
2. Provide at least one test case with a file that is supposed to pass validation, 2. Provide at least one test case with a file that is supposed to pass validation,
with the right file extension if needed: `test/linters/<LANGUAGE_NAME>/<name-of-tool>-good` with the right file extension if needed: `test/linters/<LANGUAGE_NAME>/<name-of-tool>-good`
3. Provide at least one test case with a file that is supposed to fail validation, 3. Provide at least one test case with a file that is supposed to fail validation,
with the right file extension if needed: `test/linters/<LANGUAGE_NAME>/<name-of-tool>-bad`. with the right file extension if needed: `test/linters/<LANGUAGE_NAME>/<name-of-tool>-bad`.
If the linter supports fix mode, the test case supposed to fail validation If the linter supports fix mode, the test case supposed to fail validation
should only contain violations that the fix mode can automatically fix. should only contain violations that the fix mode can automatically fix.
Avoid test cases that fail only because of syntax errors, when possible. Avoid test cases that fail only because of syntax errors, when possible.
4. If the linter supports check-only mode or fix mode, add the `<LANGUGAGE>` 4. If the linter supports check-only mode or fix mode, add the `<LANGUGAGE>`
to the `LANGUAGES_WITH_FIX_MODE` array in `test/testUtils.sh` to the `LANGUAGES_WITH_FIX_MODE` array in `test/testUtils.sh`
- Update the test suite to check for installed packages, the commands that your new tool needs in the `PATH`, and the expected version command: - Update the test suite to check for installed packages, the commands that your new tool needs in the `PATH`, and the expected version command:
@ -34,60 +34,60 @@ new tool, it should include:
1. Create a directory named `dependencies/<name-of-tool>`. 1. Create a directory named `dependencies/<name-of-tool>`.
2. Create a `dependencies/<name-of-tool>/build.gradle` file with the following contents: 2. Create a `dependencies/<name-of-tool>/build.gradle` file with the following contents:
```gradle ```gradle
repositories { repositories {
mavenLocal() mavenLocal()
mavenCentral() mavenCentral()
} }
// Hold this dependency here so we can get automated updates using DependaBot // Hold this dependency here so we can get automated updates using DependaBot
dependencies { dependencies {
implementation 'your:dependency-here:version' implementation 'your:dependency-here:version'
} }
group 'com.github.super-linter' group 'com.github.super-linter'
version '1.0.0-SNAPSHOT' version '1.0.0-SNAPSHOT'
``` ```
3. Update the `dependencies` section in `dependencies/<name-of-tool>/build.gradle` to 3. Update the `dependencies` section in `dependencies/<name-of-tool>/build.gradle` to
install your dependencies. install your dependencies.
4. Add the following content to the `Dockerfile`: 4. Add the following content to the `Dockerfile`:
```dockerfile ```dockerfile
COPY scripts/install-<name-of-tool>.sh / COPY scripts/install-<name-of-tool>.sh /
RUN --mount=type=secret,id=GITHUB_TOKEN /<name-of-tool>.sh && rm -rf /<name-of-tool>.sh RUN --mount=type=secret,id=GITHUB_TOKEN /<name-of-tool>.sh && rm -rf /<name-of-tool>.sh
``` ```
5. Create `scripts/install-<name-of-tool>.sh`, and implement the logic to install your tool. 5. Create `scripts/install-<name-of-tool>.sh`, and implement the logic to install your tool.
You get the version of a dependency from `build.gradle`. Example: You get the version of a dependency from `build.gradle`. Example:
```sh ```sh
GOOGLE_JAVA_FORMAT_VERSION="$(grep <"google-java-format/build.gradle" "google-java-format" | awk -F ':' '{print $3}' | tr -d "'")" GOOGLE_JAVA_FORMAT_VERSION="$(grep <"google-java-format/build.gradle" "google-java-format" | awk -F ':' '{print $3}' | tr -d "'")"
``` ```
6. Add the new to DependaBot configuration: 6. Add the new to DependaBot configuration:
```yaml ```yaml
- package-ecosystem: "gradle" - package-ecosystem: "gradle"
directory: "/dependencies/<name-of-tool>" directory: "/dependencies/<name-of-tool>"
schedule: schedule:
interval: "weekly" interval: "weekly"
open-pull-requests-limit: 10 open-pull-requests-limit: 10
``` ```
- If there is a container (Docker) image: - If there is a container (Docker) image:
1. Add a new build stage to get the image: 1. Add a new build stage to get the image:
```dockerfile ```dockerfile
FROM your/image:version as <name-of-tool> FROM your/image:version as <name-of-tool>
``` ```
1. Copy the necessary binaries and libraries to the relevant locations. Example: 1. Copy the necessary binaries and libraries to the relevant locations. Example:
```sh ```sh
COPY --from=<name-of-tool> /usr/local/bin/<name-of-command> /usr/bin/ COPY --from=<name-of-tool> /usr/local/bin/<name-of-command> /usr/bin/
``` ```
- Configure the new tool: - Configure the new tool:
@ -102,9 +102,11 @@ new tool, it should include:
item as `<LANGUAGE_NAME>`. item as `<LANGUAGE_NAME>`.
- Linter configuration: - Linter configuration:
- Create a new minimal configuration file in the `TEMPLATES` directory with the same name as the - Create a new minimal configuration file in the `TEMPLATES` directory with the same name as the
default configuration filename. Example: `TEMPLATES/.ruff.toml`. default configuration filename. Example: `TEMPLATES/.ruff.toml`.
- `lib/globals/linterRules.sh`: - `lib/globals/linterRules.sh`:
- If the new linter accepts a configuration files from the command line, - If the new linter accepts a configuration files from the command line,
define a new variable: define a new variable:
`<LANGUAGE_NAME>_FILE_NAME="${<LANGUAGE_NAME>_CONFIG_FILE:-"default-config-file-name.conf"}"` `<LANGUAGE_NAME>_FILE_NAME="${<LANGUAGE_NAME>_CONFIG_FILE:-"default-config-file-name.conf"}"`
@ -116,13 +118,13 @@ new tool, it should include:
`<LANGUAGE_NAME>_COMMAND_ARGS` and add it to the command if the `<LANGUAGE_NAME>_COMMAND_ARGS` and add it to the command if the
configuration provides it. Example: configuration provides it. Example:
```bash ```bash
<LANGUAGE_NAME>_COMMAND_ARGS="${<LANGUAGE_NAME>_COMMAND_ARGS:-""}" <LANGUAGE_NAME>_COMMAND_ARGS="${<LANGUAGE_NAME>_COMMAND_ARGS:-""}"
if [ -n "${<LANGUAGE_NAME>_COMMAND_ARGS:-}" ]; then if [ -n "${<LANGUAGE_NAME>_COMMAND_ARGS:-}" ]; then
export <LANGUAGE_NAME>_COMMAND_ARGS export <LANGUAGE_NAME>_COMMAND_ARGS
LINTER_COMMANDS_ARRAY_<LANGUAGE_NAME>+=("${<LANGUAGE_NAME>_COMMAND_ARGS}") LINTER_COMMANDS_ARRAY_<LANGUAGE_NAME>+=("${<LANGUAGE_NAME>_COMMAND_ARGS}")
fi fi
``` ```
- Define the command to invoke the new linter: - Define the command to invoke the new linter:

View file

@ -12,9 +12,9 @@ releases, do the following:
1. Run: 1. Run:
```shell ```shell
make release-please-dry-run make release-please-dry-run
``` ```
This command also runs as part of the [CI process](../.github/workflows/ci.yml). This command also runs as part of the [CI process](../.github/workflows/ci.yml).

View file

@ -38,7 +38,7 @@ super-linter:
stage: Super-linter stage: Super-linter
# Use a specific Super-linter version instead of latest for more reproducible builds # Use a specific Super-linter version instead of latest for more reproducible builds
image: super-linter/super-linter:latest image: super-linter/super-linter:latest
script: [ "true" ] script: ["true"]
variables: variables:
RUN_LOCAL: "true" RUN_LOCAL: "true"
DEFAULT_WORKSPACE: $CI_PROJECT_DIR DEFAULT_WORKSPACE: $CI_PROJECT_DIR
@ -58,29 +58,29 @@ them accordingly:
1. Create a configuration file for super-linter `super-linter.env`. For example: 1. Create a configuration file for super-linter `super-linter.env`. For example:
```bash ```bash
VALIDATE_ALL_CODEBASE=true VALIDATE_ALL_CODEBASE=true
``` ```
1. Load the super-linter configuration file when running outside GitHub Actions: 1. Load the super-linter configuration file when running outside GitHub Actions:
```bash ```bash
docker run --rm \ docker run --rm \
-e RUN_LOCAL=true \ -e RUN_LOCAL=true \
--env-file ".github/super-linter.env" \ --env-file ".github/super-linter.env" \
-v "$(pwd)":/tmp/lint \ -v "$(pwd)":/tmp/lint \
ghcr.io/super-linter/super-linter:latest ghcr.io/super-linter/super-linter:latest
``` ```
1. Load the super-linter configuration file when running in GitHub Actions by 1. Load the super-linter configuration file when running in GitHub Actions by
adding the following step to the GitHub Actions workflow that runs adding the following step to the GitHub Actions workflow that runs
super-linter, after checking out your repository and before running super-linter, after checking out your repository and before running
super-linter: super-linter:
```yaml ```yaml
- name: Load super-linter configuration - name: Load super-linter configuration
run: cat .github/super-linter.env >> "$GITHUB_ENV" run: cat .github/super-linter.env >> "$GITHUB_ENV"
``` ```
## Build the container image and run the test suite locally ## Build the container image and run the test suite locally
@ -88,20 +88,20 @@ To run the build and test process locally, in the top-level super-linter
directory, do the following: directory, do the following:
1. [Create a fine-grained GitHub personal access token](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-fine-grained-personal-access-token). 1. [Create a fine-grained GitHub personal access token](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-fine-grained-personal-access-token).
The token only needs to have public/read-only access. The token only needs to have public/read-only access.
1. Store the generated personal access token in a file in the top-level 1. Store the generated personal access token in a file in the top-level
directory (This file is ignored by Git). directory (This file is ignored by Git).
```bash ```bash
echo "github_pat_XXXXXX_XXXXXX" > .github-personal-access-token echo "github_pat_XXXXXX_XXXXXX" > .github-personal-access-token
``` ```
1. Run the build process: 1. Run the build process:
```bash ```bash
. ./scripts/build-metadata.sh && make . ./scripts/build-metadata.sh && make
``` ```
To avoid invalidating the build cache because of changing values of build To avoid invalidating the build cache because of changing values of build
arguments, you can set build arguments to arbitrary values before running arguments, you can set build arguments to arbitrary values before running

View file

@ -1,12 +1,12 @@
--- ---
name: 'Super-Linter slim' name: "Super-Linter slim"
author: 'Super-linter contributors' author: "Super-linter contributors"
description: 'Super-linter is a ready-to-run collection of linters and code analyzers, to help validate your source code.' description: "Super-linter is a ready-to-run collection of linters and code analyzers, to help validate your source code."
runs: runs:
using: 'docker' using: "docker"
image: 'docker://ghcr.io/super-linter/super-linter:slim-v6.9.0' # x-release-please-version image: "docker://ghcr.io/super-linter/super-linter:slim-v6.9.0" # x-release-please-version
branding: branding:
icon: 'check-square' icon: "check-square"
color: 'white' color: "white"
# You can view https://github.com/super-linter/super-linter#environment-variables # You can view https://github.com/super-linter/super-linter#environment-variables
# to see a comprehensive list of all environment variables that can be passed # to see a comprehensive list of all environment variables that can be passed

View file

@ -178,13 +178,7 @@
"svn_url": "https://github.com/super-linter/super-linter", "svn_url": "https://github.com/super-linter/super-linter",
"tags_url": "https://api.github.com/repos/super-linter/super-linter/tags", "tags_url": "https://api.github.com/repos/super-linter/super-linter/tags",
"teams_url": "https://api.github.com/repos/super-linter/super-linter/teams", "teams_url": "https://api.github.com/repos/super-linter/super-linter/teams",
"topics": [ "topics": ["actions", "ci", "hacktoberfest", "linter", "quality-check"],
"actions",
"ci",
"hacktoberfest",
"linter",
"quality-check"
],
"trees_url": "https://api.github.com/repos/super-linter/super-linter/git/trees{/sha}", "trees_url": "https://api.github.com/repos/super-linter/super-linter/git/trees{/sha}",
"updated_at": "2024-01-04T16:38:53Z", "updated_at": "2024-01-04T16:38:53Z",
"url": "https://github.com/super-linter/super-linter", "url": "https://github.com/super-linter/super-linter",

View file

@ -6,4 +6,3 @@ parseable: true
quiet: true quiet: true
use_default_rules: true use_default_rules: true
verbosity: 1 verbosity: 1
...

View file

@ -12,10 +12,10 @@ ignorePatterns:
- "!.*" - "!.*"
- "**/node_modules/.*" - "**/node_modules/.*"
parser: '@typescript-eslint/parser' parser: "@typescript-eslint/parser"
plugins: plugins:
- '@typescript-eslint' - "@typescript-eslint"
# Don't set the jsonSyntax parser option for JSON, JSON5, and JSONC # Don't set the jsonSyntax parser option for JSON, JSON5, and JSONC
# so we can use eslint-plugin-jsonc to automatically fix issues # so we can use eslint-plugin-jsonc to automatically fix issues
@ -41,4 +41,3 @@ overrides:
- "*.tsx" - "*.tsx"
extends: extends:
- plugin:react/recommended - plugin:react/recommended
...

View file

@ -2,4 +2,3 @@
linters: linters:
enable: enable:
- gofmt - gofmt
...