Skip to content

Standardize five-minute parallel CI task plans #14

Description

@Nickfost

Outcome

Make the fleet consume independently runnable project tasks and deterministic shards so available workers reduce wall-clock time. Keep fast and full only as aggregate local interfaces.

flowchart LR
  P[project plan.json] --> M[GitHub matrix]
  M --> W1[worker: lint]
  M --> W2[worker: unit 1/N]
  M --> W3[worker: unit 2/N]
  M --> W4[worker: integration 1/N]
Loading

Implementation: draft PR #15
Validated run: Validate ci-fleet prototype #14

Required contract

  • Every project declares named tasks and deterministic shard counts.
  • Every matrix job has a hard five-minute timeout.
  • Expected test payload targets four minutes or less, reserving startup/reporting time.
  • scripts/ci/run.sh <task> --shard I/N is the fleet execution interface.
  • scripts/ci/run.sh fast|full remains an aggregate local/developer interface.
  • Plans reject duplicate task IDs, invalid groups, missing fast/full coverage, and estimates above policy.
  • Shards use isolated Docker/Compose resources.
  • Documentation explains that total test-minutes divided by workers is an ideal lower bound, not a guarantee.
  • Existing projects migrate incrementally and retain their prior CI until equivalent parallel validation passes.

Scope

Update the normative project standard, compliance/migration instructions, copyable project example, organization configuration schema, initializer, validator, and regression tests. Do not register a runner, migrate a project, or deploy infrastructure in this change.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions