Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Show rebuild details in up #12394

Open
remcokranenburg opened this issue Dec 17, 2024 · 1 comment
Open

Show rebuild details in up #12394

remcokranenburg opened this issue Dec 17, 2024 · 1 comment

Comments

@remcokranenburg
Copy link

Description

Currently, docker compose up --watch shows the container logs by default, but no details about rebuilds. This Thursday, I have the opportunity to do some work on this repo, and I'd like to improve the output of docker compose up to also show current build status. Something like this:

Services view (same as current, except note that we show the number of services that are up, and the number of rebuilds happening in the background):

project-backend-1  | gunicorn up and running on 0.0.0.0:8000!
project-frontend-1 | nginx is ready to listen on port 80!
project-db-1       | postgres is listening!
                 
w Disable Watch   s View Services [3]   b View Builds [1]

Builds view (similar to docker compose watch):

[+] Building 21.8s (129/157)                                                          docker:default
 => [backend internal] load build definition from Dockerfile                                    0.0s
 => => transferring dockerfile: 15.53kB                                                         0.0s
                 
w Disable Watch   s View Services [3]   b View Builds [1]

Or, if there are no builds in progress (we might also choose to just not show the b View Builds menu item then):

No builds in progress!

w Disable Watch   s View Services [3]   b View Builds [0]

What do you think of this concept, and are there any implementation difficulties? I'm also not sure yet about the UX:

  • I'm showing a hint of builds in progress withthe [1] in the menu, is that visible enough, or should it be some kind of spinner instead?
  • This idea introduces the concept of "views", sort of like tabs. How do we know which tab is active? We might take inspiration from TUIs like htop.
@ndeloof
Copy link
Contributor

ndeloof commented Dec 17, 2024

docker compose up --watch intentionally only shows the strict minimum about event that are not part of application logs.
To get full build output and other details about the watch process, prefer the docker compose watch command

Build logs require we stp showing application logs so that buildkit can fully acquire the terminal for progress rendering. We could implement our own build event renderer (formatting buildkit solver status events our own way, better integrated in compose output) but there's no short term plan for such a significant change

# for free to join this conversation on GitHub. Already have an account? # to comment
Projects
None yet
Development

No branches or pull requests

2 participants