Skip to content

Unit tests red on main: history-jsonpath pin rejects the monitoring suite's bounded read #4750

Closed

Description

go test ./internal/fluxcontract/ fails on main, so Unit & controller tests is red and E2E (in-tree) is skipped on every PR based on main since f209c47. TestChainsawSuitesReadHistoryThroughTheSharedName rejects hack/e2e-chainsaw/monitoring/chainsaw-test.yaml:

snapshot_shape_test.go:632: ../../hack/e2e-chainsaw/monitoring/chainsaw-test.yaml fills statuses, the local it hands the guard, in a shape that does not take its expression from HELMRELEASE_HISTORY_JSONPATH.

The monitoring suite does read through the shared name. Its read is statuses=$(timeout 30 kubectl ... -o jsonpath="$HELMRELEASE_HISTORY_JSONPATH") (line 240), and the pin only accepts statuses=$(kubectl, so the timeout 30 prefix is enough to fail it. The two changes merged two minutes apart on 2026-10-05: #4678 added the suite, then #4689 added the pin. Neither PR's CI ran against the other.

Fix: let the pin's pattern accept an optional timeout <n> before kubectl, which keeps the bounded read, or drop the prefix in the monitoring suite. The first one looks better to me, a ceiling on a status read is something other suites should be allowed to add.

Activity

  1. added a commit that references this issue on Oct 6, 2026
    a5d12e7
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

    triage/needs-triageIndicates an issue needs triage by a maintainer

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions