Update main sync#25
Conversation
CLA Signature Guide@Longwt123 , thanks for your pull request. The following commit(s) are not associated with a signed Contributor License Agreement (CLA).
To sign CLA, click here. To check if your email is configured correctly, refer to the FAQs. Once you've signed the CLA or updating your email, please comment |
Linking Issue Notice@Longwt123 , the pull request must be linked to at least one issue. |
Welcome To opensourceways CommunityHey @Longwt123 , thanks for your contribution to the community. Bot Usage ManualI'm the Bot here serving you. You can find the instructions on how to interact with me at Here . That means you can comment below every pull request or issue to trigger Bot Commands. |
There was a problem hiding this comment.
Code Review
This pull request introduces significant updates to the runner container hooks, particularly for the Kubernetes (k8s) implementation. Key changes include transitioning from Kubernetes Jobs to Pods for container steps, replacing persistent volume claims with emptyDir volumes initialized via an init container, and using tar streaming to copy files to and from the workflow pod. Additionally, it introduces a WebSocket heartbeat mechanism to prevent stale connections, improves error serialization to avoid circular reference crashes, and adds robust fast-fail checks for unrecoverable pod and container errors. Feedback from the code review highlights a critical command injection vulnerability in writeContainerStepScript due to unquoted shell arguments, potential TypeError crashes from missing defensive checks on environment variables and API response items, redundant promise settlement paths in copy functions, and a potential promise hang in log streaming.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
CLA Signature Guide@Longwt123 , thanks for your pull request. The following commit(s) are not associated with a signed Contributor License Agreement (CLA).
To sign CLA, click here. To check if your email is configured correctly, refer to the FAQs. Once you've signed the CLA or updating your email, please comment |
|
|||||||||||||||||
CLA Signature Guide@Longwt123 , thanks for your pull request. The following commit(s) are not associated with a signed Contributor License Agreement (CLA).
To sign CLA, click here. To check if your email is configured correctly, refer to the FAQs. Once you've signed the CLA or updating your email, please comment |
|
|||||||||||||||||
CLA Signature Guide@Longwt123 , thanks for your pull request. The following commit(s) are not associated with a signed Contributor License Agreement (CLA).
To sign CLA, click here. To check if your email is configured correctly, refer to the FAQs. Once you've signed the CLA or updating your email, please comment |
|
Warning Review the following alerts detected in dependencies. According to your organization's Security Policy, it is recommended to resolve "Warn" alerts. Learn more about Socket for GitHub.
|
|
|||||||||||||||||
CLA Signature Guide@Longwt123 , thanks for your pull request. The following commit(s) are not associated with a signed Contributor License Agreement (CLA).
To sign CLA, click here. To check if your email is configured correctly, refer to the FAQs. Once you've signed the CLA or updating your email, please comment |
|
|||||||||||||||||
CLA Signature Guide@Longwt123 , thanks for your pull request. The following commit(s) are not associated with a signed Contributor License Agreement (CLA).
To sign CLA, click here. To check if your email is configured correctly, refer to the FAQs. Once you've signed the CLA or updating your email, please comment |
|
|||||||||||||||||
- Merge upstream actions/runner-container-hooks@main (v0.8.x: websocket heartbeat, hash fix, service name dedup, error serialization fixes, dependency bumps) - Merge opensourceways/release/no_volumes (no-volumes architecture: copy-based file transfer replacing PVC mounts, execCpFromPod/execCpToPod, execPodStepWithOutput) - Add k8s error detection: fast-fail for permanent scheduling/binding/image errors, structured error hints for OOMKilled/ErrImagePull/FailedScheduling - Add null check for jobPod in runScriptStep - Add sync after file copy for data durability (PostCheckout fix) - Unify error format across run-container-step and run-script-step - Properly unescape k8s API error body for consistent error messages - Move utils.ts to utils/index.ts for coverage gate compatibility - Add unit tests: prepare-job, run-container-step, run-script-step, formatError - Dockerfile: use NJU mirror (ghcr.nju.edu.cn) with runner 2.334.0 - Bump js-yaml to 4.2.0, uuid to 11.1.1 Resolves: opensourceways/backlog#1203
483dfe6 to
33b390a
Compare
CLA Signature PassLongwt123, thanks for your pull request. All authors of the commits have signed the CLA. 👍 |
|
/retest |
|
|||||||||||||||||
- Add vitest.config.js: runs *.spec.ts files across all packages, outputs coverage/clover.xml at repo root as required by CI diff-cover - Install vitest + @vitest/coverage-v8 as root devDependencies - Add test:coverage script - Fix fixArgs single-quote test to be shlex-implementation-agnostic
|
|||||||||||||||||
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
NotificationThis pull request source branch has changed, so removes the following label(s): gate_check_pass. |
CLA Signature PassLongwt123, thanks for your pull request. All authors of the commits have signed the CLA. 👍 |
|
|||||||||||||||||
npm ci strict peer dependency resolution rejects @babel/core@8.0.1 alongside ts-jest@29.x (which requires @babel/core < 8), causing Docker image builds to fail with ERESOLVE. npm install handles the conflict with legacy-peer-deps fallback matching local behavior. Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
NotificationThis pull request source branch has changed, so removes the following label(s): gate_check_pass. |
CLA Signature PassLongwt123, thanks for your pull request. All authors of the commits have signed the CLA. 👍 |
|
|||||||||||||||||
ts-jest@29.x requires @babel/core >= 7.0.0-beta.0 < 8. The upgrade to @babel/core@8.x caused ERESOLVE in Docker builds (npm v10+ strict peer resolution). Downgrade to ^7.29.0/^7.29.5 to restore compat. Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
NotificationThis pull request source branch has changed, so removes the following label(s): gate_check_pass. |
CLA Signature PassLongwt123, thanks for your pull request. All authors of the commits have signed the CLA. 👍 |
|
|||||||||||||||||
npm 10.x (CI Docker) does not emit "peer": true in lockfiles; npm 11.x (local) does. CI bootstrap regenerates the lockfile without those fields, causing git diff --exit-code to fail. Align committed lockfile with npm 10.x output. Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
NotificationThis pull request source branch has changed, so removes the following label(s): gate_check_pass. |
CLA Signature PassLongwt123, thanks for your pull request. All authors of the commits have signed the CLA. 👍 |
|
|||||||||||||||||
|
/lgtm |
Review Code Feedback
Tips
|
Review Code Feedback
Tips
|
描述
根据上游仓库和当前仓库开发分支,更新并重新启用当前仓库main分支
合并更新,并检查是否有什么问题
相关 Issue
resolve https://github.com/opensourceways/backlog/issues/1203
变更类型