Skip to content

feat: implement issue #696 — [Fleet Monitor] petry-projects/.github-private — .github/workflows/test-aw.yml - #702

Merged
don-petry merged 27 commits into
mainfrom
dev-lead/issue-696-20260614-0956
Jun 15, 2026
Merged

don-petry merged 27 commits into
mainfrom
dev-lead/issue-696-20260614-0956

Conversation

@don-petry

Copy link
Copy Markdown
Collaborator

Closes #696

Implemented by dev-lead agent. Please review.

@don-petry
don-petry requested a review from a team as a code owner June 14, 2026 10:00
@coderabbitai

coderabbitai Bot commented Jun 14, 2026 •

Copy link
Copy Markdown

Warning

Review limit reached

@don-petry, we couldn't start this review because you've reached your PR review rate limit.

More reviews will be available in 14 minutes and 34 seconds. Learn how PR review limits work.

Your organization has used up its prepaid credits, and credit purchases are no longer available. Enable the review add-on in the billing tab to keep reviews running — you're only billed for reviews past your plan's rate limits ($0.25/file).

⌛ How to resolve this issue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available.

Please see our Fair Usage Limits Policy for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 90ea1887-d94a-4448-8c7d-b7720fd67bc5

📥 Commits

Reviewing files that changed from the base of the PR and between 5fd164e and ec81d0e.

📒 Files selected for processing (2)
  • .github/workflows/test-aw.yml
  • tests/aw/test_test_aw_yml.sh
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch dev-lead/issue-696-20260614-0956

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Code Review

This pull request introduces a new bash script, tests/aw/test_test_aw_yml.sh, which acts as a structural regression test for .github/workflows/test-aw.yml to ensure PyYAML installation steps are version-pinned and use --only-binary. The review feedback includes suggestions to handle potential None returns from yaml.safe_load, make the PyYAML version pin check more robust using a regular expression, use ${BASH_SOURCE[0]} instead of $0 for script path resolution, separate Python imports according to PEP 8, and explicitly specify the file encoding when opening files.

Comment thread tests/aw/test_test_aw_yml.sh Outdated
Comment thread tests/aw/test_test_aw_yml.sh Outdated
Comment thread tests/aw/test_test_aw_yml.sh Outdated
Comment thread tests/aw/test_test_aw_yml.sh Outdated
Comment thread tests/aw/test_test_aw_yml.sh Outdated
@don-petry
don-petry enabled auto-merge (squash) June 14, 2026 10:02
@don-petry
don-petry disabled auto-merge June 14, 2026 10:03
coderabbitai[bot]
coderabbitai Bot previously approved these changes Jun 14, 2026
@don-petry

Copy link
Copy Markdown
Collaborator Author

Dev-Lead — fix-reviews (applied)

Changes committed and pushed.

@don-petry

Copy link
Copy Markdown
Collaborator Author

Dev-Lead — waiting on PR blockers (intent: review-changes)

PR: #702
No changes were committed, but the PR still has blocking checks or reviews (failing or cancelled checks, or changes-requested reviews). The retry cron will re-attempt automatically. Next attempt after: 2026-06-14T10:37:22Z

@don-petry

Copy link
Copy Markdown
Collaborator Author

Note

@don-petry I reviewed this PR and no code changes were needed, but it still has blocking checks or reviews (failing or cancelled checks, or changes-requested reviews), so I cannot mark it done yet. I'll re-check automatically.
Next attempt after: 2026-06-14T10:37:22Z

@don-petry
don-petry enabled auto-merge (squash) June 14, 2026 10:07
@don-petry
don-petry disabled auto-merge June 14, 2026 12:09
@don-petry

Copy link
Copy Markdown
Collaborator Author

Dev-Lead — review-changes (no-changes)

No changes were needed for this PR.

@don-petry
don-petry enabled auto-merge (squash) June 14, 2026 12:11
@don-petry
don-petry disabled auto-merge June 14, 2026 12:22
@don-petry

Copy link
Copy Markdown
Collaborator Author

