Skip to content

fix(ci): fix Format job so pre-commit and pylint pass#35

Open
llorracc wants to merge 3 commits intomainfrom
fix/ci-format-job-validate-ruff-mypy-codespell
Open

fix(ci): fix Format job so pre-commit and pylint pass#35
llorracc wants to merge 3 commits intomainfrom
fix/ci-format-job-validate-ruff-mypy-codespell

Conversation

@llorracc
Copy link
Contributor

@llorracc llorracc commented Mar 9, 2026

Summary

Fixes the failing CI Format job (pre-commit + PyLint) so CI can pass.

Changes

validate-pyproject

  • Use henryiii/validate-pyproject-schema-store repo (rev 2026.03.06) instead of abravalheri hook with [all] extra
  • Avoids KeyError: 'https://json.schemastore.org/tox.json' from removed schema

Ruff

  • Limit hook to src/estimark/, tests/, noxfile.py (exclude content, notebooks, scripts)
  • Exclude *.ipynb and content/slides in ruff config
  • Per-file T20 (print) ignore for estimark, tests, do_all, run_all*
  • Global ignores for E402, F405, PD010, RET504, F841, B007, EM102, PTH123, B023, B006

Mypy

  • Limit hook to src/estimark and tests (skip scripts)
  • ignore_missing_imports = true, disable no-untyped-call and misc
  • Strict override for estimark.* commented out (can re-enable incrementally)

Codespell

  • Exclude content/slides/ and *.ipynb; --skip *.do,*.bib
  • Fix typos: do_all.py (resource, minutes, manually), estimation.py (labels in comment)

Testing

  • pre-commit run --hook-stage manual --all-files passes locally
  • Pushing this branch will trigger CI; Format job should pass.

Made with Cursor

- validate-pyproject: use henryiii/validate-pyproject-schema-store repo
  (rev 2026.03.06) to avoid KeyError for removed tox.json schema
- ruff: limit to src/estimark, tests, noxfile; exclude ipynb/slides;
  add per-file T20 and global ignores (E402, F405, PD010, RET504, etc.)
- mypy: limit to src/estimark and tests; ignore_missing_imports,
  disable no-untyped-call and misc; relax strict override for estimark
- codespell: exclude slides and ipynb; skip *.do and *.bib; fix typos
  in do_all.py (resource, minutes, manually) and estimation.py (labels)

Made-with: Cursor
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants