Skip to content

Prefer python3 for downloading logs in test-quarantine#66279

Merged
wtgodbe merged 10 commits intomainfrom
wtgodbe/quarantine-prompt-improvements
Apr 12, 2026
Merged

Prefer python3 for downloading logs in test-quarantine#66279
wtgodbe merged 10 commits intomainfrom
wtgodbe/quarantine-prompt-improvements

Conversation

@wtgodbe
Copy link
Copy Markdown
Member

@wtgodbe wtgodbe commented Apr 11, 2026

The workflow often gets blocked from network access due to the network firewall - this shouldn't happen, since the relevant domains (AzDO/Helix) are explicitly in the allowed domains list, and the agent should be running in YOLO mode, but it happens anyways. We tried to fix it with github/gh-aw#24921, but that didn't work. Instead of waiting for a fix, let's prefer using python3 for downloading the logs in the workflow, because when the agent falls back to python3 in previous workflows, it works.

wtgodbe and others added 9 commits April 10, 2026 12:01
- Swap Part 1 (unquarantine) and Part 2 (quarantine) so quarantine
  is investigated first, matching the existing execution priority
- Add turn budget awareness guardrail to prevent the agent from
  exhausting its turn/token budget on investigation and producing
  zero safe outputs (as happened in run 24238389617)
- Fix stale Step 2.4 cross-reference to correctly point to Step 3.1

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Zero outputs is fine when no candidates are found. The bad outcome
is finding candidates but failing to create outputs for them.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…ovements' into wtgodbe/quarantine-prompt-improvements
curl is unreliable in the agentic workflow environment due to
firewall permission issues (gh-aw#24921). The agent consistently
falls back to python3 urllib.request in successful runs. Remove
curl from the tools allowlist and instruct the agent to use
python3 with urllib.request for all HTTP requests.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings April 11, 2026 23:52
@wtgodbe wtgodbe requested a review from a team as a code owner April 11, 2026 23:52
@github-actions github-actions bot added the area-infrastructure Includes: MSBuild projects/targets, build scripts, CI, Installers and shared framework label Apr 11, 2026
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the agentic “test-quarantine” workflow guidance to prefer python3/urllib.request for downloading Helix/Azure DevOps logs in environments where curl/web_fetch can fail due to firewall/network restrictions, and regenerates workflow lock files.

Changes:

  • Adjusts the test-quarantine investigation instructions to use python3/urllib.request for downloading and searching console logs.
  • Adds an API reference note recommending python3/urllib.request for HTTP requests.
  • Regenerates multiple .lock.yml workflows and updates .github/aw/actions-lock.json (including action SHAs / tool wiring changes from gh-aw compilation).

Reviewed changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated 9 comments.

Show a summary per file
File Description
.github/workflows/test-quarantine.md Documentation updates to prefer python3/urllib.request for log downloads and HTTP calls.
.github/workflows/test-quarantine.lock.yml Regenerated lock workflow (gh-aw/compiler/action updates, runtime/logging tweaks).
.github/workflows/issue-triage-agent.lock.yml Regenerated lock workflow (gh-aw/compiler/action updates).
.github/workflows/cswin32-update.lock.yml Regenerated lock workflow (gh-aw/compiler/action updates).
.github/workflows/community-pr-issue-check.lock.yml Regenerated lock workflow (gh-aw/compiler/action updates).
.github/workflows/browsertesting-deps-update.lock.yml Regenerated lock workflow (gh-aw/compiler/action updates).
.github/aw/actions-lock.json Updates pinned action entries used for compilation/locking.

Comment on lines +354 to +363
**Important: Always use `python3` with `urllib.request` for all HTTP requests.** Do not use `curl` or `web_fetch` — they are unreliable in this environment due to firewall restrictions. For example:
```python
python3 -c "
import urllib.request, json
url = 'https://dev.azure.com/dnceng-public/public/_apis/build/builds?definitions=83&api-version=7.1'
with urllib.request.urlopen(url, timeout=30) as r:
data = json.loads(r.read())
print(json.dumps(data, indent=2))
"
```
Use bash fence since the snippet is a shell command (python3 -c),
not a pure Python script.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@wtgodbe wtgodbe merged commit f79b2ab into main Apr 12, 2026
10 checks passed
@wtgodbe wtgodbe deleted the wtgodbe/quarantine-prompt-improvements branch April 12, 2026 00:00
@dotnet-policy-service dotnet-policy-service bot added this to the 11.0-preview4 milestone Apr 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area-infrastructure Includes: MSBuild projects/targets, build scripts, CI, Installers and shared framework

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants