Skip to content

Auto run#17

Closed
imbajin wants to merge 7 commits intomasterfrom
auto-run
Closed

Auto run#17
imbajin wants to merge 7 commits intomasterfrom
auto-run

Conversation

@imbajin
Copy link
Collaborator

@imbajin imbajin commented Mar 22, 2026

Summary by CodeRabbit

发布说明

  • Chores
    • 重构 Docker 镜像发布工作流程,统一采用可复用工作流模板进行管理。
    • 为 pd/store/server 镜像发布添加独立的工作流,包含集成预检和分阶段多架构构建。
    • 为最新镜像发布添加定时调度触发器。
    • 更新文档以反映新的工作流架构和发布流程。

imbajin added 7 commits March 22, 2026 19:15
- add dedicated reusable workflow for latest/release pd-store-server publishing
- split multi-arch publishing into amd64 first, arm64 second, then manifest merge
- introduce latest schedule and hash gate using LAST_SERVER_HASH
- remove standalone server latest/release workflows and update README map
- switch cache export to mode=min with ignore-error to avoid hard failures
- add shared plus module cache scopes for better cross-module Maven layer reuse
- separate amd64 and arm64 cache scopes to reduce cross-arch cache contention
- add upstream refactor notes for Dockerfile and artifact-based build dedup
- remove unused checkout_ref output and related shell assignment
- serialize build_matrix_json with multiline output to reduce quoting risk
- clarify hstore wording in README for external readers
- keep workflow map list focused on triggerable wrapper workflows
- make latest strict_mode expression robust to both boolean and string false
- smoke-test standalone amd64 image locally before pushing registry tag
- keep non-smoke modules on direct build-and-push path
- clarify README wrapper inputs and matrix ownership wording
- change shared cache to read-only by removing shared scope from cache-to
- keep per-module cache export with mode=min and ignore-error=true
- preserve shared scope in cache-from for best-effort reuse
- fix README grammar for scheduled/hash-gated wrapper guidance
- remove unused shared cache scopes from cache-from across precheck and publish jobs
- keep module-scoped cache-from/cache-to only for amd64 and arm64 builds
- preserve min-sized cache export with ignore-error for stability
- simplify cache behavior to match actual producer/consumer flow
- add Docker Hub tag cleanup after successful manifest publish in pd/store/server flow
- keep partial amd64 availability when arm64 fails by cleaning only in publish_manifest job
- document the critical pd/store/server release pipeline with an ASCII workflow diagram
- align AGENTS.md with the staged dual-arch publish and cleanup semantics
Copilot AI review requested due to automatic review settings March 22, 2026 15:31
@dosubot dosubot bot added the size:XXL This PR changes 1000+ lines, ignoring generated files. label Mar 22, 2026
@coderabbitai
Copy link

coderabbitai bot commented Mar 22, 2026

Caution

Review failed

Pull request was closed or merged during review

Walkthrough

此PR引入了一个新的可重用GitHub Actions工作流来发布pd-store-server Docker镜像,并重构了相关的发布工作流以使用该可重用工作流,同时更新了文档以反映新的发布架构。

Changes

Cohort / File(s) Summary
新的可重用发布工作流
.github/workflows/_publish_pd_store_server_reusable.yml
添加一个新的可重用工作流,用于发布pd、store和server的Docker镜像,包含SHA解析、可选的hash gating、集成预检、分阶段的amd64/arm64构建与推送、多架构清单创建以及临时标签清理逻辑。
Latest发布工作流更新
.github/workflows/publish_latest_pd_store_server_image.yml, .github/workflows/publish_latest_server_image.yml
将publish_latest_pd_store_server_image.yml重构为调用新的可重用工作流(删除了内联的resolve_source、integration_precheck和publish_matrix作业),添加了计划触发器;删除了publish_latest_server_image.yml工作流。
Release发布工作流更新
.github/workflows/publish_release_pd_store_server_image.yml, .github/workflows/publish_release_server_image.yml
添加新的publish_release_pd_store_server_image.yml工作流来调用可重用工作流(release模式);删除了publish_release_server_image.yml工作流。
文档更新
AGENTS.md, README.md
更新AGENTS.md以说明pd/store/server使用专用的可重用工作流,并添加了临时标签清理规则;更新README.md以文档化新的架构图、关键路径流程说明和工作流映射。

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~60 minutes

