# SPDX-FileCopyrightText: 2024 Jonah Aragon # # SPDX-License-Identifier: MIT name: 🤖 Linting permissions: contents: read on: workflow_dispatch: pull_request: branches: - main push: concurrency: group: ${{ github.ref }}-${{ github.workflow }} cancel-in-progress: true env: MAIN_BRANCH: ${{ github.event_name == 'push' }} jobs: megalinter: name: MegaLinter runs-on: ubuntu-latest steps: - if: ${{ env.MAIN_BRANCH }} uses: actions/checkout@v4 - if: ${{ env.MAIN_BRANCH == 0 }} uses: actions/checkout@v4 with: fetch-depth: 0 - name: Configure markdown-link-check run: | cat <> .markdown-link-check.json { "ignorePatterns": [ { "pattern": "^https://twitter.com" }, { "pattern": "^https://reddit.com" }, { "pattern": "^#_" }, { "pattern": ".onion" }, { "pattern": "^https://en.opensuse.org" }, { "pattern": "^https://quad9.net" }, { "pattern": "^https://dnscrypt.info" }, { "pattern": "^https://pipewire.org" } ], "replacementPatterns": [ { "pattern": "^assets/", "replacement": "https://www.privacyguides.org/en/assets/" }, { "pattern": "^(../)*assets/", "replacement": "https://www.privacyguides.org/en/assets/" }, { "pattern": "^/", "replacement": "https://www.privacyguides.org/" } ], "retryOn429": true, "retryCount": 5, "aliveStatusCodes": [200, 206, 403] } EOT - id: ml # You can override MegaLinter flavor used to have faster performances # More info at https://megalinter.io/flavors/ uses: oxsecurity/megalinter/flavors/documentation@v8.0.0 env: # All available variables are described in documentation # https://megalinter.io/configuration/ # Validates all source when push on main, else just the git diff with main. VALIDATE_ALL_CODEBASE: ${{ env.MAIN_BRANCH }} 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,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 EDITORCONFIG_EDITORCONFIG_CHECKER_ARGUMENTS: -disable-indentation ENV_DOTENV_LINTER_ARGUMENTS: "--skip QuoteCharacter" MARKDOWN_MARKDOWN_LINK_CHECK_FILTER_REGEX_INCLUDE: (docs) MARKDOWN_MARKDOWNLINT_CONFIG_FILE: .markdownlint.yml MARKDOWN_MARKDOWNLINT_FILTER_REGEX_EXCLUDE: (PULL_REQUEST_TEMPLATE\.md) # Upload MegaLinter artifacts - name: Archive production artifacts if: success() || failure() uses: actions/upload-artifact@v4 with: name: MegaLinter reports path: | megalinter-reports mega-linter.log