Skip to content

ci: a per-suite edit under a directory with no chainsaw-test.yaml is swallowed the same way #3330 was #3710

Closed

Description

hack/select-e2e.sh carries a second copy of the #3330 swallowing, in the branch that handles per-suite edits rather than the one that walks the dependency graph.

A path under hack/e2e-chainsaw/<dir>/ puts <dir> into selected_apps, taken from the directory name and without checking that the directory holds a chainsaw-test.yaml. A name that is not a suite is then dropped by the final intersection, so what makes such an edit escalate is the backstop at the bottom of the script, and that only fires when the whole selection came back empty. The escalation therefore survives exactly as long as nothing else in the diff contributes a suite name, which is the shape #3330 described on the graph side.

Reproduction, identical at the merge base and at current main:

$ printf 'hack/e2e-chainsaw/_fixtures/tenant.yaml\n' > /tmp/d
$ hack/select-e2e.sh /tmp/d | wc -w
21

$ printf 'hack/e2e-chainsaw/_fixtures/tenant.yaml\npackages/apps/postgres/values.yaml\n' > /tmp/d
$ hack/select-e2e.sh /tmp/d
postgres

Alone the path runs everything; add one covered package and it runs one suite.

The shape this bites is someone adding shared material next to _lib/, a fixtures directory or a helper the suites source, in the same pull request as an app change. Nothing covering that material runs, and the output reads as an ordinary narrow selection rather than as something that was dropped.

#3441 closes the graph side (coverage decided per changed path) and deliberately leaves this one, since it is pre-existing and outside that change. Its test an edit to a non-suite directory under e2e-chainsaw escalates pins the single-path case only, so the combined shape above is unpinned today.

One fix that fits the existing structure: check the directory against the discovered suite list at classification time and escalate there, the way the graph branch now escalates per path, instead of relying on the empty-selection backstop.

Activity

  1. added
    kind/bugCategorizes issue or PR as related to a bug
    area/ciIssues or PRs related to CI workflows, GitHub Actions, automation
    triage/acceptedIndicates an issue is ready to be actively worked on
    priority/backlogGeneral backlog priority. Lower than priority/important-longterm
    and removed
    triage/needs-triageIndicates an issue needs triage by a maintainer
    on Sep 23, 2026
  2. added a commit that references this issue on Oct 1, 2026
    cdc4b88
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

area/ciIssues or PRs related to CI workflows, GitHub Actions, automationkind/bugCategorizes issue or PR as related to a bugpriority/backlogGeneral backlog priority. Lower than priority/important-longtermtriage/acceptedIndicates an issue is ready to be actively worked on

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions