Skip to content

ci: a yq failure in select-e2e's index pipelines is invisible and reads as intended full-suite conservatism #3650

Closed

Description

Summary

In hack/select-e2e.sh, the ownership and reverse-dependency indexes are built as OWNERS=$(build_owners_index | sort -u) and REVERSE=$(build_reverse_deps | sort -u), where both functions are a single yq invocation over $SOURCES_DIR/*.yaml. If yq fails, for any reason from a missing binary to a malformed PackageSource, the pipeline's exit status is sort's, so set -e never fires and the script continues with an empty index. Nothing in the output distinguishes "yq broke" from "no owners matched".

Why it matters

The failure is safe in direction but invisible in nature: with empty indexes every changed path falls through to escalation, so the practical result is a full suite run on every PR. Selection quietly stops doing its job, CI cost jumps, and because the symptom is "full suite selected", it reads as intended conservatism rather than a broken tool. Nobody gets a signal to fix anything.

Fix shape

Check the yq halves explicitly: capture each function's output first, test the exit status, and on failure print one loud line naming yq as the broken component before falling back to the full suite. The direction of the fallback is already right; the missing piece is the sentence that says the fallback happened and why.

Activity

  1. added
    kind/bugCategorizes issue or PR as related to a bug
    area/ciIssues or PRs related to CI workflows, GitHub Actions, automation
    on Aug 8, 2026
  2. lexfrei commented on Sep 23, 2026

    @lexfrei
    ContributorAuthor

    Fixed by #3670. Both indexes are built before sort and their exit status is checked, so a failed yq is reported before the full-suite fallback. The same problem in select-install.sh is still open in #3669.

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

    area/ciIssues or PRs related to CI workflows, GitHub Actions, automationkind/bugCategorizes issue or PR as related to a bugtriage/not-reproducibleIndicates an issue can not be reproduced as described

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions