From 2ae0552d0791886f7ca8378df8034a62b962ff58 Mon Sep 17 00:00:00 2001 From: Rafal Artych <121048129+rartych@users.noreply.github.com> Date: Thu, 1 Aug 2024 15:30:33 +0200 Subject: [PATCH 1/6] Update megalinter.yml --- .github/workflows/megalinter.yml | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/.github/workflows/megalinter.yml b/.github/workflows/megalinter.yml index 007438f..6bda700 100644 --- a/.github/workflows/megalinter.yml +++ b/.github/workflows/megalinter.yml @@ -1,6 +1,9 @@ --- # MegaLinter GitHub Action configuration file # More info at https://megalinter.io +# CAMARA Project - Github Action for Pull Reqests +# 31.01.2024 - initial version + name: MegaLinter on: # yamllint disable-line rule:truthy @@ -31,7 +34,7 @@ jobs: steps: # Git Checkout - name: Checkout Code - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: token: ${{ secrets.GITHUB_TOKEN }} fetch-depth: 0 # If you use VALIDATE_ALL_CODEBASE = true, you can remove this line to improve performances @@ -39,8 +42,8 @@ jobs: run: npm install -g @stoplight/spectral - name: Install Spectral functions run: npm install -g @stoplight/spectral-functions - - name: Run spectral:oas Spectral Linting - run: spectral lint code/API_definitions/openapi.yaml --verbose --ruleset .spectral.yml + # - name: Run spectral:oas Spectral Linting + # run: spectral lint code/API_definitions/*.yaml --verbose --ruleset .spectral.yml # Replace openapi.yaml file with your API specification file # MegaLinter @@ -52,19 +55,22 @@ jobs: env: # All available variables are described in documentation # https://megalinter.io/configuration/ + PRINT_ALPACA: false # VALIDATE_ALL_CODEBASE: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }} # Validates all source when push on main, else just the git diff with main. Override with true if you always want to lint all sources VALIDATE_ALL_CODEBASE: true GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # ADD YOUR CUSTOM ENV VARIABLES HERE OR DEFINE THEM IN A FILE .mega-linter.yml AT THE ROOT OF YOUR REPOSITORY DISABLE: COPYPASTE,MARKDOWN - DISABLE_LINTERS: SPELL_CSPELL,SPELL_LYCHEE,YAML_PRETTIER,REPOSITORY_SEMGREP,REPOSITORY_DEVSKIM,REPOSITORY_KICS,REPOSITORY_TRIVY,REPOSITORY_CHECKOV,REPOSITORY_GITLEAKS,JAVA_PMD + DISABLE_LINTERS: SPELL_CSPELL,SPELL_LYCHEE,YAML_PRETTIER,REPOSITORY_GRYPE, REPOSITORY_SEMGREP,REPOSITORY_DEVSKIM,REPOSITORY_KICS,REPOSITORY_TRIVY,REPOSITORY_TRIVY_SBOM,REPOSITORY_TRUFFLEHOG,REPOSITORY_CHECKOV,REPOSITORY_GITLEAKS,YAML_V8R,JAVA_PMD,JAVA_CHECKSTYLE YAML_YAMLLINT_CONFIG_FILE: ".yamllint.yaml" - JAVA_CHECKSTYLE_CONFIG_FILE: "javalint.xml" + OPENAPI_SPECTRAL_CONFIG_FILE: ".spectral.yml" + YAML_YAMLLINT_FILTER_REGEX_INCLUDE: "(code/)" + OPENAPI_SPECTRAL_FILTER_REGEX_INCLUDE: "(code/)" # Upload MegaLinter artifacts - name: Archive production artifacts if: ${{ success() }} || ${{ failure() }} - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: MegaLinter reports path: | From ed3603385a5d4cdda76c214c0bef1e3be5b53016 Mon Sep 17 00:00:00 2001 From: Rafal Artych <121048129+rartych@users.noreply.github.com> Date: Thu, 1 Aug 2024 15:32:10 +0200 Subject: [PATCH 2/6] Create spectral_oas_lint.yml --- .github/workflows/spectral_oas_lint.yml | 36 +++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 .github/workflows/spectral_oas_lint.yml diff --git a/.github/workflows/spectral_oas_lint.yml b/.github/workflows/spectral_oas_lint.yml new file mode 100644 index 0000000..a828fd5 --- /dev/null +++ b/.github/workflows/spectral_oas_lint.yml @@ -0,0 +1,36 @@ +--- +# CAMARA Project - workflow configuration to manually run CAMARA OAS rules +# see https://docs.github.com/en/actions/using-workflows/manually-running-a-workflow +# 31.01.2024 - initial version + +name: Spectral manual run + +on: workflow_dispatch + +concurrency: + group: ${{ github.ref }}-${{ github.workflow }} + cancel-in-progress: true + +jobs: + build: + name: Spectral linting + runs-on: ubuntu-latest + permissions: + # Give the default GITHUB_TOKEN write permission to commit and push, comment issues & post new PR + # Remove the ones you do not need + contents: write + issues: write + pull-requests: write + steps: + # Git Checkout + - name: Checkout Code + uses: actions/checkout@v4 + with: + token: ${{ secrets.GITHUB_TOKEN }} + fetch-depth: 0 # If you use VALIDATE_ALL_CODEBASE = true, you can remove this line to improve performances + - name: Install Spectral + run: npm install -g @stoplight/spectral + - name: Install Spectral functions + run: npm install -g @stoplight/spectral-functions + - name: Run Spectral linting + run: spectral lint code/API_definitions/*.yaml --verbose --ruleset .spectral.yml From 5aa388794b1121a9b9e20af97c087fa8691801b6 Mon Sep 17 00:00:00 2001 From: Rafal Artych <121048129+rartych@users.noreply.github.com> Date: Thu, 1 Aug 2024 15:37:32 +0200 Subject: [PATCH 3/6] Create .yamllint.yaml --- .yamllint.yaml | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 .yamllint.yaml diff --git a/.yamllint.yaml b/.yamllint.yaml new file mode 100644 index 0000000..081ef09 --- /dev/null +++ b/.yamllint.yaml @@ -0,0 +1,35 @@ +--- +# CAMARA Project - YAML linting configuration for yamllint https://yamllint.readthedocs.io/en/latest/rules.html +# 31.01.2024 - initial version + +yaml-files: + - '*.yaml' + - '*.yml' + - '.yamllint' + +rules: + braces: enable + brackets: enable + colons: enable + commas: enable + comments: + min-spaces-from-content: 1 + level: error + comments-indentation: + level: error + document-end: disable + document-start: disable + empty-lines: enable + empty-values: disable + hyphens: enable + indentation: enable + key-duplicates: enable + key-ordering: disable + line-length: disable + new-line-at-end-of-file: enable + new-lines: disable + octal-values: disable + quoted-strings: disable + trailing-spaces: enable + truthy: + level: error From 35f866deb48648341a29c34fb57191e6080b6315 Mon Sep 17 00:00:00 2001 From: Rafal Artych <121048129+rartych@users.noreply.github.com> Date: Thu, 1 Aug 2024 15:48:51 +0200 Subject: [PATCH 4/6] Rename camara-language-avoid-telco.js to camara-language-avoid-telco.js --- {lint-function => lint_function}/camara-language-avoid-telco.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename {lint-function => lint_function}/camara-language-avoid-telco.js (99%) diff --git a/lint-function/camara-language-avoid-telco.js b/lint_function/camara-language-avoid-telco.js similarity index 99% rename from lint-function/camara-language-avoid-telco.js rename to lint_function/camara-language-avoid-telco.js index e9cf205..061b543 100644 --- a/lint-function/camara-language-avoid-telco.js +++ b/lint_function/camara-language-avoid-telco.js @@ -37,4 +37,4 @@ export default async function (input) { if (errors.length > 0) { console.log(`Hint camara-language-avoid-telco ` + suggestions.join(', ')); } -}; \ No newline at end of file +}; From 956d8d5c34f3d5ad6d1b16da4f4eb3aff9047128 Mon Sep 17 00:00:00 2001 From: Rafal Artych <121048129+rartych@users.noreply.github.com> Date: Thu, 1 Aug 2024 15:49:26 +0200 Subject: [PATCH 5/6] Rename camara-reserved-words.js to camara-reserved-words.js --- {lint-function => lint_function}/camara-reserved-words.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename {lint-function => lint_function}/camara-reserved-words.js (99%) diff --git a/lint-function/camara-reserved-words.js b/lint_function/camara-reserved-words.js similarity index 99% rename from lint-function/camara-reserved-words.js rename to lint_function/camara-reserved-words.js index 49d0b22..c28e63a 100644 --- a/lint-function/camara-reserved-words.js +++ b/lint_function/camara-reserved-words.js @@ -95,4 +95,4 @@ export default async function lintReservedWords(input) { } } } -} \ No newline at end of file +} From 75e41f38ff6b9f0cbd9c615d0b51f1ba116f7b51 Mon Sep 17 00:00:00 2001 From: Rafal Artych <121048129+rartych@users.noreply.github.com> Date: Thu, 1 Aug 2024 15:49:57 +0200 Subject: [PATCH 6/6] Rename camara-security-no-secrets-in-path-or-query-parameters.js to camara-security-no-secrets-in-path-or-query-parameters.js --- .../camara-security-no-secrets-in-path-or-query-parameters.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename {lint-function => lint_function}/camara-security-no-secrets-in-path-or-query-parameters.js (99%) diff --git a/lint-function/camara-security-no-secrets-in-path-or-query-parameters.js b/lint_function/camara-security-no-secrets-in-path-or-query-parameters.js similarity index 99% rename from lint-function/camara-security-no-secrets-in-path-or-query-parameters.js rename to lint_function/camara-security-no-secrets-in-path-or-query-parameters.js index 3a3ebd7..ebbff2a 100644 --- a/lint-function/camara-security-no-secrets-in-path-or-query-parameters.js +++ b/lint_function/camara-security-no-secrets-in-path-or-query-parameters.js @@ -23,4 +23,4 @@ export default async function (input) { } } } -} \ No newline at end of file +}