Skip to content

Commit 4b7d08a

Browse files
Combine include-mode linting
- run optional linters in a single super-linter invocation Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1 parent 0f45e94 commit 4b7d08a

2 files changed

Lines changed: 10 additions & 138 deletions

File tree

.github/workflows/super-linter-non-slim.yml

Lines changed: 5 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ jobs:
7272
path: ${{ inputs.CODEQUALITY_PATH }}
7373
ref: ${{ inputs.CODEQUALITY_REF }}
7474

75-
- name: Lint Code Base (YAML/Markdown)
75+
- name: Lint Code Base (include mode)
7676
if: ${{ inputs.VALIDATE_KUBERNETES_KUBEVAL || inputs.VALIDATE_GITHUB_ACTIONS || inputs.VALIDATE_CHECKOV || inputs.VALIDATE_GITLEAKS }}
7777
uses: github/super-linter@v7
7878
env:
@@ -88,76 +88,14 @@ jobs:
8888
VALIDATE_ALL_CODEBASE: "${{ inputs.VALIDATE_ALL_CODEBASE }}"
8989
VALIDATE_MARKDOWN: "true"
9090
VALIDATE_YAML: "true"
91+
VALIDATE_KUBERNETES_KUBEVAL: ${{ inputs.VALIDATE_KUBERNETES_KUBEVAL && 'true' || '' }}
92+
VALIDATE_GITHUB_ACTIONS: ${{ inputs.VALIDATE_GITHUB_ACTIONS && 'true' || '' }}
93+
VALIDATE_CHECKOV: ${{ inputs.VALIDATE_CHECKOV && 'true' || '' }}
94+
VALIDATE_GITLEAKS: ${{ inputs.VALIDATE_GITLEAKS && 'true' || '' }}
9195
YAML_CONFIG_FILE: yaml/.yaml-lint.yml
9296
TERRAFORM_TFLINT_CONFIG_FILE: terraform/.tflint.hcl
9397
SQLFLUFF_CONFIG_FILE: sqlfluff/.sqlfluff-lint
9498

95-
- name: Lint Code Base (kubeval)
96-
if: ${{ inputs.VALIDATE_KUBERNETES_KUBEVAL }}
97-
uses: github/super-linter@v7
98-
env:
99-
ANSIBLE_CONFIG_FILE: ansible/.ansible-lint.yml
100-
ANSIBLE_DIRECTORY: ${{ inputs.ANSIBLE_DIRECTORY }}
101-
CHECKOV_FILE_NAME: checkov/.checkov.yaml
102-
DEFAULT_BRANCH: main
103-
GITHUB_TOKEN: ${{ github.token }}
104-
JAVA_FILE_NAME: java/checkstyle/checkstyle.xml
105-
KUBERNETES_KUBEVAL_OPTIONS: --ignore-missing-schemas
106-
LINTER_RULES_PATH: "${{ inputs.CODEQUALITY_PATH }}/"
107-
VALIDATE_ALL_CODEBASE: "${{ inputs.VALIDATE_ALL_CODEBASE }}"
108-
VALIDATE_KUBERNETES_KUBEVAL: "true"
109-
TERRAFORM_TFLINT_CONFIG_FILE: terraform/.tflint.hcl
110-
SQLFLUFF_CONFIG_FILE: sqlfluff/.sqlfluff-lint
111-
112-
- name: Lint Code Base (GitHub Actions)
113-
if: ${{ inputs.VALIDATE_GITHUB_ACTIONS }}
114-
uses: github/super-linter@v7
115-
env:
116-
ANSIBLE_CONFIG_FILE: ansible/.ansible-lint.yml
117-
ANSIBLE_DIRECTORY: ${{ inputs.ANSIBLE_DIRECTORY }}
118-
CHECKOV_FILE_NAME: checkov/.checkov.yaml
119-
DEFAULT_BRANCH: main
120-
GITHUB_TOKEN: ${{ github.token }}
121-
JAVA_FILE_NAME: java/checkstyle/checkstyle.xml
122-
KUBERNETES_KUBEVAL_OPTIONS: --ignore-missing-schemas
123-
LINTER_RULES_PATH: "${{ inputs.CODEQUALITY_PATH }}/"
124-
VALIDATE_ALL_CODEBASE: "${{ inputs.VALIDATE_ALL_CODEBASE }}"
125-
VALIDATE_GITHUB_ACTIONS: "true"
126-
TERRAFORM_TFLINT_CONFIG_FILE: terraform/.tflint.hcl
127-
SQLFLUFF_CONFIG_FILE: sqlfluff/.sqlfluff-lint
128-
129-
- name: Lint Code Base (Checkov)
130-
if: ${{ inputs.VALIDATE_CHECKOV }}
131-
uses: github/super-linter@v7
132-
env:
133-
ANSIBLE_CONFIG_FILE: ansible/.ansible-lint.yml
134-
ANSIBLE_DIRECTORY: ${{ inputs.ANSIBLE_DIRECTORY }}
135-
CHECKOV_FILE_NAME: checkov/.checkov.yaml
136-
DEFAULT_BRANCH: main
137-
GITHUB_TOKEN: ${{ github.token }}
138-
JAVA_FILE_NAME: java/checkstyle/checkstyle.xml
139-
LINTER_RULES_PATH: "${{ inputs.CODEQUALITY_PATH }}/"
140-
VALIDATE_ALL_CODEBASE: "${{ inputs.VALIDATE_ALL_CODEBASE }}"
141-
VALIDATE_CHECKOV: "true"
142-
TERRAFORM_TFLINT_CONFIG_FILE: terraform/.tflint.hcl
143-
SQLFLUFF_CONFIG_FILE: sqlfluff/.sqlfluff-lint
144-
145-
- name: Lint Code Base (Gitleaks)
146-
if: ${{ inputs.VALIDATE_GITLEAKS }}
147-
uses: github/super-linter@v7
148-
env:
149-
ANSIBLE_CONFIG_FILE: ansible/.ansible-lint.yml
150-
ANSIBLE_DIRECTORY: ${{ inputs.ANSIBLE_DIRECTORY }}
151-
CHECKOV_FILE_NAME: checkov/.checkov.yaml
152-
DEFAULT_BRANCH: main
153-
GITHUB_TOKEN: ${{ github.token }}
154-
JAVA_FILE_NAME: java/checkstyle/checkstyle.xml
155-
LINTER_RULES_PATH: "${{ inputs.CODEQUALITY_PATH }}/"
156-
VALIDATE_ALL_CODEBASE: "${{ inputs.VALIDATE_ALL_CODEBASE }}"
157-
VALIDATE_GITLEAKS: "true"
158-
TERRAFORM_TFLINT_CONFIG_FILE: terraform/.tflint.hcl
159-
SQLFLUFF_CONFIG_FILE: sqlfluff/.sqlfluff-lint
160-
16199
- name: Lint Code Base (exclude mode)
162100
if: ${{ !(inputs.VALIDATE_KUBERNETES_KUBEVAL || inputs.VALIDATE_GITHUB_ACTIONS || inputs.VALIDATE_CHECKOV || inputs.VALIDATE_GITLEAKS) }}
163101
uses: github/super-linter@v7

