Fix/unpaid invoice cache flash #393
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Linters | |
| on: | |
| pull_request: | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| linter: | |
| name: 'Frappe Linter' | |
| runs-on: ubuntu-latest | |
| if: false | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.10' | |
| cache: pip | |
| - uses: pre-commit/action@v3.0.0 | |
| - name: Download Semgrep rules | |
| run: git clone --depth 1 https://github.com/frappe/semgrep-rules.git frappe-semgrep-rules | |
| - name: Run Semgrep rules | |
| run: | | |
| pip install semgrep | |
| semgrep ci --config ./frappe-semgrep-rules/rules --config r/python.lang.correctness | |
| deps-vulnerable-check: | |
| name: 'Vulnerable Dependency Check' | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.10' | |
| - uses: actions/checkout@v4 | |
| - name: Cache pip | |
| uses: actions/cache@v3 | |
| with: | |
| path: ~/.cache/pip | |
| key: ${{ runner.os }}-pip-${{ hashFiles('**/*requirements.txt', '**/pyproject.toml', '**/setup.py') }} | |
| restore-keys: | | |
| ${{ runner.os }}-pip- | |
| ${{ runner.os }}- | |
| - name: Install and run pip-audit | |
| run: | | |
| python -m venv .audit-venv | |
| . .audit-venv/bin/activate | |
| pip install --upgrade pip | |
| pip install pip-audit | |
| pip install "frappe @ git+https://github.com/frappe/frappe.git@version-15" | |
| pip install "erpnext @ git+https://github.com/frappe/erpnext.git@version-15" | |
| cd ${GITHUB_WORKSPACE} | |
| pip install --no-deps . | |
| # The pyjwt advisories below live in PyJWT 2.12.1, which frappe | |
| # version-15 hard-pins (PyJWT~=2.12.1, i.e. <2.13). They are fixed in | |
| # 2.13.0 but pos_next cannot upgrade a dependency frappe constrains — | |
| # this is an upstream-frappe issue, not a pos_next one. Ignore the | |
| # specific IDs (NOT the package) so the gate still fails on any NEW | |
| # vulnerability; revisit when frappe relaxes its PyJWT pin. | |
| pip-audit --desc on \ | |
| --ignore-vuln PYSEC-2026-175 \ | |
| --ignore-vuln PYSEC-2026-177 \ | |
| --ignore-vuln PYSEC-2026-178 \ | |
| --ignore-vuln PYSEC-2026-179 |