Skip to content

BigComputer-Project/X-Repo2Run

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

X-Repo2Run

An LLM-based build agent system that helps manage and automate build processes in containerized environments in various programming languages. This project provides tools for handling dependencies, resolving conflicts, and managing build configurations.

Features

  • Docker-based sandbox environment for isolated builds
  • Automated dependency management and conflict resolution
  • Waiting list and conflict list management for package dependencies
  • Error format handling and output collection

Prerequisites

  • Python 3.x
  • Docker
  • Git

Installation

  1. Clone the repository:
git clone https://github.com/terryyz/x-repo2run
cd x-repo2run
  1. Install the required dependencies:
pip install -r requirements.txt

Usage

Move tools tools to /home/tools.

The main entry point is through the build agent's main script. You can run it with the following arguments:

python build_agent/main.py <repository_full_name> <sha>

Where:

  • repository_full_name: The full name of the repository (e.g., user/repo)
  • sha: The commit SHA
  • root_path: The root path for the build process

Project Structure

  • build_agent/ - Main package directory
    • agents/ - Agent implementations for build configuration
    • utils/ - Utility functions and helper classes
    • docker/ - Docker-related configurations
    • main.py - Main entry point
    • multi_main.py - Multi-process support

Features in Detail

Sandbox Environment

The project uses Docker containers to create isolated build environments, ensuring clean and reproducible builds.

Dependency Management

  • Waiting List: Manages package installation queue
  • Conflict Resolution: Handles version conflicts between packages
  • Error Handling: Formats and processes build errors

Configuration Agent

Utilizes GPT models to assist in build configuration and problem resolution.

Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Citation

@article{zhuo2025config,
  title={Configuraing Multilingual Docker Environment via Code Agent},
  author={Zhuo, Terry Yue},
  year={2025}
}

License

Apache-2.0

Ackowledgement

Contact

terry.zhuo@moansh.edu

About

X-Repo2Run: Configuraing Multilingual Docker Environment via Code Agent

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 98.9%
  • Dockerfile 1.1%