Skip to content

ci(repo): resolve sibling packages in pana and always report legacy analysis - #206

Merged
xsahil03x merged 3 commits into
mainfrom
ci/pana-sibling-paths
Oct 27, 2026
Merged

xsahil03x merged 3 commits into
mainfrom
ci/pana-sibling-paths

Conversation

@xsahil03x

@xsahil03x xsahil03x commented Oct 27, 2026 •

Copy link
Copy Markdown
Member

Two CI fixes. Each one could block a PR that has nothing wrong with it.

Pana resolves sibling packages from the checkout

Pana analyzes a package on its own, so a dependency on a sibling package came from pub.dev instead of the checkout. When a PR adds API to stream_core and uses it in stream_core_flutter, pana reported "method isn't defined" and scored 40/160. #205 does exactly this with findLinkAt.

  • Before pana runs, the action rewrites stream_core_flutter's stream_core dependency to path: ../stream_core. It does this only when the dependency exists, using one yq line in the same shape as the chat repo's action, and it passes --project-root.
  • stream_core_flutter's minimum drops from 120 to 110. The path dependency raises a "publishable packages can't have path dependencies" warning that costs 10 points. The comment now lists that loss and the one from shimmer 4.0.0.

analyze_legacy_version always reports

The workflow had an on.paths filter. On a PR that doesn't touch packages/**, like this one, GitHub skipped the whole workflow, so the required check never reported and the PR stayed blocked. A gate job now makes the decision, ported from the chat repo's workflow. When the analysis job is skipped through its if, it reports success.

The gate also fixes push runs. The old if: github.event.pull_request.draft == false was false on a push to main, so the analysis never ran there.

How it was verified

  • Pana, locally with pana 0.23.19 against feat(ui): link web addresses written without a scheme #205's branch: 40/160 as CI runs it today, 110/160 with the path dependency and --project-root.
  • On main, stream_core_flutter has no stream_core dependency yet. This PR's own pana run checks that the rewrite leaves it untouched, which should keep it at 120.
  • This PR changes the legacy workflow file, so its gate should let the analysis run here.

🤖 Generated with Claude Code

https://claude.ai/code/session_012vTgFwqhUc2wKCWrw635yC

Pana resolves a package on its own, so stream_core_flutter's dependency on
stream_core came from pub.dev and missed changes in the same checkout. Point
it at ../stream_core and pass the project root, as the chat repo does.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012vTgFwqhUc2wKCWrw635yC
@xsahil03x
xsahil03x requested a review from a team as a code owner October 27, 2026 15:18
@coderabbitai

coderabbitai Bot commented Oct 27, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 42 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

Learn how review limits work.

Review configuration:

Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 6c30ac4e-ffa5-4635-add1-512a08791cf1
Commits

Reviewing files that changed from the base of the PR and between 9713f3a and 3fdd421.

Files selected for processing: 3
  • .github/actions/pana/action.yml
  • .github/workflows/legacy_version_analyze.yml
  • .github/workflows/pana.yml

No actionable comments were generated in the recent review.

Recent review info
Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 1a0a5c61-c6ef-4c94-a270-98671429e434
Commits

Reviewing files that changed from the base of the PR and between 2e9beec and 9713f3a.

Files selected for processing: 2
  • .github/actions/pana/action.yml
  • .github/workflows/pana.yml

Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.

Walkthrough

The Pana action now rewrites a present stream_core dependency to a sibling checkout path and passes the GitHub workspace as the project root. The workflow sets stream_core_flutter’s minimum score to 110.

Changes: Pana configuration

Layer / File(s) Summary
Action and score configuration
.github/actions/pana/action.yml, .github/workflows/pana.yml
The action rewrites a present stream_core dependency to ../stream_core and passes the GitHub workspace as --project-root. The workflow lowers stream_core_flutter’s minimum score from 120 to 110 and updates the listed score deductions.

Priority: Pending latest changes

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Other

Suggested reviewers: renefloor

Merge Risk: Minimal · previous review 9713f

The dependency rewrite leaves the manifest intact when no rewrite is needed. No actionable merge-blocking issue remains after normal checks.

Pre-merge checks: Passed 4
Check name Status Explanation
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.
Title check Passed The title names two changes: resolving sibling packages in pana, and always reporting the legacy analysis. The raw summary covers the pana sibling-path rewrite and score change. It does not mention th…
Description check Passed The description follows the template. It gives the Linear and GitHub issue context implicitly, describes the two fixes, explains the pana sibling-package problem and the legacy workflow gate, and list…
Full details: Title check

Explanation

The title names two changes: resolving sibling packages in pana, and always reporting the legacy analysis. The raw summary covers the pana sibling-path rewrite and score change. It does not mention the legacy analysis gate or workflow change, though the PR objectives omit it too. The title is partially related: it refers to real changes, but the legacy-analysis part is not in the summary. The title is specific, uses the conventional commit form, and avoids vague terms.

Full details: Description check

Explanation

The description follows the template. It gives the Linear and GitHub issue context implicitly, describes the two fixes, explains the pana sibling-package problem and the legacy workflow gate, and lists verification steps. Required template items are missing: the Linear field ("FLU-") is not filled, the CLA checkboxes are not marked, and the Screenshots/Videos section is absent. Those gaps are administrative, so the description is mostly complete.

Finishing Touches
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

@codecov

codecov Bot commented Oct 27, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 71.46%. Comparing base (2e9beec) to head (3fdd421).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #206   +/-   ##
=======================================
  Coverage   71.46%   71.46%           
=======================================
  Files         215      215           
  Lines        8884     8884           
=======================================
  Hits         6349     6349           
  Misses       2535     2535           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012vTgFwqhUc2wKCWrw635yC
@xsahil03x
xsahil03x added this pull request to stack #207 October 27, 2026 15:32

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

Approving - should we maybe file a ticket to try to increase the min pana score when it becomes possible?

The workflow-level paths filter skipped the whole workflow on PRs that don't
touch packages, so the required check never reported and the PR stayed
blocked. Decide in a gate job instead, as the chat repo does: a job skipped by
`if` reports success. The gate also runs the analysis on pushes, which the
old draft check skipped.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012vTgFwqhUc2wKCWrw635yC
@xsahil03x xsahil03x changed the title ci(repo): resolve sibling packages from the checkout in pana ci(repo): resolve sibling packages in pana and always report legacy analysis Oct 27, 2026
@xsahil03x
xsahil03x merged commit d301211 into main Oct 27, 2026
19 of 23 checks passed
@xsahil03x
xsahil03x deleted the ci/pana-sibling-paths branch October 27, 2026 15:57
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.

2 participants