Skip to content

build: 镜像与 CI 升级到 Node 24 LTS,Caddy 升级到 2.11.4 - #3

Open
Ethan2258 wants to merge 1 commit into
cshaizhihao:mainfrom
Ethan2258:claude/upstream-node24
Open

Ethan2258 wants to merge 1 commit into
cshaizhihao:mainfrom
Ethan2258:claude/upstream-node24

Conversation

@Ethan2258

Copy link
Copy Markdown

动机

  • Node.js 20 已于 2026 年 4 月停止维护,不再有安全补丁;Dockerfile 默认和 CI 仍是 20.19.2。
  • GitHub 正在停用 Actions 的 Node 20 运行时,check.yml / docker.yml 里的 checkout@v4、setup-node@v4、setup-buildx@v3、build-push@v6 都还声明 Node 20。
  • Caddy 2.11.x 修复了多个 CVE,当前用的是 2.10.2。

改动

  • Dockerfile 的 NODE_VERSION 默认值和 check.yml 两个 job 的 Node 版本改为 24.21.0。
  • Actions 升到运行在 Node 24 上的主版本:checkout v7、setup-node v7、setup-buildx-action v4、build-push-action v7。这些版本的破坏性变更只移除了本仓库没用到的输入项。
  • docker-compose.yml 的 Caddy 镜像改为 caddy:2.11.4-alpine。
  • 同步更新 docs/deployment.md 和 CHANGELOG。

验证

  • 在 Node 24.21.0 下 pnpm check 全部通过(68 个测试 + 构建)。
  • 现有 Caddyfile 在 Caddy 2.11.4 上 caddy validate 通过。

注意:当前 main 的依赖审计会失败(Next.js 漏洞),和本 PR 无关,另有依赖安全更新的 PR 修复。

Node.js 20 reached end of life in April 2026 and no longer receives
security fixes. The Dockerfile default and both CI jobs now use Node.js
24.21.0 LTS.

GitHub is retiring the Node 20 runtime for actions, so check.yml and
docker.yml move to the majors that run on Node 24: actions/checkout v7,
actions/setup-node v7, docker/setup-buildx-action v4 and
docker/build-push-action v7. Their breaking changes only drop inputs these
workflows do not use.

Caddy 2.11.x ships several security fixes over 2.10.2; the bundled
Caddyfile validates unchanged on 2.11.4.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01URmSTaHbqzQS9fEoXkvAZL
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