Skip to content

Fix Linux native binding workflow and add Docker prechecks - #4

Merged
Arylo merged 2 commits into
masterfrom
hotfix/binding-linux-native
Mar 23, 2026
Merged

Arylo merged 2 commits into
masterfrom
hotfix/binding-linux-native

Conversation

@Arylo

@Arylo Arylo commented Mar 23, 2026

Copy link
Copy Markdown
Collaborator

No description provided.

@Arylo Arylo self-assigned this Mar 23, 2026
Copilot AI review requested due to automatic review settings March 23, 2026 07:10
@Arylo
Arylo merged commit d1350bb into master Mar 23, 2026
14 checks passed
@Arylo
Arylo deleted the hotfix/binding-linux-native branch March 23, 2026 07:13

Copilot AI 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.

Pull request overview

This PR aims to stabilize Linux CI installs for native-binding-based tooling by ensuring the root package-lock.json contains the required Linux optional binding packages, and by documenting a repeatable Docker-based precheck/repair process.

Changes:

  • Add missing Linux x64 GNU native binding entries for oxfmt, oxlint, and rolldown in the root package-lock.json.
  • Pin Node.js setup in .github/workflows/push.yml for the code_check job (with npm cache enabled).
  • Add a new Claude command (/linux-native-binding-repair) and hook it into the /commit workflow; remove the apps/caddyfile-sdk lockfile.

Reviewed changes

Copilot reviewed 4 out of 6 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
package-lock.json Adds Linux native binding package nodes so Linux CI can resolve optional binaries consistently.
CLAUDE.md Documents the new /linux-native-binding-repair custom command.
apps/caddyfile-sdk/package-lock.json Removes the app-level lockfile (centralizing dependency locking at the workspace root).
.github/workflows/push.yml Adds actions/setup-node (Node 24.12.0 + npm cache) before npm ci in code_check.
.claude/commands/linux-native-binding-repair.md Adds a Docker/act-driven checklist and remediation guide for missing Linux bindings.
.claude/commands/commit.md Requires running /linux-native-binding-repair when lockfiles/manifests are involved before committing.
Files not reviewed (1)
  • apps/caddyfile-sdk/package-lock.json: Language not supported

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines 84 to 90
- uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 24.12.0
cache: npm
- name: Install dependencies

Copilot AI Mar 23, 2026

Copy link

Choose a reason for hiding this comment

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

code_check job now pins Node.js 24.12.0, but the subsequent reusable workflows (monkey_push.yml / qinglong_push.yml) also run npm ci on fresh runners without setting up Node. This can lead to non-reproducible installs/builds (different Node/npm versions than code_check) and potential engine/runtime mismatches. Consider moving the Node setup (and npm cache) into the reusable workflows themselves, or otherwise ensuring all jobs that run npm use the same pinned Node version.

Copilot uses AI. Check for mistakes.
Comment on lines +58 to +63
12. 在目标平台上重新验证:
- 重新执行 `npm ci`
- 重新执行之前失败的精确命令
- 如果使用 `act`,需要时单独验证对应 job

13. 区分依赖问题与 `act` 兼容性问题:

Copilot AI Mar 23, 2026

Copy link

Choose a reason for hiding this comment

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

Markdown list numbering/indentation is inconsistent: items “12.” and “13.” are indented under item 11, so they’ll render as nested content rather than continuing the top-level sequence. Align the indentation so 12 and 13 are top-level list items (or intentionally nest them with proper formatting).

Suggested change
12. 在目标平台上重新验证:
- 重新执行 `npm ci`
- 重新执行之前失败的精确命令
- 如果使用 `act`,需要时单独验证对应 job
13. 区分依赖问题与 `act` 兼容性问题:
12. 在目标平台上重新验证:
- 重新执行 `npm ci`
- 重新执行之前失败的精确命令
- 如果使用 `act`,需要时单独验证对应 job
13. 区分依赖问题与 `act` 兼容性问题:

Copilot uses AI. Check for mistakes.
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