ci: add analyze-iwyu required check, bump cpputest-clang image#261
Conversation
|
Warning Rate limit exceeded
To keep reviews running without waiting, you can enable usage-based add-on for your organization. This allows additional reviews beyond the hourly cap. Account admins can enable it under billing. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the 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 have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (4)
📝 WalkthroughWalkthroughThis PR updates the ChangesContainer Image Update & IWYU CI Integration
Estimated code review effort🎯 2 (Simple) | ⏱️ ~15 minutes Possibly related issues
Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
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. Review rate limit: 0/1 reviews remaining, refill in 36 minutes and 12 seconds.Comment |
☀️ Quality Summary 🚦 build-linux-gcc: 100% successful (✔️ 1025 passed, 🙈 3 skipped) Created by Quality Monitor v1.14.0 (#f3859fd). More details are shown in the GitHub Checks Result. |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In @.github/workflows/ci.yml:
- Line 580: The CI workflow currently lists analyze-iwyu in the needs array but
the Quality Monitor summary never downloads its artifact nor includes an
analysis entry; update the summary job (the job named summary) to download the
iwyu-report artifact (iwyu-report) alongside the other reports and add an
analyze-iwyu block to the Quality Monitor `analysis` array (the same location
where analyze-tidy and analyze-cppcheck are defined) so the IWYU results are
picked up by the PR quality summary.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: a5e157f2-9dcc-46a0-8e20-bc8551291dd1
📒 Files selected for processing (4)
.devcontainer/docker-compose.yml.github/workflows/ci.ymldocs/ci.mddocs/containers.md
Partial score: 0/0🚧 The grading has been aborted due to an error. ExceptionError MessagesInformation MessagesCreated by Quality Monitor v1.14.0 (#f3859fd). More details are shown in the GitHub Checks Result. |
☀️ Quality Summary 🚦 build-linux-gcc: 100% successful (✔️ 1025 passed, 🙈 3 skipped) Created by Quality Monitor v1.14.0 (#f3859fd). More details are shown in the GitHub Checks Result. |
Adds the analyze-iwyu CI job (mirrors analyze-tidy/analyze-cppcheck shape) that runs `cmake --build --preset iwyu --target iwyu` against the new cpputest-clang image (which now ships include-what-you-use 0.23 built against clang-19). Job is wired into the summary's needs list so it gates the PR. The container SHA bump from sha-0385cea to sha-7eac3ab also updates the existing build-linux-clang job and the local clang dev-container. After this merges, branch protection should be updated to make analyze-iwyu a required status check (not done in this PR — it's a GitHub UI change, not a code change).
CodeRabbit caught that analyze-iwyu was wired into the summary job's needs (gating execution) but the Quality Monitor summary itself neither downloaded the iwyu-report artifact nor had an analyze-iwyu analysis entry, so PR-level findings would be invisible. Adds the download step and the analysis block using warnings-ng's `iwyu` parser id.
…ownload The warnings-ng parser registry bundled with quality-monitor@v1 has no parser registered under id `iwyu` — the summary job was failing with `java.util.NoSuchElementException: No such parser registered: iwyu`. Dropping the analysis-array entry. The iwyu-report artifact download is kept for archival/inspection. The job-level pass/fail status of analyze-iwyu (which becomes a required check via branch protection) is the gate — Quality Monitor surfacing was nice-to-have for warnings-ng formatted output, not strictly necessary for required-check semantics.
393a793 to
f6f6510
Compare
☀️ Quality Summary 🚦 build-linux-gcc: 100% successful (✔️ 1025 passed, 🙈 3 skipped) Created by Quality Monitor v1.14.0 (#f3859fd). More details are shown in the GitHub Checks Result. |
Purpose
Promotes the IWYU gate (added in #260) to a required CI check, and bumps the
cpputest-clang container to the SHA that ships include-what-you-use.
Change Description
analyze-iwyujob in .github/workflows/ci.yml.Mirrors the shape of
analyze-tidy/analyze-cppcheck: configures theiwyupreset, runs theiwyutarget, uploads the captured output as abuild artifact. Uses the new clang container (
sha-7eac3ab) which shipsIWYU 0.23 built from source against the matching clang-19.
.devcontainer/docker-compose.yml(clang dev-container service).github/workflows/ci.yml(existingbuild-linux-clangjob + newanalyze-iwyujob)docs/containers.md(image-tag table)analyze-iwyuadded to thesummaryjob'sneeds:list so the PR-level summary covers it.docs/ci.mdtable grows by one row.After this merges, branch protection on
mainshould be updated to requireanalyze-iwyu— that's a GitHub UI change, not part of this PR.Test Evidence
Verified locally against the published image:
Result: exit 0, all files reported "has correct #includes/fwd-decls".
Areas Affected
Dev Containers: Rebuild.🤖 Generated with Claude Code
Summary by CodeRabbit
Chores
Documentation