Possibly related PRs

Suggested labels

enhancement

Poem

🐰 一个新的可重用工作流诞生了,
将pd、store、server的构建舞蹈编排成优雅的脚本,
amd64跳着华尔兹,arm64紧随其后,
清单在Docker Hub中合并与消融,
我们的CI/CD之家,焕然一新!

Important

Merge conflicts detected (Beta)

  • Resolve merge conflict in branch auto-run
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch auto-run

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.

@gemini-code-assist
Copy link

Summary of Changes

Hello, 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!

This pull request significantly enhances the documentation surrounding the image publishing workflows, with a particular focus on the critical pd/store/server component. It clarifies the distinct processes, responsibilities, and rules governing its specialized multi-architecture image publication, ensuring better understanding and maintainability for developers.

Highlights

  • Enhanced pd/store/server Documentation: Documentation for the pd/store/server image publishing workflow was significantly enhanced, detailing its specialized reusable workflow and unique publishing semantics.
  • Detailed Critical Path Explanation: A comprehensive 'Critical Path: PD/Store/Server' section was introduced in README.md, complete with a flow diagram and explicit tag behavior rules for multi-architecture builds.
  • Updated Editing Guidelines: AGENTS.md was updated to include specific editing guidelines for pd/store/server changes, emphasizing artifact preservation and manifest cleanup logic.

🧠 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/** (5)
    • .github/workflows/_publish_pd_store_server_reusable.yml
    • .github/workflows/publish_latest_pd_store_server_image.yml
    • .github/workflows/publish_latest_server_image.yml
    • .github/workflows/publish_release_pd_store_server_image.yml
    • .github/workflows/publish_release_server_image.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.

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

@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

This pull request updates the documentation in AGENTS.md and README.md to reflect a new, more complex CI/CD workflow for publishing pd/store/server images. The changes introduce a new reusable workflow, a staged multi-architecture build process, and detailed diagrams and explanations. The documentation is comprehensive and clear. I have one minor suggestion to improve the clarity of the integration precheck description in the workflow diagram.

|
v
integration_precheck (optional)
(compose health check for pd/store/server-hstore)

Choose a reason for hiding this comment

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

medium

The term pd/store/server-hstore in the diagram is a bit ambiguous. It could be interpreted as a single module name. To improve clarity for other developers, consider explicitly stating that this is a combined health check for multiple components.

Suggested change
(compose health check for pd/store/server-hstore)
(compose health check for pd, store, and server-hstore)

Copy link
Contributor

Copilot AI left a comment

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 updates the repository’s Docker image publishing automation by consolidating the server publishing flow into the existing pd/store/server pipeline and introducing a dedicated reusable workflow for pd/store/server with staged per-arch publishing and manifest merging.

Changes:

  • Add a new reusable workflow for pd/store/server that runs optional integration precheck, publishes amd64 then arm64, merges manifests, and cleans up temporary arch tags.
  • Add a new publish_release_pd_store_server_image.yml wrapper and update publish_latest_pd_store_server_image.yml to use the new reusable workflow (including scheduled auto-runs).
  • Update documentation (README + AGENTS) to reflect the new workflow topology and critical-path behavior; remove standalone server publish wrappers.

Reviewed changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated no comments.

Show a summary per file
File Description
README.md Documents the split between standard publishing and the new dedicated pd/store/server reusable workflow, including critical-path semantics.
AGENTS.md Captures contributor guidance and intent for pd/store/server publishing (staged arch behavior and tag cleanup).
.github/workflows/publish_release_server_image.yml Removes the standalone server release wrapper in favor of the pd/store/server release flow.
.github/workflows/publish_latest_server_image.yml Removes the standalone server latest wrapper in favor of the pd/store/server latest flow.
.github/workflows/publish_release_pd_store_server_image.yml Adds a release wrapper that calls the new pd/store/server reusable workflow.
.github/workflows/publish_latest_pd_store_server_image.yml Switches to the new reusable workflow and enables scheduled execution.
.github/workflows/_publish_pd_store_server_reusable.yml Implements the dedicated pd/store/server publish pipeline (precheck → amd64 → arm64 → manifest → cleanup → optional hash update).

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XXL This PR changes 1000+ lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants