platformio / platformio/platformio-core

Improving pio ci for download progress

Open
#4,632 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

help wanted package management wontfix
Dominant language
Python
Stars
9.5k
Forks
905
Avg merge
2d 13h
Merged PRs (30d)
2

Description

What kind of issue is this?

  • Feature Request.
    Start by telling us what problem you’re trying to solve. Often a solution
    already exists! Don’t send pull requests to implement new features without first getting our
    support. Sometimes we leave features out on purpose to keep the project small.

Configuration

Operating system: Win10

PlatformIO Version (platformio --version): platformio-6.1.7-py3-none-any.whl

Description of problem

When using pio ci and updates are downloaded, it prints the separate download percentages, instead of refreshing the value (because it's executed in a non-interactive shell).

Steps to Reproduce
  1. Run pio ci project on github actions
  2. Check the output
Actual Results
Run pio ci --project-conf=platformio.ini --lib="."
********************************************************************************
If you like PlatformIO, please:
- follow us on Twitter to stay up-to-date on the latest project news > https://twitter.com/PlatformIO_Org
- star it on GitHub > https://github.com/platformio/platformio
- try PlatformIO IDE for embedded development > https://platformio.org/platformio-ide
********************************************************************************

Project has been successfully updated!
Processing garduino (platform: espressif32; board: az-delivery-devkit-v4; framework: arduino)
--------------------------------------------------------------------------------
Platform Manager: Installing espressif32
Downloading 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%
Unpacking 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%
Platform Manager: espressif32@6.2.0 has been installed!
Tool Manager: Installing espressif/toolchain-xtensa-esp32 @ 8.4.0+2021r2-patch5
Downloading 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%
Unpacking 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%
Tool Manager: toolchain-xtensa-esp32@8.4.0+2021r2-patch5 has been installed!
Tool Manager: Installing platformio/framework-arduinoespressif32 @ ~3.20008.0
Downloading 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%
Unpacking 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%
Tool Manager: framework-arduinoespressif32@3.20008.0 has been installed!
Tool Manager: Installing platformio/tool-esptoolpy @ ~1.40501.0
Downloading 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%
Unpacking 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%
Tool Manager: tool-esptoolpy@1.40501.0 has been installed!
Library Manager: Installing adafruit/RTClib
Downloading 0% 10% 20% 30% 40% 50%
Unpacking 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%
Library Manager: RTClib@2.1.1 has been installed!
Expected Results

I would rather see dots here instead of a single % value, eg. one dot for every 10%?

Platform Manager: Installing espressif32
Downloading.....
Unpacking.....
Platform Manager: espressif32@6.2.0 has been installed!

but ideally the percentage should just change in place, instead of appending, but I'm not sure if that's possible (on github actions).

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the pio ci command and trace how download and unpack progress is rendered when running in a non-interactive shell such as GitHub Actions. Reproduce the output shown in the issue, then verify that progress no longer appends every percentage and instead uses the agreed dots or in-place display.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
cli
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.