diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4d94a1f5..2d1c8a10 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -34,7 +34,7 @@ jobs: services: mysql: - image: mariadb:10.6 + image: mariadb:11.8 env: MARIADB_ROOT_PASSWORD: 'root' ports: @@ -43,12 +43,12 @@ jobs: steps: - name: Clone - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Setup Python - uses: actions/setup-python@v5 + uses: actions/setup-python@v6 with: - python-version: '3.10' + python-version: '3.14' - name: Check for valid Python & Merge Conflicts run: | @@ -59,9 +59,9 @@ jobs: fi - name: Setup Node - uses: actions/setup-node@v4 + uses: actions/setup-node@v6 with: - node-version: 18 + node-version: 24 check-latest: true - name: Add to Hosts diff --git a/.github/workflows/linter.yml b/.github/workflows/linter.yml index d756d5f3..0ad8fcca 100644 --- a/.github/workflows/linter.yml +++ b/.github/workflows/linter.yml @@ -1,10 +1,7 @@ name: Linter on: - pull_request: - workflow_dispatch: - push: - branches: [ develop ] + pull_request: { } permissions: contents: read @@ -20,12 +17,12 @@ jobs: if: github.event_name == 'pull_request' steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 with: fetch-depth: 200 - - uses: actions/setup-node@v4 + - uses: actions/setup-node@v6 with: - node-version: 16 + node-version: 24 check-latest: true - name: Check commit titles @@ -39,16 +36,21 @@ jobs: if: github.event_name == 'pull_request' steps: - - uses: actions/checkout@v4 - - uses: actions/setup-python@v5 + - uses: actions/checkout@v6 + + - name: Set up Python 3.14 + uses: actions/setup-python@v6 with: - python-version: '3.10' - - uses: pre-commit/action@v3.0.0 + python-version: '3.14' + + - name: Install and Run Pre-commit + 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: Download semgrep + run: pip install semgrep + - name: Run Semgrep rules - run: | - pip install semgrep==1.90.0 - semgrep ci --config ./frappe-semgrep-rules/rules --config r/python.lang.correctness + run: semgrep ci --config ./frappe-semgrep-rules/rules --config r/python.lang.correctness diff --git a/codecov.yml b/codecov.yml new file mode 100644 index 00000000..7a8db1f1 --- /dev/null +++ b/codecov.yml @@ -0,0 +1,23 @@ +codecov: + require_ci_to_pass: yes + +coverage: + status: + project: + default: + target: auto + threshold: 0.5% + + patch: + default: + target: 85% + threshold: 0% + base: auto + branches: + - develop + if_ci_failed: ignore + only_pulls: true + +comment: + layout: "diff, files" + require_changes: true diff --git a/pyproject.toml b/pyproject.toml index 12b522c9..f35006d7 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ authors = [ { name = "Frappe Technologies Pvt Ltd", email = "hello@frappe.io"} ] description = "Payments app for frappe" -requires-python = ">=3.10" +requires-python = ">=3.14" readme = "README.md" dynamic = ["version"] dependencies = [ @@ -61,3 +61,7 @@ docstring-code-format = true [project.urls] Repository = "https://github.com/frappe/payments.git" "Bug Reports" = "https://github.com/frappe/payments/issues" + +[tool.bench.frappe-dependencies] +frappe = ">=16.0.0,<17.0.0" +erpnext = ">=16.0.0,<17.0.0" \ No newline at end of file