bluerobotics / bluerobotics/BlueOS

core: build: Improve current build times

Open
#2,432 0 comments 2 reactions 0 assignees View on GitHub
core enhancement triage
Dominant language
Vue
Stars
453
Forks
151
Avg merge
1d 3h
Merged PRs (30d)
174

Description

### Current behaviour

* Frontend build is already faster than current backend build, so the focus should be on backend building
* **Python Packages Caching Issue**: We have encountered difficulties with caching Python packages. Each rebuild of the image triggers a reinstallation of all packages, this repetitive process is currently slowing down our build.
* **Exploring Package Manager's "Host" Mode**: One potential solution to reduce build times would be investigate whether our package manager supports a "host" mode. This mode could allow us to share dependencies more effectively, minimizing the need for repetitive installations.
* **Shared Virtual Environment for Python Services**: Another approach to consider is the utilization of a shared virtual environment across Python services.
* **Investigation into Python UV**: We could investigate the potential use of [UV](https://astral.sh/blog/uv) if it integrates well with the project and maybe perform better
* **Selective Installation of Libraries and Services**:We should install the libraries but not the services and just move the services to the final docker build stage

### Expected or desired behaviour

Better building times

### Prerequisites

- [X] I have checked to make sure that a similar request has not already been filed or fixed.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by examining the backend Docker image build and how Python packages are installed during rebuilds. Compare package caching, the package manager's host mode, a shared virtual environment, UV, and moving services to the final Docker stage. Done means backend builds are measurably faster without omitting required libraries or services.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, python
Domain
backend, build-system, devops
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.