Skip to content

feat(ci): add changed-file scoped test selection with full-suite fallback (#243)#274

Open
divyansha12 wants to merge 3 commits into
utksh1:mainfrom
divyansha12:feat/ci-test-selection
Open

feat(ci): add changed-file scoped test selection with full-suite fallback (#243)#274
divyansha12 wants to merge 3 commits into
utksh1:mainfrom
divyansha12:feat/ci-test-selection

Conversation

@divyansha12
Copy link
Copy Markdown

@divyansha12 divyansha12 commented May 23, 2026

Description

This PR resolves #243 by introducing a production-grade CI optimization pipeline. It adds a deterministic file classification script select_tests.py that maps changed files to frontend/backend/plugin test subsets, allowing GHA to run fast checks first and skip slow builds/tests where possible, while maintaining a safe fallback to the full suite for shared or configuration edits.

Related Issues

Closes #243

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update

How Has This Been Tested?

  1. Added 14 unit test cases under testing/backend/unit/test_select_tests.py to cover success, mixed, fallback, and empty file list paths.
  2. Ran the unit tests locally with pytest testing/backend/unit/test_select_tests.py -v (100% passed).
  3. Ran local dry-runs simulating representative file changes.
  4. Ran the entire python test suite ./testing/test_python.sh (all 349 tests passed).

Checklist

  • My code follows the code style of this project.
  • I have performed a self-review of my own code.
  • I have commented my code, particularly in hard-to-understand areas.
  • My changes generate no new warnings.

🟢 GSSoC note – I’m a GSSoC contributor. All checks are passing; please add the gssoc:approved label when merging.

…patibility

- Add new integration tests in testing/backend/integration/test_chaos_execution.py
- Fix Python version compatibility issues in testing/test_python.sh to use Python 3.11+
- Format codebase using black to comply with pre-commit static checks
- Recalculate and update integrity checksums for all 60 plugins
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.

[CI] Add changed-file scoped test selection with full-suite fallback

1 participant