fix(ci): release on shared pipeline changes#1985
Conversation
📝 WalkthroughWalkthroughExports and refactors release-scoping logic in Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Review rate limit: 1/5 review remaining, refill in 38 minutes and 27 seconds. Comment |
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
There was a problem hiding this comment.
🧹 Nitpick comments (1)
tests/release-scope.test.ts (1)
5-44: Useit.concurrent()across this test suite.All test cases should use concurrent tests per the repository guideline for
tests/**/*.test.tsfiles to maximize parallelism.Suggested changes
- it('treats shared release infrastructure as affecting both components', () => { + it.concurrent('treats shared release infrastructure as affecting both components', () => { @@ - it('treats capgo deploy workflow changes as capgo-only releases', () => { + it.concurrent('treats capgo deploy workflow changes as capgo-only releases', () => { @@ - it('treats cli publish workflow changes as cli-only releases', () => { + it.concurrent('treats cli publish workflow changes as cli-only releases', () => { @@ - it('keeps runtime code scoped to the matching component', () => { + it.concurrent('keeps runtime code scoped to the matching component', () => { @@ - it('does not release on unrelated changes', () => { + it.concurrent('does not release on unrelated changes', () => {🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@tests/release-scope.test.ts` around lines 5 - 44, Convert each synchronous Jest test in this suite to a concurrent test by replacing calls to it(...) with it.concurrent(...); specifically update all occurrences in this file where the tests call the matcher function matchesComponent(...) (the tests named like 'treats shared release infrastructure as affecting both components', 'treats capgo deploy workflow changes as capgo-only releases', etc.) so each it(...) becomes it.concurrent(...) to enable parallel execution across the suite.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Nitpick comments:
In `@tests/release-scope.test.ts`:
- Around line 5-44: Convert each synchronous Jest test in this suite to a
concurrent test by replacing calls to it(...) with it.concurrent(...);
specifically update all occurrences in this file where the tests call the
matcher function matchesComponent(...) (the tests named like 'treats shared
release infrastructure as affecting both components', 'treats capgo deploy
workflow changes as capgo-only releases', etc.) so each it(...) becomes
it.concurrent(...) to enable parallel execution across the suite.
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 700eab04-08ab-4ecb-9ac0-bbf26d41e66e
📒 Files selected for processing (3)
.github/workflows/tests.ymlscripts/release-scope.tstests/release-scope.test.ts
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/publish_cli.yml:
- Line 27: The workflow uses mutable tags for third‑party actions
(actions/checkout@v6, mistricky/ccc@v0.2.6, softprops/action-gh-release@v2)
while passing secrets.PERSONAL_ACCESS_TOKEN; replace each action tag with its
corresponding full immutable commit SHA (pin to the exact commit SHA) in the
publish_cli.yml workflow and verify the PAT is fine‑grained/minimally scoped
before use so the actions cannot be hijacked by retagging.
🪄 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: 123196ca-22d5-47ac-82fe-0f824f2f6cbd
📒 Files selected for processing (1)
.github/workflows/publish_cli.yml
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 @.sonarcloud.properties:
- Around line 7-8: Update the new .sonarcloud.properties so the exclusion lists
(sonar.exclusions and sonar.cpd.exclusions) match the commit intent: remove or
narrow broad patterns that exclude product code (e.g., delete or restrict
entries like cli/**, scripts/**, src/services/conversion.ts,
src/components/comp_def.ts, supabase/functions/_backend/utils/conversion.ts,
supabase/functions/_backend/utils/pg_lite.ts and src/types/supabase.types.ts)
and keep only CI/automation paths such as .github/workflows/** and
.github/scripts/**; if any listed paths truly need exclusion, add a short inline
comment or commit message explaining why each specific pattern is excluded to
justify the exception.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
|



Summary (AI generated)
scripts/release-scope.tscount shared release/test pipeline files for both Capgo and CLIbuild_and_deploy.ymlcount as Capgo-only release scope andpublish_cli.ymlcount as CLI-only release scope#1981skip caseMotivation (AI generated)
The monorepo release split introduced a gap between test path filtering and release scope detection.
#1981changed release infrastructure files, butBump versionskipped both tagging jobs because those files were invisible toscripts/release-scope.ts. That prevented the tag-triggered deploy and npm publish workflows from running.Business Impact (AI generated)
This restores confidence that release-pipeline changes actually exercise the relevant release paths after merge. It reduces the risk of silent non-releases for Capgo deploys and CLI npm publishes, which directly affects production delivery.
Test Plan (AI generated)
bunx vitest run tests/release-scope.test.tsbun scripts/release-scope.ts capgo 5183a028a0596da4dfef50a20e4e88cb15335501 0fe72c40197b3b458b23ca3fac43f420b22cf51abun scripts/release-scope.ts cli 5183a028a0596da4dfef50a20e4e88cb15335501 0fe72c40197b3b458b23ca3fac43f420b22cf51abunx eslint tests/release-scope.test.ts --max-warnings 0Generated with AI
Summary by CodeRabbit
Tests
Chores
Refactor