ci: verify the composite action across runner OSes - #4
Conversation
Add a workflow that runs the action on Linux, macOS, and Windows (both channel and pinned-version inputs), then asserts Flutter is on PATH, the pub cache is populated at the OS-correct PUB_CACHE location, and pub get resolved the fixture pubspec.
|
Warning Review limit reached
Next review available in: 48 minutes You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Plus Run ID: 📒 Files selected for processing (3)
📝 WalkthroughWalkthroughAdds a non-publishable Flutter fixture and a GitHub Actions workflow. The workflow tests stable and pinned Flutter versions on Ubuntu, macOS, and Windows. It validates Flutter availability, ChangesFlutter fixture verification
Estimated code review effort: 3 (Moderate) | ~20 minutes Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
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. Comment |
|
@coderabbitai review |
✅ Action performedReview finished.
|
There was a problem hiding this comment.
Actionable comments posted: 5
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.github/workflows/verify.yml:
- Around line 65-70: Update the “Verify pub get resolved the fixture” step to
parse .dart_tool/package_config.json and assert that an http package entry
exists with a package root/cache path under PUB_CACHE. Keep the existing
directory and file-existence checks unchanged.
- Around line 12-15: Add a top-level permissions block before jobs in the
workflow, granting only contents read access; leave the existing test job and
matrix configuration unchanged.
- Line 41: Update the checkout step using actions/checkout to reference the
intended release by its full commit SHA instead of the mutable v7 tag, and set
persist-credentials to false. Keep the existing checkout behavior unchanged
otherwise.
- Around line 18-39: Update the workflow matrix and verification step to cover a
non-default Flutter channel, such as beta, alongside the existing stable and
pinned-version entries. In the verify step, inspect flutter --version output and
fail when it does not match the matrix-selected channel or flutter-version,
while preserving validation for stable and pinned configurations.
In @.gitignore:
- Line 2: Ensure the cache key used by action.yml’s hashFiles('pubspec.lock')
references an available dependency file: either stop ignoring and commit
pubspec.lock, generate it before the Flutter SDK and pub-cache caching steps, or
update both cache keys to hash pubspec.yaml instead.
🪄 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: Organization UI
Review profile: ASSERTIVE
Plan: Pro Plus
Run ID: b9e7c87a-1edd-4a93-961d-d533f15bd66f
📒 Files selected for processing (3)
.github/workflows/verify.yml.gitignorepubspec.yaml
- Grant contents:read permissions only - Pin actions/checkout to commit SHA with persist-credentials: false - Add beta channel to the matrix and verify flutter --version matches the requested channel/version - Assert http resolves from under PUB_CACHE in package_config.json - Key caches on pubspec.yaml so hashFiles resolves without a committed lockfile
|
All 5 CodeRabbit findings addressed in 8b0ac88:
@coderabbitai review |
|
✅ Action performedReview finished.
|
Adds CI that runs
uses: ./on Linux, macOS, and Windows (channel and pinned-version inputs), verifying:flutter pub getresolves the fixture pubspecPUB_CACHElocation (guards against the Windows regression from fix(cache): resolve pub cache path from PUB_CACHE for cross-OS runners #2)Fixture
pubspec.yaml(with a hosted dependency) and.gitignorefor generated files are included.Summary by CodeRabbit