Skip to content

ci: verify the composite action across runner OSes - #4

Merged
Project516 merged 2 commits into
mainfrom
ci/verify-action
Aug 3, 2026
Merged

ci: verify the composite action across runner OSes#4
Project516 merged 2 commits into
mainfrom
ci/verify-action

Conversation

@Project516

@Project516 Project516 commented Aug 3, 2026

Copy link
Copy Markdown
Owner

Adds CI that runs uses: ./ on Linux, macOS, and Windows (channel and pinned-version inputs), verifying:

Fixture pubspec.yaml (with a hosted dependency) and .gitignore for generated files are included.

Summary by CodeRabbit

  • New Features
    • Added a Flutter fixture package with defined SDK compatibility and HTTP support.
  • Chores
    • Added automated verification across Ubuntu, macOS, and Windows, including multiple Flutter versions.
    • Added configuration to exclude generated Flutter files and local dependency locks from version control.

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.
@coderabbitai

coderabbitai Bot commented Aug 3, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@Project516, you've reached your PR review limit, so we couldn't start this review.

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 @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

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 configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 4c122dfe-4891-478d-8f00-17ba8c3de205

📥 Commits

Reviewing files that changed from the base of the PR and between 20db467 and 8b0ac88.

📒 Files selected for processing (3)
  • .github/workflows/verify.yml
  • README.md
  • action.yml
📝 Walkthrough

Walkthrough

Adds 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, PUB_CACHE, cached packages, and dependency resolution.

Changes

Flutter fixture verification

Layer / File(s) Summary
Fixture package definition
.gitignore, pubspec.yaml
Defines the setup_flutter_fixture package, its Dart SDK constraint, and its http dependency. Ignores generated Dart tooling output and the package lockfile.
Cross-platform CI verification
.github/workflows/verify.yml
Adds matrix-based verification for stable and pinned Flutter versions across Ubuntu, macOS, and Windows. The workflow checks Flutter availability, PUB_CACHE, hosted packages, and .dart_tool/package_config.json.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Poem

A rabbit checks the Flutter trail,
Across three platforms without fail.
Caches bloom and packages align,
Config files prove the setup is fine.
Hop, verify, and ship the sign!

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the main change: CI verification of the composite action across Linux, macOS, and Windows runners.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

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.

@Project516

Copy link
Copy Markdown
Owner Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Aug 3, 2026

Copy link
Copy Markdown
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@coderabbitai coderabbitai 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.

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

📥 Commits

Reviewing files that changed from the base of the PR and between 025a51b and 20db467.

📒 Files selected for processing (3)
  • .github/workflows/verify.yml
  • .gitignore
  • pubspec.yaml

Comment thread .github/workflows/verify.yml
Comment thread .github/workflows/verify.yml
Comment thread .github/workflows/verify.yml Outdated
Comment thread .github/workflows/verify.yml Outdated
Comment thread .gitignore
- 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
@Project516

Copy link
Copy Markdown
Owner Author

All 5 CodeRabbit findings addressed in 8b0ac88:

  1. package_config.json now asserts http resolves under PUB_CACHE
  2. Added permissions: contents: read
  3. Checkout pinned to actions/checkout SHA with persist-credentials: false
  4. Added beta to matrix; flutter --version is checked against the requested channel/version
  5. Cache keys now hash pubspec.yaml (lockfile isn't committed)

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Aug 3, 2026

Copy link
Copy Markdown

@Project516 I will review the updates in 8b0ac88.

✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@Project516
Project516 merged commit 47188de into main Aug 3, 2026
7 checks passed
@Project516
Project516 deleted the ci/verify-action branch August 3, 2026 17:07
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.

1 participant