1- name : Python-api QA (Security & Style)
1+ name : QGIS Plugin Repository Checks
22
3- # Trigger the workflow on every push
43on : [push]
54
65jobs :
7- quality-assurance :
6+ qgis_repo_checks :
7+ name : Mirror plugins.qgis.org upload scan
88 runs-on : ubuntu-latest
99 steps :
10- - name : Checkout code
11- uses : actions/checkout@v4
10+ - uses : actions/checkout@v4
1211
13- - name : Set up Python
14- uses : actions/setup-python@v4
12+ # This package ships inside the QGIS plugin zip, so the scan that gates it is
13+ # the plugin's. The action lives there to keep one copy of the rule snapshot.
14+ - uses : MerginMaps/qgis-plugin/.github/actions/qgis-repo-checks@master
1515 with :
16- python-version : ' 3.10'
17-
18- - name : Install dependencies
19- run : |
20- # Upgrade pip and install security/linting tools
21- python -m pip install --upgrade pip
22- pip install bandit detect-secrets
23-
24- # - name: Install dependencies
25- # run: |
26- # # Upgrade pip and install security/linting tools
27- # python -m pip install --upgrade pip
28- # pip install bandit detect-secrets flake8 flake8-json
29-
30- - name : Run Bandit (Security Scan)
31- # Scan the mergin folder for vulnerabilities, excluding the test directory
32- run : bandit -r ./mergin/ -ll --exclude ./mergin/test
33-
34- - name : Run Detect Secrets
35- # Scan the plugin directory for hardcoded secrets/credentials
36- run : detect-secrets scan ./mergin/ --all-files
37-
38- # - name: Run Flake8 (Style Check)
39- # # Style enforcement using MerginMaps standards
40- # # Ignoring E501 (line length) and W503 (operator line breaks)
41- # run: |
42- # flake8 ./mergin/ --max-line-length=120 --ignore=E501,W503 --exclude=test
16+ root : mergin
0 commit comments