Skip to content

Rebalance test buckets (CopterTests1A, 1B etc etc) into 15 minute chunks#33755

Open
peterbarker wants to merge 5 commits into
ArduPilot:masterfrom
peterbarker:pr-claude/ci-rebalance-test-buckets
Open

Rebalance test buckets (CopterTests1A, 1B etc etc) into 15 minute chunks#33755
peterbarker wants to merge 5 commits into
ArduPilot:masterfrom
peterbarker:pr-claude/ci-rebalance-test-buckets

Conversation

@peterbarker

Copy link
Copy Markdown
Contributor

Summary

Rebalances the time required for each bucket to be somewhat uniform across buckets

Classification & Testing (check all that apply and add your own)

  • Checked by a human programmer
  • Non-functional change
  • No-binary change
  • Infrastructure change (e.g. unit tests, helper scripts)
  • Automated test(s) verify changes (e.g. unit test, autotest)
  • Tested manually, description below (e.g. SITL)
  • Tested on hardware
  • Logs attached
  • Logs available on request

Description

One of the Copter buckets was 50 minutes long, another just 3 or 4.

Bring up is about 3-4 minutes for each machine.

Also splits quadplane into 2 15 minute buckets.

@peterbarker
peterbarker force-pushed the pr-claude/ci-rebalance-test-buckets branch from 76f9063 to f4ce958 Compare July 17, 2026 04:13
@github-actions github-actions Bot added CI Copter github_actions Pull requests that update GitHub Actions code Plane Python VTOL-Plane labels Jul 17, 2026
@peterbarker
peterbarker force-pushed the pr-claude/ci-rebalance-test-buckets branch from f4ce958 to d419afd Compare July 17, 2026 07:45
peterbarker and others added 5 commits July 17, 2026 21:21
CopterTests2b had grown to ~50 minutes of test wall time per CI run
while the other buckets ran 5 to 14 minutes.  Redistribute it as
contiguous, order-preserving slices, sized using per-test wall times
extracted from --show-test-timings output of the last ten green
master CI runs:

  1a 14.6m  1b 14.6m  1c 15.0m  1d 12.9m  1e 13.9m  2a 14.2m  2b 14.2m

The FixedYawCalibration/SITLCompassCalibration pair stays at the
front of CopterTests2a, in that order; tests may run after the pair,
so 2a now takes a share.  The comment there now states the actual
constraint rather than saying the test must run alone.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
PlaneTests1b had grown to ~32 minutes of test wall time per CI run
while PlaneTests1a ran ~11 minutes and PlaneTests1c under one.  Move
MAVFTP through RudderArmedTakeoffRequiresNeutralThrottle to 1a and
the tail from MODE_SWITCH_RESET onwards to 1c, leaving ~14 minutes
of test time in each bucket, sized using per-test wall times
extracted from --show-test-timings output of the last ten green
master CI runs.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The quadplane suite ran as a single ~23-minute CI job while the
Copter and Plane suites are balanced to ~15-minute buckets.  Split
the test list into QuadPlaneTests1a (common tests through
VTOLQuicktune_CPP, ~12m) and QuadPlaneTests1b (PrecisionLanding
onwards, ~11m), sized using per-test wall times extracted from
--show-test-timings output of a green master CI run.  test.QuadPlane
still runs the full list.

The build_ci.sh target and workflow matrix entry are replaced in the
same commit so every commit runs green in CI.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The quadplane suite ran as a single ~23-minute CI job while the
Copter and Plane suites are balanced to ~15-minute buckets.  Split
the test list into QuadPlaneTests1a (common tests through
VTOLQuicktune_CPP, ~12m) and QuadPlaneTests1b (PrecisionLanding
onwards, ~11m), sized using per-test wall times extracted from
--show-test-timings output of a green master CI run.  test.QuadPlane
still runs the full list.

The build_ci.sh target and workflow matrix entry are replaced in the
same commit so every commit runs green in CI.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The quadplane suite ran as a single ~23-minute CI job while the
Copter and Plane suites are balanced to ~15-minute buckets.  Split
the test list into QuadPlaneTests1a (common tests through
VTOLQuicktune_CPP, ~12m) and QuadPlaneTests1b (PrecisionLanding
onwards, ~11m), sized using per-test wall times extracted from
--show-test-timings output of a green master CI run.  test.QuadPlane
still runs the full list.

The build_ci.sh target and workflow matrix entry are replaced in the
same commit so every commit runs green in CI.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@peterbarker
peterbarker force-pushed the pr-claude/ci-rebalance-test-buckets branch from d419afd to d6b662b Compare July 17, 2026 11:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CI Copter github_actions Pull requests that update GitHub Actions code Plane Python VTOL-Plane

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

1 participant