diff --git a/.github/workflows/mega-linter.yml b/.github/workflows/mega-linter.yml new file mode 100644 index 00000000..e39b42ad --- /dev/null +++ b/.github/workflows/mega-linter.yml @@ -0,0 +1,61 @@ +# MegaLinter GitHub Action configuration file +# More info at https://megalinter.io +name: '✏️ MegaLinter' + +permissions: + contents: read + +on: + workflow_dispatch: + pull_request: + branches: + - main + push: + branches: + - main + +concurrency: + group: ${{ github.ref }}-${{ github.workflow }} + cancel-in-progress: true + +# Comment env block if you do not want to apply fixes +env: + # Apply linter fixes configuration + APPLY_FIXES: all + + # Decide which event triggers application of fixes in a commit or a PR + APPLY_FIXES_EVENT: pull_request, push + + # If APPLY_FIXES is used, defines if the fixes are directly committed (commit) + # or posted in a PR (pull_request) + APPLY_FIXES_MODE: commit + +jobs: + megalinter: + name: MegaLinter + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + # MegaLinter + - name: Run MegaLinter + id: ml + uses: oxsecurity/megalinter/flavors/documentation@v7.12.0 + env: + VALIDATE_ALL_CODEBASE: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + DISABLE: COPYPASTE,SPELL,HTML + DISABLE_LINTERS: JSON_JSONLINT,MARKDOWN_MARKDOWN_TABLE_FORMATTER + DISABLE_ERRORS_LINTERS: CSS_STYLELINT,MARKDOWN_MARKDOWN_LINK_CHECK,YAML_YAMLLINT,DOCKERFILE_HADOLINT,REPOSITORY_TRIVY,REPOSITORY_CHECKOV,REPOSITORY_GITLEAKS + MARKDOWN_MARKDOWNLINT_FILTER_REGEX_EXCLUDE: '(export/|briar\.md)' + + # Upload MegaLinter artifacts + - name: Archive MegaLinter reports + uses: actions/upload-artifact@v4 + if: always() # Ensure artifacts are always uploaded + with: + name: MegaLinter reports + path: | + megalinter-reports + mega-linter.log \ No newline at end of file diff --git a/.gitignore b/.gitignore index e0548d17..43278267 100644 --- a/.gitignore +++ b/.gitignore @@ -9,4 +9,5 @@ vendor/ Gemfile* # Artifact from PDF tests -*.log \ No newline at end of file +*.log +megalinter-reports/