Skip to content

refactor: dev tooling modernization (Ruff, Makefile, deprecations) @W-22187458#3972

Merged
jstvz merged 6 commits intodevfrom
chore/dev-tooling-modernization
Apr 26, 2026
Merged

refactor: dev tooling modernization (Ruff, Makefile, deprecations) @W-22187458#3972
jstvz merged 6 commits intodevfrom
chore/dev-tooling-modernization

Conversation

@jstvz
Copy link
Copy Markdown
Contributor

@jstvz jstvz commented Apr 24, 2026

Summary

  • Remove dead tox.ini; update Makefile targets for uv, Ruff, and release flow; drop stale /requirements/* sdist include.
  • Migrate lint/format from black + flake8 + isort to Ruff; update .pre-commit-config.yaml; remove .flake8.
  • Fix deprecation warnings: click.MultiCommandclick.Group, ssl.PROTOCOL_TLS_SERVER, SQLAlchemy Inspector.has_table + explicit bind in bulk data load.
  • Add .prettierignore and small test/template adjustments so Prettier/RobotLibDoc/ElementTree stay aligned.

Note: This branch includes a merge commit from chore/prettier-v3-reformatting so local hooks stay consistent. Prefer merging the Prettier PR first, then rebasing this branch onto main if you want a linear history.

Test plan

  • pre-commit run --all-files
  • pytest cumulusci/

jstvz added 6 commits April 11, 2026 21:18
Reformat ~20 files (test fixtures, templates, markdown) to match
the prettier v3 config already in .pre-commit-config.yaml (v3.1.0).
No functional changes.
- Delete tox.ini (listed py38/39/310, referenced non-existent
  requirements_dev.txt, used tox 3 syntax -- dead code)
- Remove /requirements/* from sdist includes (directory doesn't exist)
- Update Makefile: dev-install uses uv sync, update-deps uses uv lock,
  lint uses ruff, release removes non-existent pin_dependencies.py,
  test-all documents CI-only multi-version testing, clean-test drops .tox
- Add ruff to dev dependency group so make lint works before Ruff config migration
Replace three separate linting/formatting tools with Ruff:
- black -> ruff format (same Black-compatible style)
- flake8 -> ruff check (E/F/W/C90 aligned with what CI historically enforced)
- isort -> ruff lint isort (same known-first-party settings)

Delete standalone .flake8 config (rules moved to pyproject.toml).
Update .pre-commit-config.yaml: replace ambv/black, flake8, isort hooks
with astral-sh/ruff-pre-commit v0.15.8. Bump pre-commit-hooks to v5.0.0.

Merge chore/prettier-v3-reformatting so Prettier and Ruff agree on formatted files.

Small lint-driven fixes: isinstance for GitHub client checks; remove redundant
EnvironmentVarGuard assignments; import Salesforce from simple_salesforce.api.
- click.MultiCommand -> click.Group in service.py and task.py
  (deprecated in Click 8.x, same API)
- ssl.PROTOCOL_TLS -> ssl.PROTOCOL_TLS_SERVER in oauth/client.py
  (deprecated since Python 3.10, project requires 3.11+)
- Table.exists()/drop()/create() -> inspector.has_table() with
  explicit bind in bulkdata/load.py (deprecated in SQLAlchemy 1.4)
- Align directory release notes generator expectations with Prettier markdown
- Restore <!DOCTYPE html> in RobotLibDoc template (ElementTree.parse)
- Add .prettierignore for template, VCR cassettes, diagram assets, Jinja templates
- Normalize RobotLibDoc CSV sources and refresh page object line numbers
@jstvz jstvz requested a review from a team as a code owner April 24, 2026 22:04
@jstvz jstvz changed the base branch from main to dev April 26, 2026 23:08
@jstvz jstvz merged commit 45f63e7 into dev Apr 26, 2026
22 of 30 checks passed
@jstvz jstvz deleted the chore/dev-tooling-modernization branch April 26, 2026 23:12
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.

1 participant