Skip to content

ci: reduce pytest feedback time - #394

Draft
level09 wants to merge 8 commits into
mainfrom
ci/test-runtime
Draft

ci: reduce pytest feedback time#394
level09 wants to merge 8 commits into
mainfrom
ci/test-runtime

Conversation

@level09

@level09 level09 commented Aug 10, 2026

Copy link
Copy Markdown
Collaborator

Description

Reduces pytest feedback time by splitting the suite into three isolated GitHub Actions jobs. Keeps ExifTool because pyexifinfo requires it during installation, while removing GDAL and FFmpeg from this pytest workflow. Also adds uv caching, locked dependency sync, slow-test reporting, and cancellation of obsolete runs.

A final job remains named pytest, so the existing required check is preserved and reports failure if any shard fails.

Measurements

  • Baseline: 3 minutes 11 seconds
  • Setup-only optimization: 2 minutes 43 seconds
  • Final cold-cache run: 2 minutes 7 seconds
  • Final warm-cache run: 1 minute 55 seconds
  • Warm-cache reduction: 1 minute 16 seconds, about 40%

The trade-off is higher total runner usage because PostgreSQL, Redis, and setup run three times. This optimizes feedback latency, not billed runner minutes.

How to Test

  • 284 tests collected in specialized
  • 292 tests collected in lookups-users
  • 314 tests collected in remaining
  • Final result: 886 passed and 4 skipped
  • All shard checks, the required pytest summary, CodeQL, Semgrep, pip-audit, and retire-js passed

Jira ID

Not applicable

@coderabbitai

coderabbitai Bot commented Aug 10, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 6d898f4d-b198-4ecf-b90e-5440516109ca

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

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