Skip to content

chore(pr-pipeline): decide code-owner review on .github/** and verify the ci-status lanes hold step's runner tools #9422

Open

Description

@kyle-sexton

Refs: #9399

Problem

ci-status's step Fail a lanes App pull request its body or a member holds (pr-require-checks.yml) is what stops an already-armed lanes App pull request when a hold appears. On pull_request and merge_group it runs from the pull request's own workflow file, so a push that edits that step could remove the check. The current mitigation: the melodic-automation-lanes App installation has no workflows permission (only contents: write), so it cannot push changes under .github/workflows. Also, apply-patch refuses .github/workflows paths as protected-path. Two gaps remain:

  1. Owner's call: require code-owner or ruleset review on .github/**, so the guard does not rest on the App's permission set alone. Options: a CODEOWNERS entry with a ruleset requiring code-owner review; a ruleset path restriction on .github/** for the lanes App; or keep the permission-based mitigation.
  2. Unverified: the ci-status job has no setup-node. The step uses the runner image's node, which needs path.matchesGlob (Node 20.17+/22.5+), and yq. If either is missing, the step fails closed on every lanes App pull request. It does not fail open. Check the first lanes App pull request's ci-status log after feat(pr-pipeline): arm native auto-merge for lane pull requests #9399 merges, or pin the tools in the job.

Acceptance

  • The owner decides on item 1 and records the decision.
  • A lanes App pull request's ci-status log shows the hold step reaching its verdict line, or the job pins node and yq.

Activity

  1. added
    needs-triageNot yet classified. Floor until a type and one priority tier are set.
    on Oct 23, 2026
  2. github-actions commented on Oct 23, 2026

    @github-actions
    Contributor

    Proposed work class: none

    Thanks for the report. Automated triage handed this issue to a maintainer.

    Automated triage. A maintainer reviews it.

  3. added
    needs-humanHuman-in-the-loop required; autonomous sessions must not resolve items carrying this.
    and removed
    needs-triageNot yet classified. Floor until a type and one priority tier are set.
    on Oct 23, 2026
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

    needs-humanHuman-in-the-loop required; autonomous sessions must not resolve items carrying this.status: needs-decisionAwaiting a human or maintainer judgment call.

    Type

    Fields

    No fields configured for Task.

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions