mirror of
https://github.com/auricom/home-cluster.git
synced 2025-09-27 04:21:27 +02:00
feat: megalinter
This commit is contained in:
58
.github/workflows/lint.yaml
vendored
58
.github/workflows/lint.yaml
vendored
@@ -2,13 +2,14 @@
|
|||||||
name: Lint
|
name: Lint
|
||||||
|
|
||||||
on: # yamllint disable-line rule:truthy
|
on: # yamllint disable-line rule:truthy
|
||||||
|
workflow_dispatch:
|
||||||
pull_request:
|
pull_request:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
|
|
||||||
env:
|
concurrency:
|
||||||
# Currently no way to detect automatically
|
group: ${{ github.ref }}-${{ github.workflow }}
|
||||||
DEFAULT_BRANCH: main
|
cancel-in-progress: true
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
@@ -25,14 +26,47 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
app_id: "${{ secrets.BOT_APP_ID }}"
|
app_id: "${{ secrets.BOT_APP_ID }}"
|
||||||
private_key: "${{ secrets.BOT_APP_PRIVATE_KEY }}"
|
private_key: "${{ secrets.BOT_APP_PRIVATE_KEY }}"
|
||||||
- name: Lint
|
- name: MegaLinter
|
||||||
uses: github/super-linter/slim@v4
|
uses: oxsecurity/megalinter@v6.0.2
|
||||||
env:
|
env:
|
||||||
VALIDATE_ALL_CODEBASE: false
|
|
||||||
DEFAULT_BRANCH: "${{ env.DEFAULT_BRANCH }}"
|
|
||||||
GITHUB_TOKEN: "${{ steps.generate-token.outputs.token }}"
|
GITHUB_TOKEN: "${{ steps.generate-token.outputs.token }}"
|
||||||
ANSIBLE_CONFIG_FILE: .ansible-lint
|
PRINT_ALPACA: false
|
||||||
MARKDOWN_CONFIG_FILE: .markdownlint.yaml
|
VALIDATE_ALL_CODEBASE: ${{ github.event_name == 'workflow_dispatch' }}
|
||||||
TERRAFORM_TFLINT_CONFIG_FILE: .tflint.hcl
|
ENABLE_LINTERS: |-
|
||||||
YAML_CONFIG_FILE: .yamllint.yaml
|
${{
|
||||||
KUBERNETES_KUBEVAL_OPTIONS: --ignore-missing-schemas
|
join(
|
||||||
|
fromJSON('
|
||||||
|
[
|
||||||
|
"ACTION_ACTIONLINT",
|
||||||
|
"ANSIBLE_ANSIBLE_LINT",
|
||||||
|
"COPYPASTE_JSCPD",
|
||||||
|
"CREDENTIALS_SECRETLINT",
|
||||||
|
"GIT_GIT_DIFF",
|
||||||
|
"KUBERNETES_KUBEVAL",
|
||||||
|
"MARKDOWN_MARKDOWNLINT",
|
||||||
|
"TERRAFORM_TERRAFORM_FMT",
|
||||||
|
"YAML_PRETTIER",
|
||||||
|
"YAML_YAMLLINT"
|
||||||
|
]
|
||||||
|
'),
|
||||||
|
','
|
||||||
|
)
|
||||||
|
}}
|
||||||
|
ANSIBLE_DIRECTORY: ansible
|
||||||
|
ANSIBLE_ANSIBLE_LINT_CONFIG_FILE: .ansible-lint
|
||||||
|
KUBERNETES_DIRECTORY: cluster
|
||||||
|
KUBERNETES_KUBEVAL_ARGUMENTS: --ignore-missing-schemas
|
||||||
|
KUBERNETES_KUBEVAL_FILTER_REGEX_INCLUDE: "(kubernetes)"
|
||||||
|
MARKDOWN_MARKDOWNLINT_CONFIG_FILE: .github/linters/.markdownlint.yaml
|
||||||
|
MARKDOWN_MARKDOWNLINT_RULES_PATH: .github/
|
||||||
|
YAML_YAMLLINT_CONFIG_FILE: .github/linters/.yamllint.yaml
|
||||||
|
YAML_PRETTIER_FILTER_REGEX_EXCLUDE: "(.*\\.sops\\.ya?ml)"
|
||||||
|
|
||||||
|
- name: Archive production artifacts
|
||||||
|
if: ${{ success() }} || ${{ failure() }}
|
||||||
|
uses: actions/upload-artifact@v3
|
||||||
|
with:
|
||||||
|
name: MegaLinter reports
|
||||||
|
path: |
|
||||||
|
report
|
||||||
|
mega-linter.log
|
||||||
|
Reference in New Issue
Block a user