Skip to content

add more contents to build procedure page for kubeedge.#760

Open
fujitatomoya wants to merge 1 commit intokubeedge:masterfrom
fujitatomoya:issues/759
Open

add more contents to build procedure page for kubeedge.#760
fujitatomoya wants to merge 1 commit intokubeedge:masterfrom
fujitatomoya:issues/759

Conversation

@fujitatomoya
Copy link
Contributor

@fujitatomoya fujitatomoya commented Feb 6, 2026

  • Please check if the PR fulfills these requirements
  • The commit message follows our guidelines
  • Tests for the changes have been added (for bug fixes / features)
  • Docs have been added / updated (for bug fixes / features)

Which issue(s) this PR fixes:

Closes #759

  • What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)

Build procedure documentation quality enhancement

  • What is the current behavior? (You can also link to an open issue here)

Out of dated, not well enough described.

  • What is the new behavior (if this is a feature change)?

Up to date with current Makefile from KubeEdge

  • Does this PR introduce a breaking change? (What changes might users need to make in their application due to this PR?)

No

  • Other information:

None

Signed-off-by: Tomoya Fujita <Tomoya.Fujita@sony.com>
@kubeedge-bot
Copy link
Collaborator

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
To complete the pull request process, please assign fisherxu after the PR has been reviewed.
You can assign the PR to them by writing /assign @fisherxu in a comment when ready.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@gemini-code-assist
Copy link

Summary of Changes

Hello @fujitatomoya, 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 KubeEdge build procedure documentation. It provides comprehensive and up-to-date instructions for developers, covering prerequisites, various build configurations (including component-specific, cross-platform, and optimized builds), a full suite of testing procedures (linting, verification, unit, integration, and E2E tests), installation steps, and release processes. The update aims to align the documentation with the current KubeEdge Makefile, making it more accurate and user-friendly.

Highlights

  • Prerequisites Update: Added yq command-line YAML processor as a new prerequisite, including installation instructions for Linux.
  • Expanded Build Instructions: Detailed how to build specific KubeEdge components using the WHAT parameter, perform cross-platform builds, create optimized small builds for resource-limited devices, and clean build artifacts.
  • Comprehensive Testing Guide: Introduced detailed instructions for linting (with component-specific options), verifying code quality (including Go version, vendor dependencies, code generation, licenses, and CRDs), running unit tests (with component-specific options and coverage profile generation), and executing integration and E2E tests (including keadm specific E2E tests).
  • New Operational Sections: Added dedicated sections for installing built binaries to the system or custom paths, and for creating release packages for KubeEdge components.
  • DMI Protobuf Generation: Included instructions for generating Device Management Interface (DMI) API protobuf files for default or specific versions.

🧠 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.

Changelog
  • docs/developer/build.md
    • Added yq as a prerequisite, including installation commands for Linux.
    • Expanded the "Compiling kubeedge" section with commands for building specific components (WHAT parameter), cross-platform builds (crossbuild), small builds (smallbuild), and cleaning build artifacts (clean).
    • Revamped the "Running tests" section to include lint (with WHAT parameter), verify (detailing sub-checks like verify-golang, verify-vendor, verify-codegen, verify-vendor-licenses, verify-crds), test (with WHAT parameter and PROFILE=y for coverage), integrationtest (with execution steps), and e2e (including keadm_e2e and keadm_deprecated_e2e).
    • Introduced new top-level sections: "Installation" (for installing binaries to system or custom paths) and "Release" (for creating release packages for components).
    • Added an "Additional targets" section, specifically for generating DMI protobuf files (dmi-proto).
Activity
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.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

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.

@kubeedge-bot kubeedge-bot added the size/L Denotes a PR that changes 100-499 lines, ignoring generated files. label Feb 6, 2026
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 significantly improves the build procedure documentation by adding detailed explanations and examples for various make targets. The new structure is much clearer and more comprehensive. I have a couple of suggestions to further improve clarity and prevent potential user errors, mainly regarding prerequisite installation and consistency in build commands.

```bash
# Download and install the latest yq binary (platform-specific)
# For Linux (amd64)
wget https://github.com/mikefarah/yq/releases/latest/download/yq_linux_amd64 -O /usr/local/bin/yq && chmod +x /usr/local/bin/yq

Choose a reason for hiding this comment

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

medium

This command will likely fail due to permission errors since it writes to /usr/local/bin. It's better to prepend sudo to both wget and chmod to avoid this.

Additionally, for macOS users, it would be clearer to recommend installing yq via Homebrew (brew install yq) alongside the other tools, rather than pointing them to this manual installation section.

Suggested change
wget https://github.com/mikefarah/yq/releases/latest/download/yq_linux_amd64 -O /usr/local/bin/yq && chmod +x /usr/local/bin/yq
sudo wget https://github.com/mikefarah/yq/releases/latest/download/yq_linux_amd64 -O /usr/local/bin/yq && sudo chmod +x /usr/local/bin/yq

Build all KubeEdge binaries:

```bash
make

Choose a reason for hiding this comment

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

medium

For consistency with the subsequent examples that use make all WHAT=..., it would be clearer to use make all here as well to build all binaries. This avoids potential confusion about whether make and make all are equivalent.

Suggested change
make
make all

Copy link
Contributor Author

@fujitatomoya fujitatomoya left a comment

Choose a reason for hiding this comment

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

@Shelley-BaoYue can you have a quick look at this? this is just straight-forward enhancement aligned with current https://github.com/kubeedge/kubeedge/blob/master/Makefile

@fujitatomoya
Copy link
Contributor Author

@Shelley-BaoYue btw, who is the active reviewer or maintainer to monitor this repository?

@@ -6,13 +6,24 @@ sidebar_position: 1
## Prerequisites

* A recent Go distribution (>=1.16)
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
* A recent Go distribution (>=1.16)
* A recent Go distribution (>=1.21)

go version can also be updated : )

@Shelley-BaoYue
Copy link
Collaborator

@Shelley-BaoYue btw, who is the active reviewer or maintainer to monitor this repository?

Recently, seems only me 😢

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

Labels

size/L Denotes a PR that changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Build page does not describe enough about targets and required package to be installed.

3 participants