Skip to content

infra_pr_yml_split_backend_test_lanes: Split the heavy backend CI job into parallel test lanes #490

@SoundMindsAI

Description

@SoundMindsAI

Problem

The heavy backend (tests + coverage) job in .github/workflows/pr.yml runs the full pytest backend/tests/ matrix (unit + integration + contract) serially with --cov gating. After the lint-dedup shipped (parent chore_pr_yml_parallelize_backend_job), it's still the critical-path bottleneck (~8–9 min). Unit + contract could parallelize; integration cannot (FK-teardown collisions under -n auto, reverted on PR #291).

What this delivers

A lane split — parallel unit+contract lane + serial integration+coverage lane — with a coverage combine merge/gate job; and/or splitting integration by service-container (postgres / elastic / opensearch). Recovers ~1–1.5 min at the cost of combine wiring.

Status

  • Stage: IDEA
  • Priority: Backlog (deferred — defer-until-binding-constraint; the recoverable win is marginal until integration becomes the binding CI constraint)

Definition of done

  • pr.yml heavy job split into parallel lanes with a coverage-combine gate at fail_under=80, or integration sharded by service-container.
  • Docs/website-only PRs still merge (no perpetual-pending required check introduced).

Artifacts

How to execute

⚠️ Deferred — do not pull forward until the integration layer is the binding CI constraint. When picked up: /idea-preflight, then /pipeline docs/00_overview/planned_features/02_mvp2/infra_pr_yml_split_backend_test_lanes --auto.

Metadata

Metadata

Assignees

No one assigned

    Labels

    mvp2MVP2 backlog itemneeds-preflightIdea-stage; run /idea-preflight before /pipelinepriority/backlogBacklog — captured for record, not plannedtype/infraInfra — tooling, CI, deploy

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions