name: Lint on: pull_request: branches: - main - main-hotfix - develop jobs: commit-lint: name: Semantic Commits runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 with: fetch-depth: 200 - uses: actions/setup-node@v3 with: node-version: 24 check-latest: true - name: Check commit titles # Installed outside the repo: npm rejects the root package.json's yarn `link:` dependency. run: | cp commitlint.config.mjs "$RUNNER_TEMP/" (cd "$RUNNER_TEMP" && npm install @commitlint/cli @commitlint/config-conventional) "$RUNNER_TEMP/node_modules/.bin/commitlint" --config "$RUNNER_TEMP/commitlint.config.mjs" --verbose --from ${{ github.event.pull_request.base.sha }} --to ${{ github.event.pull_request.head.sha }} linter: name: 'Frappe Linter' runs-on: ubuntu-latest if: github.event_name == 'pull_request' steps: - uses: actions/checkout@v2 - name: Set up Python 3.10 uses: actions/setup-python@v2 with: python-version: '3.14' - name: Install and Run Pre-commit uses: pre-commit/action@v3.0.1 - name: Download Semgrep rules run: git clone --depth 1 https://github.com/frappe/semgrep-rules.git frappe-semgrep-rules - name: Download semgrep run: pip install semgrep - name: Run Semgrep rules run: 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/checkout@v6 - uses: actions/setup-python@v6 with: python-version: '3.14' - name: Install and run pip-audit run: | pip install pip-audit pip-audit --desc on .