Conversation
There was a problem hiding this comment.
Pull request overview
This PR modernizes the CI/CD infrastructure by migrating from traditional pip-based workflows to UV-based GitHub Actions, and consolidates linting tools from multiple separate tools (black, flake8, isort, pydocstyle, bandit) into Ruff.
Key changes:
- Migrated GitHub Actions workflows to use UV for faster dependency management and builds
- Replaced multiple Python linting tools with Ruff (configured in pyproject.toml)
- Added pre-commit configuration for automated code quality checks
- Reformatted code according to Ruff standards (f-strings, quote styles, formatting)
Reviewed changes
Copilot reviewed 17 out of 18 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
.github/workflows/ci.yml |
Migrated to UV-based actions, removed separate py-lint job, removed CodeQL analysis |
.github/workflows/release.yml |
Simplified release workflow using UV and trusted publishing |
pyproject.toml |
Added comprehensive Ruff configuration, migrated from isort/pydocstyle configs, changed to dependency-groups |
.pre-commit-config.yaml |
Added pre-commit hooks for Ruff, pyupgrade, django-upgrade, mdformat |
setup.cfg |
Removed (flake8 config no longer needed) |
linter-requirements.txt |
Removed (replaced by Ruff in dependency groups) |
tests/*.py |
Reformatted with f-strings and consistent formatting |
s3file/*.py |
Updated comment style, bandit noqa markers, f-strings |
README.md |
Fixed escaped apostrophes, reformatted lists and code blocks |
SECURITY.md |
Removed (security policy moved elsewhere) |
MANIFEST.in |
Removed (no longer needed) |
.github/FUNDING.yml |
Removed |
.github/dependabot.yml |
Reformatted indentation |
LICENSE |
Removed trailing newline |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| - run: python -m pip install -e .[test] | ||
| - run: python -m pytest -m selenium | ||
| - run: uv run --with django~=${{ matrix.django-version }}.0 pytest -m selenium | ||
| - uses: codecov/codecov-action@v5 |
There was a problem hiding this comment.
Missing Django version specification for the selenium job. The pytest job on line 74 includes --with django~=${{ matrix.django-version }}.0 but the selenium job on line 101 is missing this specification. This could lead to inconsistent test environments between the two jobs.
|
|
||
|
|
||
| - uses: actions/checkout@v6 | ||
| - uses: astral-sh/setup-uv@v7 |
There was a problem hiding this comment.
The checkout action version is inconsistent. Line 61 uses actions/checkout@v5 while line 11 uses actions/checkout@v6. Both instances should use the same version for consistency.
bcf0be4 to
802e2bf
Compare
No description provided.