Skip to content

refactor(pop-cli): route progress UI through cli abstractions#988

Merged
moliholy merged 6 commits intomainfrom
al/970-spinner-abstraction
Feb 18, 2026
Merged

refactor(pop-cli): route progress UI through cli abstractions#988
moliholy merged 6 commits intomainfrom
al/970-spinner-abstraction

Conversation

@moliholy
Copy link
Copy Markdown
Collaborator

@moliholy moliholy commented Feb 18, 2026

Closes #970.

Summary

Refactors Pop CLI progress reporting to use CLI-level abstractions, keeping progress output consistent across human and JSON modes.

Hardens CI behavior by fixing Docker build context usage and ensuring Docker availability for Linux integration jobs that run verifiable contract flows.

Reduces workflow duplication by extracting shared routines into reusable composite actions and adopting them across integration, coverage, and release pipelines.

Replace direct cliclack spinners with CLI-provided spinner/multi-progress wrappers, and add output-mode-aware subprocess execution helpers.

Relax invalid URI test assertions to accept transport-specific errors across environments.
@moliholy moliholy self-assigned this Feb 18, 2026
@moliholy
Copy link
Copy Markdown
Collaborator Author

@codex

@moliholy moliholy enabled auto-merge (squash) February 18, 2026 14:13
@chatgpt-codex-connector
Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Delightful!

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@codecov
Copy link
Copy Markdown

codecov Bot commented Feb 18, 2026

Codecov Report

❌ Patch coverage is 45.24887% with 121 lines in your changes missing coverage. Please review.
✅ Project coverage is 58.48%. Comparing base (1bf4bf3) to head (62bc333).
⚠️ Report is 2 commits behind head on main.

Files with missing lines Patch % Lines
crates/pop-cli/src/cli.rs 40.00% 36 Missing ⚠️
...es/pop-cli/src/commands/test/on_runtime_upgrade.rs 61.29% 0 Missing and 12 partials ⚠️
crates/pop-cli/src/common/subprocess.rs 0.00% 9 Missing ⚠️
crates/pop-cli/src/common/wallet.rs 0.00% 8 Missing ⚠️
crates/pop-cli/src/commands/up/contract.rs 0.00% 7 Missing ⚠️
crates/pop-cli/src/commands/up/network.rs 22.22% 7 Missing ⚠️
crates/pop-cli/src/commands/bench/pallet.rs 50.00% 0 Missing and 6 partials ⚠️
crates/pop-cli/src/commands/test/execute_block.rs 60.00% 0 Missing and 6 partials ⚠️
crates/pop-cli/src/commands/test/fast_forward.rs 58.33% 0 Missing and 5 partials ⚠️
crates/pop-cli/src/commands/call/contract.rs 0.00% 4 Missing ⚠️
... and 15 more
@@            Coverage Diff             @@
##             main     #988      +/-   ##
==========================================
+ Coverage   58.27%   58.48%   +0.20%     
==========================================
  Files         176      177       +1     
  Lines       40332    40465     +133     
  Branches    40332    40465     +133     
==========================================
+ Hits        23505    23664     +159     
+ Misses      14600    14551      -49     
- Partials     2227     2250      +23     
Files with missing lines Coverage Δ
crates/pop-cli/src/commands/new/contract.rs 78.12% <100.00%> (+2.73%) ⬆️
crates/pop-cli/src/commands/new/pallet.rs 83.20% <100.00%> (ø)
crates/pop-cli/src/commands/upgrade.rs 80.30% <100.00%> (ø)
crates/pop-cli/src/common/binary.rs 73.60% <100.00%> (ø)
crates/pop-cli/src/commands/bench/block.rs 45.45% <0.00%> (ø)
crates/pop-cli/src/commands/bench/machine.rs 44.44% <0.00%> (ø)
crates/pop-cli/src/commands/bench/storage.rs 29.87% <0.00%> (ø)
crates/pop-cli/src/commands/build/spec.rs 78.81% <0.00%> (+1.36%) ⬆️
crates/pop-cli/src/commands/call/chain.rs 69.94% <50.00%> (+7.20%) ⬆️
crates/pop-cli/src/commands/new/chain.rs 44.05% <0.00%> (-8.61%) ⬇️
... and 19 more

... and 41 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Mark spinner and multi-progress helper types as intentionally reusable across feature subsets so cargo check --no-default-features with -Dwarnings succeeds.
Set docker/build-push-action context to the checked-out workspace in PR CI, avoiding authenticated remote Git context fetch failures.
Create reusable composite actions for Rust setup, protobuf install, nextest install, pop binary caching, Docker readiness, and ink-node lifecycle.

Adopt these actions across integration, coverage, and release workflows to remove duplicated shell logic and centralize CI behavior.
Local composite actions require the repository to be checked out first.
Three integration test jobs referenced .github/actions/free-up-space
before actions/checkout, causing immediate failures.
Copy link
Copy Markdown
Member

@al3mart al3mart left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice!

@moliholy moliholy merged commit c9c75f0 into main Feb 18, 2026
31 checks passed
@moliholy moliholy deleted the al/970-spinner-abstraction branch February 18, 2026 18:24
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.

feat(pop-cli): --json support for spinner abstraction and subprocess stdout capture

2 participants