VirtCode / serene-aur

replace your aur helper with a self-hosted build server
MIT License
5 stars 2 forks source link

Live build logs #5

Closed WhySoBad closed 4 months ago

WhySoBad commented 4 months ago

This adds the functionality to subscribe to build logs live. To the serene info <package> logs command the --subscribe and --attach arguments were added. When supplied without --attach, the --subscribe argument prints the latest build log or continuously prints the active build log should the package be currently built. When supplied with --attach the same is printed but additionally, the cli waits for new builds and prints them as they come.

All events are transmitted through server sent events using the actix-web-lab crate. The functionality is implemented in the Broadcast struct.

VirtCode commented 4 months ago

First of all, thank you so much!

I've made a few comments in my review, as you can see. Most of them are minor nits. What I'd change is when the subscribed logs are used, as I think they should be the default (see my remarks in the biggest of my comments).

Otherwise it looks and works great!

WhySoBad commented 4 months ago

I've implemented all your feedback. There is only one slight difference between using the logs subcommand with and without an id: When specifying an id the "Query server for package builds..." is printed. In my opinion this print statement should be removed from the logs subcommand entirely since I think its not easily differentiable from the logs from the container. Additionally, you mentioned the subcommand should be usable for scripts - not having this print statement would also help in this case.

VirtCode commented 4 months ago

Thanks, that looks great.

Yes, if you want to you can remove this log, as it is probably better for scripting reasons (we also don't have the log when e.g. fetching the pkgbuild).

I've left a few rather obnoxious style nits, and then we'll be good to go!

VirtCode commented 4 months ago

LGTM, thanks again!