haskell / cabal

Official upstream development repository for Cabal and cabal-install
https://haskell.org/cabal
Other
1.63k stars 696 forks source link

`cabal-validate`: Output is too verbose and not verbose enough #10569

Open 9999years opened 6 days ago

9999years commented 6 days ago

./validate.sh starts by printing 93 lines of output (runtime configuration, tool and compiler versions, the names and versions of all transitive dependencies and local packages) before anything gets built. This is regardless of whether or not --verbose is passed.

Then, unless you pass --verbose, it hides the cabal build output! A clean build can take several minutes, so it's annoying to have no indication of how close it is to being done or what it's doing.

Then, regardless of if --verbose is passed, test suites won't output any indication that they've run a test! This is because the default Tasty arguments include --hide-successes, there's no --no-hide-successes option, and ./validate.sh --tasty-arg ... can only add arguments, not replace the default ones.

Proposal:

geekosaur commented 5 days ago

Small suggestion: if stdout isn't a tty, maybe output GitHub Actions grouping that can be collapsed or expanded by the viewer instead of the ANSI escapes. Then we can make everything verbose in CI without overwhelming people trying to go through the log.

9999years commented 1 day ago

That's a great idea, but let's push it to another PR. I'm not sure what it'll require. I'd appreciate if you could file an issue for it as well.

geekosaur commented 1 day ago

10595