-
-
Notifications
You must be signed in to change notification settings - Fork 18
Switch CI to UV GitHub actions #352
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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 |
Copilot
AI
Dec 18, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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 |
Copilot
AI
Dec 18, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.