Skip to content

tests(e2e): use concurrency=1 on CI for frame analysis and assertions#90

Merged
chrisgleissner merged 3 commits into
fix/e2e-avsync-pop-detectionfrom
copilot/sub-pr-89
Jan 13, 2026
Merged

tests(e2e): use concurrency=1 on CI for frame analysis and assertions#90
chrisgleissner merged 3 commits into
fix/e2e-avsync-pop-detectionfrom
copilot/sub-pr-89

Conversation

Copilot AI commented Jan 13, 2026

Copy link
Copy Markdown
Contributor
  • Understand the request: reduce E2E concurrency to 1 on CI
  • Identify concurrency points: assertion runner and frame progression
  • Add CI detection helper functions
  • Modify assertion runner to use concurrency=1 on CI
  • Modify frame progression to use concurrency=1 on CI
  • Validate Python syntax
  • Run unit tests (passed)
  • Refactor: Extract is_ci() to shared base.py module (DRY)

💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.

…sertions

Reduce concurrency used for E2E post-recording frame extraction, frame
progression analysis, and all assertion checks to 1 (instead of cpu_count)
when running on CI. Local runs remain unchanged at full cpu_count.

Changes:
- Add _is_ci() helper to detect CI environment (CI or GITHUB_ACTIONS env vars)
- assertions/runner.py: Use concurrency=1 on CI for assertion execution
- assertions/frame_progression.py: Use concurrency=1 on CI for profile scanning

This minimal change helps stabilize CI builds that may have contention or
timing sensitivity during parallel video processing operations.

Co-authored-by: chrisgleissner <3969147+chrisgleissner@users.noreply.github.com>
Copilot AI changed the title [WIP] Fix AV sync validation for no matching pop pairs tests(e2e): use concurrency=1 on CI for frame analysis and assertions Jan 13, 2026
Copilot AI requested a review from chrisgleissner January 13, 2026 21:10
@chrisgleissner chrisgleissner marked this pull request as ready for review January 13, 2026 21:12
Copilot AI review requested due to automatic review settings January 13, 2026 21:12

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

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 improves E2E test stability on CI environments by limiting parallelism during frame analysis and assertion execution to prevent resource contention.

Changes:

  • Adds CI environment detection (_is_ci() helper) based on CI or GITHUB_ACTIONS environment variables
  • Limits parallel workers to 1 on CI for assertion execution and frame profile scanning
  • Preserves full CPU parallelism for local development runs

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.

File Description
tests/e2e/assertions/runner.py Adds CI detection and limits assertion execution workers to 1 on CI (preserves cpu_count() locally)
tests/e2e/assertions/frame_progression.py Adds CI detection and limits frame profile scanning workers to 1 on CI (preserves cpu_count() locally)

Comment thread tests/e2e/assertions/runner.py Outdated
Comment thread tests/e2e/assertions/frame_progression.py Outdated
Extract duplicated is_ci() function from runner.py and frame_progression.py
into base.py to follow DRY principle.

Changes:
- Add is_ci() to assertions/base.py as a shared helper
- Import is_ci from base in runner.py (removed duplicate)
- Import is_ci from base in frame_progression.py (removed duplicate)

This eliminates code duplication and provides a single source of truth for
CI environment detection across all assertion modules.

Co-authored-by: chrisgleissner <3969147+chrisgleissner@users.noreply.github.com>
@chrisgleissner chrisgleissner merged commit 809940c into fix/e2e-avsync-pop-detection Jan 13, 2026
3 checks passed
@chrisgleissner chrisgleissner deleted the copilot/sub-pr-89 branch January 13, 2026 21:23
Copilot AI requested a review from chrisgleissner January 13, 2026 21:24
Copilot stopped work on behalf of chrisgleissner due to an error January 13, 2026 21:24
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