Skip to content

verify-components-charts: run the per-component pulls and renders in parallel (~30 s → ~6 s per CI run) #468

Description

@teemow

Problem

tests/verify-components-charts.py fetches 21 registry tag lists and pulls and renders 42 charts strictly sequentially on every PR (test-ingress-modes): ~30 s in CI, ~50 s locally. The components are independent (only the read-only kagent range floor is shared). Measured on #450's head: tag fetches 13.8 s sequential vs 2.1 s with 8 workers; pulls + renders ~37 s vs ~5 s.

Proposed solution

Run the per-component loop body on a concurrent.futures.ThreadPoolExecutor(8) (stdlib; the work is I/O-bound in urllib and subprocess), have workers raise instead of sys.exit, collect and print each component's lines in roster order after completion so the output stays readable.

Acceptance criteria

  • The check's wall-clock in CI drops to well under 10 s with unchanged output semantics (every FAIL still names the component, the label and the constraint).
  • tests/verify-kagent-tools-namespace.py and tests/verify-kyverno.py, which import the module, are unaffected.

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