Repository navigation
Fix lab CLI installation and prepare v0.2.0 - #15
Merged
Merged
Conversation
审查者指南此 PR 通过使 README 和发布工作流与 cargo-dist 的 lab-cli 软件包构件保持一致,扩展用户和发布文档,并在发布前添加跨平台、安装程序和 OCI 验证门禁,为 v0.2.0 发布做准备。 v0.2.0 发布流程时序图sequenceDiagram
participant Maintainer
participant Dist as cargo-dist
participant CI as GitHub Actions
participant Registry as Disposable OCI Registry
participant Release as GitHub Release
Maintainer->>Dist: generate
Maintainer->>Dist: plan
Dist-->>CI: Release plan
CI->>CI: cargo fmt --all --check
CI->>CI: cargo test --workspace --locked
CI->>Registry: Run OCI integration test
Registry-->>CI: OCI round trip result
CI->>CI: Build six platform targets
CI->>CI: Validate README installer URLs
Maintainer->>Release: Push v0.2.0 tag
Release-->>Maintainer: Publish lab-cli artifacts and installers
文件级变更
提示和命令与 Sourcery 交互
自定义你的使用体验访问你的控制面板以:
获取帮助Original review guide in EnglishReviewer's GuideThis PR prepares the v0.2.0 release by aligning the README and release workflow with cargo-dist’s lab-cli package artifacts, expanding user and release documentation, and adding cross-platform, installer, and OCI validation gates before publication. Sequence diagram for v0.2.0 release publicationsequenceDiagram
participant Maintainer
participant Dist as cargo-dist
participant CI as GitHub Actions
participant Registry as Disposable OCI Registry
participant Release as GitHub Release
Maintainer->>Dist: generate
Maintainer->>Dist: plan
Dist-->>CI: Release plan
CI->>CI: cargo fmt --all --check
CI->>CI: cargo test --workspace --locked
CI->>Registry: Run OCI integration test
Registry-->>CI: OCI round trip result
CI->>CI: Build six platform targets
CI->>CI: Validate README installer URLs
Maintainer->>Release: Push v0.2.0 tag
Release-->>Maintainer: Publish lab-cli artifacts and installers
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
There was a problem hiding this comment.
您好——我发现了 1 个问题
面向 AI Agent 的提示
请处理本次代码审查中的评论:
## 具体评论
### 评论 1
<location path=".github/workflows/checks.yml" line_range="50-56" />
<code_context>
+ - run: cargo fmt --all --check
+ - name: Start disposable OCI registry
+ if: runner.os == 'Linux'
+ run: docker run --detach --publish 127.0.0.1:5000:5000 registry:3
+ - name: Test workspace including OCI integration
+ if: runner.os == 'Linux'
+ env:
+ OPENSDL_TEST_REGISTRY: localhost:5000
+ run: cargo test --workspace --locked -- --include-ignored
+ - name: Test workspace on macOS and Windows
+ if: runner.os != 'Linux'
+ run: cargo test --workspace --locked
</code_context>
<issue_to_address>
**问题(测试):** OCI 集成测试启动注册表容器后,立即运行推送/拉取往返测试,而没有等待注册表接受连接。因此,当 `registry:3` 尚未完成启动时,测试会因连接被拒绝而失败。
**触发条件:** 临时注册表容器的初始化时间长于后续 `cargo test` 的启动时间。
**建议修复:** 在运行集成测试之前,轮询 `http://127.0.0.1:5000/v2/`,直到其成功响应,并设置超时时间。
</issue_to_address>Original comment in English
Hey - I've found 1 issue
Prompt for AI Agents
Please address the comments from this code review:
## Individual Comments
### Comment 1
<location path=".github/workflows/checks.yml" line_range="50-56" />
<code_context>
+ - run: cargo fmt --all --check
+ - name: Start disposable OCI registry
+ if: runner.os == 'Linux'
+ run: docker run --detach --publish 127.0.0.1:5000:5000 registry:3
+ - name: Test workspace including OCI integration
+ if: runner.os == 'Linux'
+ env:
+ OPENSDL_TEST_REGISTRY: localhost:5000
+ run: cargo test --workspace --locked -- --include-ignored
+ - name: Test workspace on macOS and Windows
+ if: runner.os != 'Linux'
+ run: cargo test --workspace --locked
</code_context>
<issue_to_address>
**issue (testing):** The OCI integration test starts the registry container and immediately runs the push/pull round trip without waiting for the registry to accept connections, so the test fails with a connection-refused error when `registry:3` has not finished starting.
**Triggers:** When the disposable registry container takes longer to initialize than the subsequent `cargo test` startup.
**Suggested fix:** Poll `http://127.0.0.1:5000/v2/` until it responds successfully, with a timeout, before running the integration tests.
</issue_to_address>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The README's installer URLs return 404 because the released package is still osdl-cli v0.1.0 while the current executable is lab. Prepare v0.2.0 and align the README with cargo-dist's actual lab-cli installer and updater names.
Add install/PATH/update instructions, a server/client quick start, hardware resource prerequisites, and the current implementation status. Release PRs now build all six targets and run the full workspace tests on Linux, macOS, and Windows. Linux also runs the OCI registry round trip against a disposable registry with a bounded readiness check. Normalize text checkouts and use native paths in tests so the Windows lane exercises the same fixtures and path contracts. CI checks the README installer URLs against the generated release plan.
Validation: cargo fmt --all --check; cargo test --workspace --locked -- --include-ignored against a disposable OCI registry (192 passed, zero ignored); dist generate/plan and global installer generation; isolated lab 0.2.0 serve/status/device list/stop smoke test. The complete staged diff passed the thermo-nuclear code quality review with no blocking findings. Public installation will be verified after the merged v0.2.0 tag is published.
Sourcery 摘要
准备 v0.2.0
labCLI 发布版本,修正安装程序,扩展用户指南,并进行跨平台发布验证。新功能:
labCLI 的安装、更新、快速入门、硬件前置条件和资源工作流。错误修复:
lab-cli软件包及 cargo-dist 构件名称保持一致。改进:
CI:
文档:
测试:
杂务:
Original summary in English
Summary by Sourcery
Prepare the v0.2.0
labCLI release with corrected installers, expanded user guidance, and cross-platform release validation.New Features:
labCLI installation, updating, quick-start, hardware prerequisites, and asset workflows.Bug Fixes:
lab-clipackage and cargo-dist artifact names.Enhancements:
CI:
Documentation:
Tests:
Chores: