Skip to content

Improve remote build#7306

Merged
waruqi merged 4 commits intodevfrom
remote
Feb 9, 2026
Merged

Improve remote build#7306
waruqi merged 4 commits intodevfrom
remote

Conversation

@waruqi
Copy link
Member

@waruqi waruqi commented Feb 9, 2026

    remote_build = {
        hosts = {
            {
                name = "local",
                connect = "127.0.0.1:9691",
                token = "ab9dcb6fe6ddd9ec93338361f7e2e320"
            },
            {
                name = "windows",
                connect = "10.5.138.247:9691",
                token = "0e052f8c7153a6111d5a418e514020ee"
            }
        }
    },
-- connect local host (the first one)
xmake service --connect
-- connect windows host
xmake service --connect --host=windows
-- connect the given ip address
xmake service --connect --host=10.5.138.247
xmake service --connect --host=10.5.138.247:9691

@waruqi waruqi added this to the v3.0.7 milestone Feb 9, 2026
@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @waruqi, 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 improves the flexibility and usability of the remote build feature by introducing a robust multi-host configuration system. It allows users to manage and connect to various remote build servers more efficiently, streamlining the development workflow for distributed environments.

Highlights

  • Enhanced Remote Build Host Configuration: The remote build feature now supports configuring multiple named hosts, allowing users to define different remote build environments with distinct connection details and tokens.
  • New --host Command-Line Option: A new --host option has been added to the xmake service --connect command, enabling users to specify a remote host by its configured name or direct address for connection.
  • Backward Compatibility Maintained: The system retains backward compatibility with the previous single-host remote build configuration format, ensuring existing setups continue to function without modification.
  • Refactored Client Initialization Logic: The client-side logic for remote build connections has been refactored to dynamically select the appropriate host and authorization details based on the new configuration and command-line inputs.

🧠 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
  • xmake/actions/service/xmake.lua
    • Added new examples for xmake service --connect to demonstrate usage with the new --host option, including connecting by host name and IP address.
    • Introduced the --host option for the xmake service command, enabling connections to specific remote hosts.
  • xmake/modules/private/service/client_config.lua
    • Modified the remote_build configuration structure to support a hosts table, allowing the definition of multiple remote build hosts with name, connect address, and token.
    • Ensured that the previous single-host remote_build.connect and remote_build.token configuration format remains functional for backward compatibility.
  • xmake/modules/private/service/remote_build/client.lua
    • Removed direct address initialization from the init method, deferring host selection to a new dedicated function.
    • Implemented the _init_host function to parse and apply remote host configurations, supporting both the new multi-host format and the legacy single-host format, and integrating with the --host command-line option.
    • Updated the user authorization process to store the computed token and user information within the client's status for persistent connection details.
    • Adjusted token(), user(), addr(), and port() getter methods to prioritize dynamically set values over stored status values, ensuring the most current connection details are used.
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.

Copy link
Contributor

@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 introduces a significant improvement to the remote build functionality by adding support for multiple remote build hosts. It achieves this by updating the client configuration to accept a list of hosts, while maintaining backward compatibility with the previous single-host format. A new --host command-line option is also added to allow users to select a specific host for connection. The implementation is solid, and my review includes one suggestion to refactor a small piece of duplicated code for better maintainability.

@waruqi waruqi merged commit e859e1e into dev Feb 9, 2026
77 of 82 checks passed
@waruqi waruqi deleted the remote branch February 9, 2026 06:59
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.

1 participant