.github/workflows/super-linter.yml

Lines changed: 5 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ jobs:
8484
- name: Configure git for private modules
8585
run: git config --global url."https://${{ github.token }}:x-oauth-basic@github.com/".insteadOf "https://github.com/"
8686

87-
- name: Lint Code Base (YAML/Markdown)
87+
- name: Lint Code Base (include mode)
8888
if: ${{ inputs.VALIDATE_KUBERNETES_KUBEVAL || inputs.VALIDATE_GITHUB_ACTIONS || inputs.VALIDATE_CHECKOV || inputs.VALIDATE_GITLEAKS }}
8989
uses: github/super-linter@v7
9090
env:
@@ -101,80 +101,14 @@ jobs:
101101
VALIDATE_ALL_CODEBASE: "${{ inputs.VALIDATE_ALL_CODEBASE }}"
102102
VALIDATE_MARKDOWN: "true"
103103
VALIDATE_YAML: "true"
104+
VALIDATE_KUBERNETES_KUBEVAL: ${{ inputs.VALIDATE_KUBERNETES_KUBEVAL && 'true' || '' }}
105+
VALIDATE_GITHUB_ACTIONS: ${{ inputs.VALIDATE_GITHUB_ACTIONS && 'true' || '' }}
106+
VALIDATE_CHECKOV: ${{ inputs.VALIDATE_CHECKOV && 'true' || '' }}
107+
VALIDATE_GITLEAKS: ${{ inputs.VALIDATE_GITLEAKS && 'true' || '' }}
104108
YAML_CONFIG_FILE: yaml/.yaml-lint.yml
105109
TERRAFORM_TFLINT_CONFIG_FILE: terraform/.tflint.hcl
106110
SQLFLUFF_CONFIG_FILE: sqlfluff/.sqlfluff-lint
107111

