Skip to content

👷 ci: run the smoke tests as four parallel groups behind the required check - #7

Merged
anthonyportugal merged 2 commits into
mainfrom
ci/parallel-smoke
Nov 13, 2026
Merged

anthonyportugal merged 2 commits into
mainfrom
ci/parallel-smoke

Conversation

@anthonyportugal

Copy link
Copy Markdown
Owner

Cuts CI wall time by running the smoke stages as four parallel jobs. The previous run took about 12.5 minutes, all of it in serial smoke stages. Merge without squash.

Changes

  • tests/smoke.sh [group] runs one group (themes, layers, setup, lifecycle; balanced by measured stage times). Without arguments it runs every stage in order, as before.
  • Before running anything, the runner checks that every stage belongs to exactly one group and that the group list and stage table agree.
  • CI runs the groups as a matrix. A final job keeps the required check name Bootstrap & Smoke Tests (main's ruleset requires it) and fails unless every group passed.
  • New tests/smoke-runner-smoke.sh (stage 1):
    • argument errors exit 2 before any stage runs;
    • the groups cover stages 1..13 exactly once;
    • the CI matrix lists the same groups.

Review notes

  • The required check now reports after the slowest group plus its setup; expected about 4–5 minutes instead of about 12.5. This PR's own run shows the real figure.
  • Mutations (a dropped stage, a duplicated stage, a missing matrix group, diverging group lists) fail the runner or its test; actionlint passes.

Testing

  • tests/smoke.sh (all 13 stages) passes locally.

@anthonyportugal
anthonyportugal merged commit 71de51f into main Nov 13, 2026
6 checks passed
@anthonyportugal
anthonyportugal deleted the ci/parallel-smoke branch November 13, 2026 22:53
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