Skip to content

Conversation

@shiwuliya
Copy link
Contributor

@shiwuliya shiwuliya commented Dec 27, 2025

Summary by Sourcery

通过将 Docker 镜像构建委托给外部仓库并更新核心开发依赖项来简化发布流程。

增强内容:

  • 将 core 包中的开发依赖 @karinjs/node-pty 升级到最新兼容版本。

CI:

  • 更新发布工作流,使其在外部的 karin-docker 仓库中触发 Docker 构建工作流,而不是使用当前仓库中的 Docker 工作流。
  • 移除已废弃的 .github/workflows/docker.yaml 工作流文件,并在发布工作流中统一 npm registry URL 的引号格式。
Original summary in English

Summary by Sourcery

Streamline release process by delegating Docker image builds to an external repository and updating core development dependencies.

Enhancements:

  • Bump @karinjs/node-pty devDependency in the core package to the latest compatible version.

CI:

  • Update release workflow to dispatch the Docker build workflow in the external karin-docker repository instead of using the in-repo Docker workflow.
  • Remove the obsolete .github/workflows/docker.yaml workflow file and normalize the npm registry URL quoting in the release workflow.

Summary by CodeRabbit

  • Chores
    • Removed Docker image build and publish workflow
    • Updated release workflow configuration with new repository parameter
    • Updated @karinjs/node-pty dependency to the latest patch version

✏️ Tip: You can customize this high-level summary in your review settings.

@coderabbitai
Copy link

coderabbitai bot commented Dec 27, 2025

Caution

Review failed

The pull request is closed.

📝 Walkthrough

Walkthrough

The PR removes the Docker build workflow entirely, makes minor formatting and dispatch parameter adjustments to the release workflow, and updates a dev dependency version in the core package configuration.

Changes

Cohort / File(s) Summary
Docker Workflow Removal
​.github/workflows/docker.yaml
Removed entire multi-platform Docker build pipeline including amd64/arm64 builds, manifest creation, registry logins, and verification steps
Release Workflow Updates
​.github/workflows/release.yml
Reformatted registry-url string literals from double to single quotes (2 occurrences); added repo dispatch parameter targeting karin-docker repository
Dependency Maintenance
packages/core/package.json
Updated @karinjs/node-pty devDependency from ^1.1.0 to ^1.1.3; added trailing newline

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Possibly related PRs

Poem

🐰 The Docker build bid farewell today,
Workflows simplified in every way,
With deps bumped up and quotes made tidy,
The pipeline now cleaner and more nifty! 🚀

✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

📜 Recent review details

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 6a0f145 and cd4b4ab.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (3)
  • .github/workflows/docker.yaml
  • .github/workflows/release.yml
  • packages/core/package.json

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 and usage tips.

@sourcery-ai
Copy link
Contributor

sourcery-ai bot commented Dec 27, 2025

Reviewer's guide (collapsed on small PRs)

Reviewer's Guide

此 PR 移除了专用的 Docker GitHub Actions workflow,调整了 release workflow,使其在另一个仓库中触发 Docker 构建,更新了一个开发依赖的版本,并包含一些轻微的配置和风格调整。

更新后的 release workflow(在外部仓库触发 Docker 构建)的流程图