108-
- name: Lint Code Base (kubeval)
109-
if: ${{ inputs.VALIDATE_KUBERNETES_KUBEVAL }}
110-
uses: github/super-linter@v7
111-
env:
112-
ANSIBLE_CONFIG_FILE: ansible/.ansible-lint.yml
113-
ANSIBLE_DIRECTORY: ${{ inputs.ANSIBLE_DIRECTORY }}
114-
CHECKOV_FILE_NAME: checkov/.checkov.yaml
115-
DEFAULT_BRANCH: main
116-
FILTER_REGEX_EXCLUDE: "${{ inputs.FILTER_REGEX_EXCLUDE }}"
117-
GITHUB_TOKEN: ${{ github.token }}
118-
JAVA_FILE_NAME: java/checkstyle/checkstyle.xml
119-
KUBERNETES_KUBEVAL_OPTIONS: --ignore-missing-schemas
120-
LINTER_RULES_PATH: "${{ inputs.CODEQUALITY_PATH }}/"
121-
VALIDATE_ALL_CODEBASE: "${{ inputs.VALIDATE_ALL_CODEBASE }}"
122-
VALIDATE_KUBERNETES_KUBEVAL: "true"
123-
TERRAFORM_TFLINT_CONFIG_FILE: terraform/.tflint.hcl
124-
SQLFLUFF_CONFIG_FILE: sqlfluff/.sqlfluff-lint
125-
126-
- name: Lint Code Base (GitHub Actions)
127-
if: ${{ inputs.VALIDATE_GITHUB_ACTIONS }}
128-
uses: github/super-linter@v7
129-
env:
130-
ANSIBLE_CONFIG_FILE: ansible/.ansible-lint.yml
131-
ANSIBLE_DIRECTORY: ${{ inputs.ANSIBLE_DIRECTORY }}
132-
CHECKOV_FILE_NAME: checkov/.checkov.yaml
133-
DEFAULT_BRANCH: main
134-
FILTER_REGEX_EXCLUDE: "${{ inputs.FILTER_REGEX_EXCLUDE }}"
135-
GITHUB_TOKEN: ${{ github.token }}
136-
JAVA_FILE_NAME: java/checkstyle/checkstyle.xml
137-
KUBERNETES_KUBEVAL_OPTIONS: --ignore-missing-schemas
138-
LINTER_RULES_PATH: "${{ inputs.CODEQUALITY_PATH }}/"
139-
VALIDATE_ALL_CODEBASE: "${{ inputs.VALIDATE_ALL_CODEBASE }}"
140-
VALIDATE_GITHUB_ACTIONS: "true"
141-
TERRAFORM_TFLINT_CONFIG_FILE: terraform/.tflint.hcl
142-
SQLFLUFF_CONFIG_FILE: sqlfluff/.sqlfluff-lint
143-
144-
- name: Lint Code Base (Checkov)
145-
if: ${{ inputs.VALIDATE_CHECKOV }}
146-
uses: github/super-linter@v7
147-
env:
148-
ANSIBLE_CONFIG_FILE: ansible/.ansible-lint.yml
149-
ANSIBLE_DIRECTORY: ${{ inputs.ANSIBLE_DIRECTORY }}
150-
CHECKOV_FILE_NAME: checkov/.checkov.yaml
151-
DEFAULT_BRANCH: main
152-
FILTER_REGEX_EXCLUDE: "${{ inputs.FILTER_REGEX_EXCLUDE }}"
153-
GITHUB_TOKEN: ${{ github.token }}
154-
JAVA_FILE_NAME: java/checkstyle/checkstyle.xml
155-
LINTER_RULES_PATH: "${{ inputs.CODEQUALITY_PATH }}/"
156-
VALIDATE_ALL_CODEBASE: "${{ inputs.VALIDATE_ALL_CODEBASE }}"
157-
VALIDATE_CHECKOV: "true"
158-
TERRAFORM_TFLINT_CONFIG_FILE: terraform/.tflint.hcl
159-
SQLFLUFF_CONFIG_FILE: sqlfluff/.sqlfluff-lint
160-
161-
- name: Lint Code Base (Gitleaks)
162-
if: ${{ inputs.VALIDATE_GITLEAKS }}
163-
uses: github/super-linter@v7
164-
env:
165-
ANSIBLE_CONFIG_FILE: ansible/.ansible-lint.yml
166-
ANSIBLE_DIRECTORY: ${{ inputs.ANSIBLE_DIRECTORY }}
167-
CHECKOV_FILE_NAME: checkov/.checkov.yaml
168-
DEFAULT_BRANCH: main
169-
FILTER_REGEX_EXCLUDE: "${{ inputs.FILTER_REGEX_EXCLUDE }}"
170-
GITHUB_TOKEN: ${{ github.token }}
171-
JAVA_FILE_NAME: java/checkstyle/checkstyle.xml
172-
LINTER_RULES_PATH: "${{ inputs.CODEQUALITY_PATH }}/"
173-
VALIDATE_ALL_CODEBASE: "${{ inputs.VALIDATE_ALL_CODEBASE }}"
174-
VALIDATE_GITLEAKS: "true"
175-
TERRAFORM_TFLINT_CONFIG_FILE: terraform/.tflint.hcl
176-
SQLFLUFF_CONFIG_FILE: sqlfluff/.sqlfluff-lint
177-
178112
- name: Lint Code Base (exclude mode)
179113
if: ${{ !(inputs.VALIDATE_KUBERNETES_KUBEVAL || inputs.VALIDATE_GITHUB_ACTIONS || inputs.VALIDATE_CHECKOV || inputs.VALIDATE_GITLEAKS) }}
180114
uses: github/super-linter@v7

0 commit comments

Comments
 (0)