mirror of
https://github.com/privacyguides/privacyguides.org.git
synced 2025-08-22 02:39:19 +00:00
116 lines
3.5 KiB
YAML
116 lines
3.5 KiB
YAML
# SPDX-FileCopyrightText: 2024 Jonah Aragon <jonah@privacyguides.org>
|
|
#
|
|
# 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 <<EOT >> .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
|