flowchart TD
  trigger[Tag push or release trigger]
  subgraph Release_Workflow_release_yml
    setupNode[Setup Node using actions_setup-node@v4\nregistry-url https://registry.npmjs.org]
    setupPnpm[Setup pnpm using pnpm_action-setup@v2]
    buildAndPublish[Build and publish core package]
    checkCoreChanged[Check if core release is needed\nneeds.release-please.outputs.core == true]
    dispatchDocker[Dispatch docker build workflow\nusing benc-uk_workflow-dispatch@v1\nrepo github.repository_owner/karin-docker\nworkflow docker.yaml]
  end

  trigger --> setupNode --> setupPnpm --> buildAndPublish --> checkCoreChanged
  checkCoreChanged -->|core == true| dispatchDocker
  checkCoreChanged -->|core != true| endNoDocker[Skip docker dispatch]

  subgraph External_Docker_Repo
    dockerWorkflow[docker.yaml workflow in karin-docker repo]
  end

  dispatchDocker --> dockerWorkflow
Loading

File-Level Changes

Change Details Files
调整 release workflow,以在外部仓库中触发 Docker 构建,并统一配置风格。
  • 在 setup-node 步骤中,将 npm registry URL 的引号风格统一为单引号以保持一致性。
  • 更新 workflow-dispatch 步骤,显式传入 repo 参数,指向 '${{ github.repository_owner }}/karin-docker',用于 Docker workflow。
  • 保持现有的 token 和 workflow 名称不变,同时依赖外部仓库来执行 Docker 构建。
.github/workflows/release.yml
更新 core 包的开发依赖,并统一 package.json 的格式。
  • 将 '@karinjs/node-pty' 的 devDependency 从 ^1.1.0 升级到 ^1.1.3。
  • 确保 package.json 以换行结尾,并保留现有的元数据,如 'time' 和 npm 配置。
packages/core/package.json
移除仓库内的 Docker GitHub Actions workflow 及相关 lockfile 变更。
  • 删除 .github/workflows/docker.yaml workflow 文件,使 Docker 构建不再从当前仓库运行。
  • 更新 pnpm-lock.yaml,以反映依赖/版本变更以及(若有)移除与 Docker 相关的工具。
.github/workflows/docker.yaml
pnpm-lock.yaml

Tips and commands

Interacting with Sourcery

  • 触发一次新的审核: 在 pull request 中评论 @sourcery-ai review
  • 继续讨论: 直接回复 Sourcery 的审核评论。
  • 从审核评论生成 GitHub issue: 回复某条审核评论,让 Sourcery 从该评论创建一个 issue。你也可以回复该评论并写上 @sourcery-ai issue 来从中创建 issue。
  • 生成 pull request 标题: 在 pull request 标题的任意位置写上 @sourcery-ai,即可随时自动生成标题。你也可以在 pull request 中评论 @sourcery-ai title 来(重新)生成标题。
  • 生成 pull request 摘要: 在 pull request 正文任意位置写上 @sourcery-ai summary,即可在你想要的位置生成 PR 摘要。你也可以在 pull request 中评论 @sourcery-ai summary 来在任何时候(重新)生成摘要。
  • 生成审阅者指南: 在 pull request 中评论 @sourcery-ai guide,即可在任何时候(重新)生成审阅者指南。
  • 一次性解决所有 Sourcery 评论: 在 pull request 中评论 @sourcery-ai resolve,即可将所有 Sourcery 评论标记为已解决。如果你已经处理了所有评论且不想再看到它们,这会很有用。
  • 一次性撤销所有 Sourcery 审核: 在 pull request 中评论 @sourcery-ai dismiss,即可撤销所有现有的 Sourcery 审核。尤其适用于你想从头开始新的审核时——别忘了再评论 @sourcery-ai review 来触发新一轮审核!

Customizing Your Experience

打开你的 dashboard 来:

  • 启用或禁用审核功能,比如 Sourcery 生成的 pull request 摘要、审阅者指南等。
  • 更改审核语言。
  • 添加、删除或编辑自定义审核指令。
  • 调整其他审核设置。

Getting Help

Original review guide in English
Reviewer's guide (collapsed on small PRs)

Reviewer's Guide

This PR removes the dedicated Docker GitHub Actions workflow, adjusts the release workflow to dispatch the Docker build in a different repository, updates a dev dependency version, and includes minor configuration/style tweaks.

Flow diagram for updated release workflow dispatching Docker build externally

flowchart TD
  trigger[Tag push or release trigger]
  subgraph Release_Workflow_release_yml
    setupNode[Setup Node using actions_setup-node@v4\nregistry-url https://registry.npmjs.org]
    setupPnpm[Setup pnpm using pnpm_action-setup@v2]
    buildAndPublish[Build and publish core package]
    checkCoreChanged[Check if core release is needed\nneeds.release-please.outputs.core == true]
    dispatchDocker[Dispatch docker build workflow\nusing benc-uk_workflow-dispatch@v1\nrepo github.repository_owner/karin-docker\nworkflow docker.yaml]
  end

  trigger --> setupNode --> setupPnpm --> buildAndPublish --> checkCoreChanged
  checkCoreChanged -->|core == true| dispatchDocker
  checkCoreChanged -->|core != true| endNoDocker[Skip docker dispatch]

  subgraph External_Docker_Repo
    dockerWorkflow[docker.yaml workflow in karin-docker repo]
  end

  dispatchDocker --> dockerWorkflow
Loading

File-Level Changes

Change Details Files
Adjust release workflow to trigger Docker build in external repo and normalize config style.
  • Change npm registry URL quoting style in setup-node step to single quotes for consistency.
  • Update workflow-dispatch step to pass an explicit repo parameter pointing to '${{ github.repository_owner }}/karin-docker' for the Docker workflow.
  • Keep the existing token and workflow name while relying on the external repo for Docker builds.
.github/workflows/release.yml
Update core package dev dependency and normalize package.json formatting.
  • Bump '@karinjs/node-pty' devDependency from ^1.1.0 to ^1.1.3.
  • Ensure package.json ends with a newline and preserve existing metadata such as 'time' and npm config.
packages/core/package.json
Remove in-repo Docker GitHub Actions workflow and associated lockfile changes.
  • Delete the .github/workflows/docker.yaml workflow file so Docker builds are no longer run from this repository.
  • Update pnpm-lock.yaml to reflect dependency/version changes and the removal of Docker-related tooling if any.
.github/workflows/docker.yaml
pnpm-lock.yaml

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

@gemini-code-assist
Copy link

Summary of Changes

Hello @shiwuliya, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

尽管 PR 标题提及“移除 docker 构建”,但本次提交的实际内容主要集中在依赖项的更新和锁定文件的精细化调整上。这些更改旨在提升项目的依赖管理准确性、兼容性和稳定性,确保在不同 Linux 环境下原生模块的正确加载。

Highlights

  • 依赖更新: 将 packages/core/package.json 中的 @karinjs/node-pty 依赖从 ^1.1.0 更新到 ^1.1.3
  • 锁定文件调整: pnpm-lock.yaml 文件进行了多项更新,包括:更新 @karinjs/node-pty 的版本和规范;更新 autoprefixerpostcss 子依赖版本;为多个原生模块(如 @karinjs/sqlite3-napi-v6-*, @parcel/watcher-linux-*, @rollup/rollup-linux-*, @swc/core-linux-*, @unrs/resolver-binding-linux-*)添加了 libc(glibc 或 musl)规范,以更精确地指定平台兼容性;更新了 @karinjs/node-pty@1.1.3 的 Node.js 引擎兼容性范围。

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Ignored Files
  • Ignored by pattern: .github/workflows/** (2)
    • .github/workflows/docker.yaml
    • .github/workflows/release.yml
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

@sourcery-ai sourcery-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

嗨——我已经审查了你的改动,一切看起来都很棒!


Sourcery 对开源项目是免费的——如果你觉得我们的代码审查有帮助,欢迎分享 ✨
帮我变得更有用!请在每条评论上点 👍 或 👎,我会根据你的反馈改进之后的代码审查。
Original comment in English

Hey - I've reviewed your changes and they look great!


Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

@sj817 sj817 merged commit 302190a into KarinJS:main Dec 27, 2025
3 of 4 checks passed
Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

这个 PR 主要通过将 Docker 构建委托给外部仓库来简化发布流程,并更新了核心开发依赖。整体来看,变更内容清晰,目的明确。依赖项 @karinjs/node-pty 的版本升级是常规操作。

我有一个关于 @karinjs/node-pty 依赖声明位置的建议,请查看具体评论。将其移至 optionalDependencies 可以更准确地反映其作为可选运行时功能的性质,并改善最终用户的体验。

其他的变更,如 pnpm-lock.yaml 的更新和 package.json 文件末尾添加换行符,都是正确且符合最佳实践的。

},
"devDependencies": {
"@karinjs/node-pty": "^1.1.0",
"@karinjs/node-pty": "^1.1.3",

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

考虑到 @karinjs/node-pty 是一个可选的运行时功能(在 terminalManager.ts 中有相应的缺失处理逻辑),建议将其从 devDependencies 移至 optionalDependencies。这能更清晰地表达其依赖关系,并避免在生产环境中因缺少此开发依赖而产生潜在问题,同时也能让需要此功能的用户明确地知道这是一个可选安装项。

你可以将此行删除,并在 package.json 中添加 optionalDependencies 字段:

  "optionalDependencies": {
    "@karinjs/node-pty": "^1.1.3"
  },

@github-actions github-actions bot mentioned this pull request Dec 27, 2025
@github-actions
Copy link
Contributor

你可以通过以下命令安装该版本:

pnpm add https://pkg.pr.new/KarinJS/Karin/node-karin@cd4b4ab -w

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