Dev-Lead — review-changes (no-changes)

No changes were needed for this PR.

@don-petry
don-petry disabled auto-merge June 14, 2026 13:24
@don-petry

Copy link
Copy Markdown
Collaborator Author

Dev-Lead — review-changes (no-changes)

No changes were needed for this PR.

@don-petry
don-petry enabled auto-merge (squash) June 14, 2026 13:26
@don-petry
don-petry disabled auto-merge June 14, 2026 14:29
@don-petry

Copy link
Copy Markdown
Collaborator Author

Dev-Lead — review-changes (no-changes)

No changes were needed for this PR.

@don-petry
don-petry enabled auto-merge (squash) June 15, 2026 00:11
@don-petry
don-petry disabled auto-merge June 15, 2026 00:25
@don-petry

Copy link
Copy Markdown
Collaborator Author

Dev-Lead — review-changes (no-changes)

No changes were needed for this PR.

@don-petry
don-petry enabled auto-merge (squash) June 15, 2026 00:26
@don-petry
don-petry disabled auto-merge June 15, 2026 11:31
@don-petry

Copy link
Copy Markdown
Collaborator Author

Dev-Lead — review-changes (no-changes)

No changes were needed for this PR.

@don-petry
don-petry enabled auto-merge (squash) June 15, 2026 11:32

@donpetry-bot donpetry-bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Automated review — APPROVED ✓

Risk: LOW
Reviewed commit: 25491b0c47697ec4e89ea4be020819c4b8c7a94c
Review mode: triage-approved (single reviewer)

Summary

Reliability fix for issue #696: pins PyYAML to 6.0.3 and forces a prebuilt wheel via --only-binary on both install steps in test-aw.yml, eliminating the network/source-build path that drove the workflow's 29.4% failure rate. Adds a structural regression test that asserts every pip-install pyyaml step is version-pinned and binary-only.

Linked issue analysis

Issue #696 (Fleet Monitor) reported test-aw.yml DEGRADED at 29.4% failure (10/34 runs), p95 303s near the 5-minute job timeout. Root cause is the naive pip install --quiet pyyaml resolving an arbitrary version over the network and potentially building from a source distribution. The PR addresses the root cause directly by pinning the version and forcing a wheel on both occurrences, and adds tests/aw/test_test_aw_yml.sh as a regression guard. Substantively addressed.

Findings

  • Both install steps changed consistently from pip install --quiet pyyaml to pip install "pyyaml==6.0.3" --only-binary=":all:" --quiet. Pinning + wheel-only is a hardening, not a security smell.
  • New test (set -euo pipefail) parses the workflow with PyYAML and fails if any pip-install pyyaml step is not both pinned and --only-binary; it also fails closed if no install step is found. Sound coverage of the regression.
  • --only-binary=:all: relies on a wheel existing for the runner's Python; PyYAML ships wheels for ubuntu-latest, and this matches the existing pattern referenced in the test header. No concern.
  • No auth/secrets/migrations/crypto touched. No CI security warnings.

CI status

All checks COMPLETED with SUCCESS or SKIPPED (CodeQL, Semgrep/AgentShield, gitleaks, shellcheck, bats, unit-tests, SonarCloud, CodeRabbit, etc.). No failing or cancelled checks. mergeStateStatus is BLOCKED only because review is required (this review).


Reviewed automatically by the PR-review agent (single-reviewer mode: fable 5). Reply if you need a human review.

@don-petry
don-petry disabled auto-merge June 15, 2026 11:55
@don-petry

Copy link
Copy Markdown
Collaborator Author

Dev-Lead — waiting on PR blockers (intent: review-changes)

PR: #702
No changes were committed, but the PR still has blocking checks or reviews (failing or cancelled checks, or changes-requested reviews). The retry cron will re-attempt automatically. Next attempt after: 2026-06-15T12:27:06Z

@don-petry

Copy link
Copy Markdown
Collaborator Author

Note

