feat(deps): bump @actions/core and @actions/exec to 3.0.0#311
feat(deps): bump @actions/core and @actions/exec to 3.0.0#311rhahao merged 10 commits intosws2apps:mainfrom
Conversation
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
|
Warning Rate limit exceeded
⌛ 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. WalkthroughCI and publish workflows now pin Node.js to LTS (lts/Krypton). The repository migrates the Action implementation from JavaScript to TypeScript (adding Changes
Sequence Diagram(s)sequenceDiagram
participant Action as GitHub Action (src/index.ts)
participant Env as Environment / GITHUB_SHA
participant CLI as Firebase CLI (child process)
participant Logs as Action Logs (core)
Action->>Env: read FIREBASE_PROJECT, inputs (functions/hosting/config)
Action->>Logs: validate inputs / build deploy args
Action->>CLI: run `firebase deploy ...` (stream stdout/stderr)
CLI-->>Logs: stdout / stderr streamed
alt success
CLI-->>Action: exit 0
Action->>Logs: complete
else transient error
CLI-->>Action: non-zero (transient)
Action->>CLI: retry `firebase deploy ... --debug`
CLI-->>Logs: stdout / stderr streamed
alt retry success
CLI-->>Action: exit 0
Action->>Logs: complete
else retry failure
CLI-->>Action: exit non-zero
Action->>Logs: core.setFailed(error message)
end
else non-transient error
CLI-->>Action: exit non-zero
Action->>Logs: core.setFailed(error message)
end
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes 🚥 Pre-merge checks | ✅ 1 | ❌ 2❌ Failed checks (1 warning, 1 inconclusive)
✅ Passed checks (1 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. Comment |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@package.json`:
- Line 25: The `@types/node` entry is targeting Node 25 while the runtime is
lts/Krypton (Node 24); update the devDependency "@types/node" in package.json to
a Node 24-compatible range (e.g. ^24.x) to avoid TypeScript allowing Node
25-only APIs, then reinstall to update the lockfile (run your package manager
install) so types and lockfile remain consistent with the Node 24 runtime.
In `@src/index.ts`:
- Around line 74-83: The ExecOptions object currently attaches listeners.stdout
and listeners.stderr that write to process.stdout/process.stderr, which
duplicates output because exec() already routes child output to the default
outStream; either remove the listeners block entirely (preferred) or set the
ExecOptions.silent = true so exec() does not auto-stream and your listeners are
the sole writers. Update the options creation (the ExecOptions object used with
exec()) accordingly and remove or adjust the listeners.stdout/listeners.stderr
handlers to avoid double-printing.
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 `@src/index.ts`:
- Around line 85-93: The retry logic fails because exec() throws a generic
exit-code error while transient details are emitted to stderr; modify the exec
call in the try block (the one invoking exec('firebase', args, options)) to
attach a listeners.stderr callback that accumulates stderr into a string
variable, then in the catch use that stderr string when calling
isLikelyTransientError (e.g., isLikelyTransientError(stderr) or
isLikelyTransientError(error, stderr)); update isLikelyTransientError to accept
and inspect a stderr string (or both error and stderr) for transient patterns,
and keep using toErrorMessage(error) as a fallback in core.setFailed if not
transient.
---
Duplicate comments:
In `@src/index.ts`:
- Around line 74-83: The ExecOptions object named options currently defines
stdout/stderr listeners that re-emit output already streamed by `@actions/exec`,
causing duplicated Firebase CLI logs; fix by either removing the listeners block
entirely (so default streaming is used) or by adding silent: true to the same
options object (so the custom listeners are the only stream handlers), ensuring
the options constant passed to exec() (the ExecOptions variable) is updated
accordingly.
|
|
🎉 This PR is included in version 3.8.0 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |



No description provided.