Skip to content

ci(timing): the project ordering leg will hit its 20-minute step cap within about a week #2254

Closed

Description

@JarryShaw

Problem. The weekly CI timing report (run 40288101249, on main 91147a182) fails its two hard checks for Plain unittest ordering (project), step "Run tests/project and the root-level modules under plain unittest":

  • H2: the step's p90 is 11.8 min, at or above 50% of its 20-minute cap.
  • H4: on a linear fit it reaches the 20-minute cap in 7.3 days.

tests/project keeps growing: this leg, run locally, went from 2290 tests to 2388 over rounds 5 and 6. The report also names tests.test_tier_guard as the slowest module (over 30 s summed on 3.13), with several WorkflowAgreementTests cases over 10 s each.

Options

  • A. Raise the step cap. This buys time, but the trend continues.
  • B. Shard the step into two project ordering legs by module, as the other ordering legs are split. Each half stays well under the cap.
  • C. Make the slow tests cheaper. WorkflowAgreementTests looks like it re-reads or re-expands the workflows for each case; caching that parse per class would cut most of the module's time.

Recommendation: B plus C. B removes the trend, and C is cheap and helps every leg that runs the tier guard. A alone only defers the problem.

Activity

  1. added this to the PyPCAPKit v1.5 milestone on Oct 26, 2026
  2. added
    ciPull requests that change CI or workflow configuration (ci: subject prefix)
    needs: decisionWaiting on the maintainer to decide — not blocked by other work
    on Oct 26, 2026
  3. moved this to Needs decision in PyPCAPKiton Oct 26, 2026
  4. JarryShaw commented on Oct 26, 2026

    @JarryShaw
    OwnerAuthor

    B plus C

  5. JarryShaw commented on Oct 26, 2026

    @JarryShaw
    OwnerAuthor

    and might worth review and consolidate and remove unnecessary duplicated tests.

  6. added
    wipWork in flight - a covering PR is open or an agent is actively on it
    and removed
    needs: decisionWaiting on the maintainer to decide — not blocked by other work
    on Oct 26, 2026
  7. moved this from Needs decision to WIP in PyPCAPKiton Oct 26, 2026
  8. removed
    wipWork in flight - a covering PR is open or an agent is actively on it
    on Oct 26, 2026
  9. JarryShaw commented on Nov 1, 2026

    @JarryShaw
    OwnerAuthor

    The ci-timing-report artifact of run 40288101249 is artifact 12636501186; its slowest-module table (Python 3.13, median of 5 push runs, top 8 of the 10 rows) follows.

    Module Seconds
    tests.test_tier_guard 82.0
    tests.protocols.test_frame_layer_limit_1610_unit 23.8
    tests.protocols.internet.test_ext_chain_limit_rebuild_1619_unit 19.4
    tests.protocols.misc.test_pcapng_unit 18.7
    tests.test_support_helpers 17.6
    tests.utilities.test_exceptions_excepthook 11.6
    tests.const.test_const_enum_builtin_parity 10.9
    tests.foundation.test_extraction_no_eof 10.7

    A fresh baseline was dispatched as run 41303273918 (#2554), after #2258 and #2244 changed the job shape and selection.

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

    ciPull requests that change CI or workflow configuration (ci: subject prefix)

    Projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions