Skip to content

ci: implement parallel matrix architecture for segmented testing#1421

Draft
tirthpatel90 wants to merge 2 commits intooraios:mainfrom
tirthpatel90:feature/parallel-ci-workflows
Draft

ci: implement parallel matrix architecture for segmented testing#1421
tirthpatel90 wants to merge 2 commits intooraios:mainfrom
tirthpatel90:feature/parallel-ci-workflows

Conversation

@tirthpatel90
Copy link
Copy Markdown

Hi @MischaPanch and @rtizzy,

Following up on our discussion in #1362, I have pivoted the CI architecture from a monolithic maximal image to a parallelized matrix strategy.

Changes & Proof of Concept in this PR:

  • Segmented the pytest execution into parallel matrix jobs: Heavy Toolchains (C++, Rust, Java), Medium Toolchains, and a dynamic Catch-All.
  • Implemented the zero-maintenance "Catch-All" bucket using pytest --ignore flags to automatically pick up any unassigned or newly added language servers.
  • Massive Speedup: The heaviest toolchains (C++, Rust, Java) now completely finish in ~3 minutes when isolated!
  • Catch-All Success: The Catch-All batch successfully discovered and ran ~894 tests in just 11 minutes before hitting a missing toolchain (Zig).

Next Steps (Phase 2):
Currently, this workflow temporarily runs on the old maximal image to test the matrix routing logic. The Medium and Catch-All batches predictably fail/hang at the end due to missing JIT/toolchains (like Julia precompilation and Zig/OCaml setup).

Once we are aligned on this matrix structure, I will swap the container to @rtizzy's optimized lean base image and implement pre-test setup scripts within the matrix to handle these missing toolchains on-the-fly.

Let me know if this structural direction looks good to you!

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