@don-petry I reviewed this PR and no code changes were needed, but it still has blocking checks or reviews (failing or cancelled checks, or changes-requested reviews), so I cannot mark it done yet. I'll re-check automatically.
Next attempt after: 2026-06-15T12:27:06Z

@don-petry
don-petry enabled auto-merge (squash) June 15, 2026 11:57
@don-petry
don-petry disabled auto-merge June 15, 2026 12:16
@don-petry

Copy link
Copy Markdown
Collaborator Author

Dev-Lead — waiting on PR blockers (intent: review-changes)

PR: #702
No changes were committed, but the PR still has blocking checks or reviews (failing or cancelled checks, or changes-requested reviews). The retry cron will re-attempt automatically. Next attempt after: 2026-06-15T12:47:00Z

@don-petry

Copy link
Copy Markdown
Collaborator Author

Note

@don-petry I reviewed this PR and no code changes were needed, but it still has blocking checks or reviews (failing or cancelled checks, or changes-requested reviews), so I cannot mark it done yet. I'll re-check automatically.
Next attempt after: 2026-06-15T12:47:00Z

@don-petry
don-petry enabled auto-merge (squash) June 15, 2026 12:17
@sonarqubecloud

Copy link
Copy Markdown

@don-petry
don-petry merged commit 7162e9d into main Jun 15, 2026
48 of 59 checks passed
@don-petry
don-petry deleted the dev-lead/issue-696-20260614-0956 branch June 15, 2026 12:18

@donpetry-bot donpetry-bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Automated review — APPROVED ✓

Risk: LOW
Reviewed commit: ec81d0e333f9c41587dd2c87258de817f8cce338
Review mode: triage-approved (single reviewer)

Summary

Reliability fix for issue #696: pins PyYAML to 6.0.3 and forces a prebuilt wheel via --only-binary=:all: on both install steps in test-aw.yml, removing the network/source-build path that drove the workflow's 29.4% failure rate. Adds tests/aw/test_test_aw_yml.sh as a structural regression guard. Triage already cleared this as low-risk; this confirmation review agrees.

Linked issue analysis

Issue #696 (Fleet Monitor) flagged test-aw.yml as DEGRADED at 29.4% failure (10/34 runs), p95 303s near the 5-minute job timeout. Root cause: naive pip install --quiet pyyaml resolves an arbitrary version over the network and can fall back to building from a source distribution. The PR addresses the root cause directly by pinning the version and forcing a wheel on both occurrences, and adds a regression test that fails if any pip-install pyyaml step is not both pinned and --only-binary (failing closed if no install step is found). Substantively addressed.

Findings

  • Both install steps changed consistently to pip install "pyyaml==6.0.3" --only-binary=":all:" --quiet. Pinning + wheel-only is hardening, not a security smell.
  • New test (set -euo pipefail) passes shellcheck and runs green locally (2/2). Parses the workflow with PyYAML safe_load and asserts every pyyaml install step is pinned and binary-only.
  • All five gemini-code-assist suggestions were applied and are present in the head diff: yaml.safe_load(f) or {}, regex pin check pyyaml\s*==, ${BASH_SOURCE[0]}, PEP8 split imports, and encoding='utf-8'. No unaddressed reviewer feedback.
  • No auth/secrets/migrations/crypto touched. SonarCloud quality gate passed (0 new issues).

CI status

Required checks are green: CodeQL, Analyze (actions/python), AgentShield, gitleaks, shellcheck, bats, unit-tests, SonarCloud, gh-aw-compile, validate-agent-profiles, Validate AW specs, and the AW validators all SUCCESS. CANCELLED entries are concurrency-superseded duplicates that each have a SUCCESS counterpart, plus non-required dev-lead agent jobs (dispatch/ci-relay) that are expected to be concurrency-cancelled and do not block (per issue #608/#609). reviewDecision is APPROVED.


Reviewed automatically by the PR-review agent (single-reviewer mode: fable 5). Reply if you need a human review.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Fleet Monitor] petry-projects/.github-private — .github/workflows/test-aw.yml

2 participants