Visitar URL original
Allow CI scanner shell built-ins and extend inactivity watchdog by vitek-karas · Pull Request #135417 · dotnet/runtime · GitHub
Skip to content

Allow CI scanner shell built-ins and extend inactivity watchdog - #135417

Draft
vitek-karas wants to merge 1 commit into
dotnet:mainfrom
vitek-karas:vitek-karas-missing-tool-investigation
Draft

vitek-karas wants to merge 1 commit into
dotnet:mainfrom
vitek-karas:vitek-karas-missing-tool-investigation

Conversation

@vitek-karas

Copy link
Copy Markdown
Member

Why this change is needed

CI Outer-Loop Failure Scanner run 37487931212 fetched the build lists for all 36 pipelines, but could not execute its timeline-fetch command because read was missing from the Bash command allowlist. The agent used while read -r build to consume build IDs produced by jq; this is piped-data processing, not interactive input.

Local Docker reproduction exposed two further obstacles: the agent also used Bash's : no-op builtin in a loop, which was denied, and the default two-minute inactivity watchdog interrupted an active but quiet log-fetch command. That watchdog starts after the first issue output, even though the scanner may still have more failures to investigate. The interrupted run returned exit code 0, so its exit status alone did not establish that the scan completed.

Changes

  • Allow the read and : builtins used by the observed scanner commands.
  • Extend the inactivity watchdog from two to ten minutes. This mitigates premature interruption of quiet work; it does not fix the framework's scan-completion detection. The overall 90-minute limit and 2,500-credit cap remain unchanged.
  • Regenerate the locked workflow with the existing pinned gh-aw v0.86.2 compiler. The prompt and version pins are unchanged. Regeneration also normalizes the compiler's inactive failure-issue expiry default to 168 hours; failure-issue reporting remains disabled.

Validation

Check Result
Pinned gh-aw compilation and git diff --check Passed.
Copilot CLI v1.0.90 permission regression checks All eight before/after checks passed, covering minimal loops and the original full commands.
Exact upstream harness with a 145-second quiet operation The old two-minute watchdog interrupted it; the new ten-minute setting allowed it to finish.
Local Linux ARM64 Docker agent reproduction Confirmed the ten-minute setting, fetched all 36 build lists, and observed no command-permission denials or watchdog termination.

Full end-to-end completion remains unverified. The last Docker scan was stopped after a defect in the local runner let it exceed its intended 90-minute deadline; some CI evidence was also unavailable. The local deadline handling was corrected separately and regression-tested, but that runner is not included in this patch. Docker validation exercised the agent job only, and no issues were published. The ad hoc validation scripts and fixtures are session-local, not part of this PR.

Note

This pull request description was prepared with GitHub Copilot.

Allow the read and no-op Bash built-ins used by the scanner, and extend the inactivity watchdog so quiet log retrieval can continue after an early issue output. Regenerate the workflow with the existing pinned compiler.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 1 pipeline(s).
15 pipeline(s) were filtered out due to trigger conditions.
There may be pipelines that require an authorized user to comment /azp run to run.

@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to this area: @dotnet/runtime-infrastructure
See info in area-owners.md if you want to be subscribed.

@kotlarmilos

Copy link
Copy Markdown
Member

Thanks, this should fix permission issues.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

2 participants