Skip to content

feat(cli): add progress spinners to build and list commands#1391

Open
RithamSharma wants to merge 2 commits intodora-rs:mainfrom
RithamSharma:feat/cli-progress-bars
Open

feat(cli): add progress spinners to build and list commands#1391
RithamSharma wants to merge 2 commits intodora-rs:mainfrom
RithamSharma:feat/cli-progress-bars

Conversation

@RithamSharma
Copy link

Title: feat(cli): add progress spinners to build and list commands

Description

This PR improves the UX of the CLI by adding visual feedback (spinners) for long-running operations.

Changes

  • Added indicatif dependency to dora-cli.
  • Added spinners to dora build (resolving, fetching git, building).
  • Added spinners to dora list (fetching dataflows, fetching nodes).

Testing

  • ran cargo build -p dora-cli
  • ran dora build dataflow.yaml and verified spinners appear.
  • ran dora list and verified spinners appear.

@swar09
Copy link
Contributor

swar09 commented Mar 3, 2026

The build should be very fast. Do we really need a progress bar for this?

also dep tree if we add indicatif (already bloated dep tree)
indicatif v0.18.4
├── console v0.16.2
│ ├── encode_unicode v1.0.0
│ ├── libc v0.2.182
│ ├── once_cell v1.21.3
│ ├── unicode-width v0.2.2
│ └── windows-sys v0.61.2
│ └── windows-link v0.2.1
├── portable-atomic v1.13.1
├── unicode-width v0.2.2
└── unit-prefix v0.5.2

The CLI worked fine before, and it will work the same after. Does value justify the dep weight ?

@RithamSharma
Copy link
Author

The build should be very fast. Do we really need a progress bar for this?

also dep tree if we add indicatif (already bloated dep tree) indicatif v0.18.4 ├── console v0.16.2 │ ├── encode_unicode v1.0.0 │ ├── libc v0.2.182 │ ├── once_cell v1.21.3 │ ├── unicode-width v0.2.2 │ └── windows-sys v0.61.2 │ └── windows-link v0.2.1 ├── portable-atomic v1.13.1 ├── unicode-width v0.2.2 └── unit-prefix v0.5.2

The CLI worked fine before, and it will work the same after. Does value justify the dep weight ?

Thanks for the feedback! You're right that local builds are fast, but my main motivation was:

Network operations: dora list and dora build (fetching git repos) can hang on slower networks, leaving the user wondering if the CLI froze.
Distributed builds: When building on remote machines via coordinator, latency can be unpredictable.
UX Consistency: Providing visual feedback aligns with modern CLI tools (like cargo, docker, uv).
However, I agree indicatif is heavy. I can look for a lighter alternative or implement a simple spinner manually if you think that's better?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants