Skip to content

Conversation

@looizao
Copy link
Collaborator

@looizao looizao commented Sep 30, 2025

Summary by Sourcery

Migrate coverage reporting to Codecov, add Python 3.13 support across CI, tox, and project metadata, and refine testing and workflow configurations

New Features:

  • Add Python 3.13 support in CI workflows, tox, and project metadata

Enhancements:

  • Migrate coverage reporting from Coveralls to Codecov for both backend and frontend
  • Revise tox environment matrix to include Django 5.2, drop EOL Django 5.0, and add Python 3.13 testing
  • Adjust coverage configuration to target the django_ai_assistant package and output XML format
  • Update pyproject.toml to remove Coveralls dependency and bump Pyright’s Python version to 3.13
  • Update GitHub workflows (ci, docs-update, pre-commit, publish) to use Python 3.13
  • Replace Coveralls badges with Codecov badges in README files
  • Simplify frontend coverage commands by renaming scripts and uploading lcov info to Codecov

@sourcery-ai
Copy link
Contributor

sourcery-ai bot commented Sep 30, 2025

Reviewer's Guide

This pull request adds Python 3.13 and Django 5.2 support, migrates coverage reporting from Coveralls to Codecov, updates project configuration metadata and coverage settings, and refreshes documentation badges and frontend scripts.

File-Level Changes

Change Details Files
Expand supported Python 3.13 and Django 5.2 versions across CI and testing configurations
  • Include Python 3.13 in the GitHub Actions matrix and bump setup-python in workflows
  • Add py313 testenv with Django 5.2 in tox.ini and update envlist and deps
  • Bump project classifiers and pyright pythonVersion to 3.13
.github/workflows/ci.yml
.github/workflows/docs-update.yml
.github/workflows/pre-commit.yml
.github/workflows/publish.yml
tox.ini
pyproject.toml
Migrate coverage reporting from Coveralls to Codecov in CI
  • Remove Coveralls steps and parallelization
  • Generate coverage.xml via coverage CLI
  • Add Codecov GitHub Action with per-version flags
.github/workflows/ci.yml
Update project coverage and metadata configuration
  • Remove coveralls dependency from pyproject.toml
  • Change coverage.run.source to the actual package name
  • Add tool.coverage.xml output setting
pyproject.toml
Refresh documentation badges and frontend scripts
  • Replace Coveralls badges with Codecov badges in README files
  • Swap frontend npm "coveralls" script for a "coverage" command
README.md
frontend/README.md
frontend/package.json

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

@codecov
Copy link

codecov bot commented Sep 30, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
⚠️ Please upload report for BASE (main@e88ddf7). Learn more about missing BASE report.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #202   +/-   ##
=======================================
  Coverage        ?   93.82%           
=======================================
  Files           ?       19           
  Lines           ?      696           
  Branches        ?       49           
=======================================
  Hits            ?      653           
  Misses          ?       33           
  Partials        ?       10           
Flag Coverage Δ
backend-python-3.10 92.62% <ø> (?)
backend-python-3.11 92.62% <ø> (?)
backend-python-3.12 92.62% <ø> (?)
backend-python-3.13 92.62% <ø> (?)
frontend 100.00% <ø> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@looizao looizao marked this pull request as ready for review September 30, 2025 14:25
Copy link
Contributor

@sourcery-ai sourcery-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey there - I've reviewed your changes - here's some feedback:

  • Use a semantically versioned Codecov action (e.g. codecov/codecov-action@v5) instead of a pinned commit SHA for easier maintenance and upgrades.
  • Confirm that the frontend coverage output path (./frontend/coverage/lcov.info) aligns with where pnpm run coverage actually writes the lcov file in CI.
  • Since Django 5.0 support was removed in tox, consider cleaning up any leftover 5.0 references in classifiers or comments to avoid confusion.
Prompt for AI Agents
Please address the comments from this code review:

## Overall Comments
- Use a semantically versioned Codecov action (e.g. `codecov/codecov-action@v5`) instead of a pinned commit SHA for easier maintenance and upgrades.
- Confirm that the frontend coverage output path (`./frontend/coverage/lcov.info`) aligns with where `pnpm run coverage` actually writes the lcov file in CI.
- Since Django 5.0 support was removed in tox, consider cleaning up any leftover 5.0 references in classifiers or comments to avoid confusion.

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

@looizao looizao requested a review from fjsj September 30, 2025 14:35
Copy link
Member

@fjsj fjsj left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@looizao looizao merged commit 17abaa6 into main Sep 30, 2025
15 checks passed
@looizao looizao deleted the feat/codecov-python313-tox-config branch September 30, 2025 14:37
This was referenced Sep 30, 2025
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.

3 participants