arduino-cli
arduino-cli copied to clipboard
[gRPC] It should be possible to run the `core update-index` equivalent with and without the 3rd party URLs
Describe the request
As described in arduino/arduino-cli#1762, the core update-index gRPC equivalent must run before initializing the core gRPC client (InitRequest) if it's the first start:
first start, and the core and lib indexes must be updated before running the init phase of the gRCP core client
This is doable, however, if there is a CLI config with an invalid 3rd URL (see https://github.com/arduino/arduino-ide/issues/1084), then the entire core update-index command will fail and makes the core gRPC client non-functional.
Error: 13 INTERNAL: Error downloading index 'https://downloads.arduino.cc/packages/package_nonexistent_index.json': Server responded with: 404 Not Found
Describe the current behavior
As a consumer of the CLI APIs, I want to run the core update-index so that it only downloads the essential package index (#directories.data/package_index.json) and the built-in tools (builtin:serial-discovery and builtin:mdns-discovery). I also want to run the core update-index when it pulls all the package indexes required for the 3rd party platforms. A boolean flag on the gRPC API would be great to achieve it!
Arduino CLI version
From the HEAD: arduino-cli Version: 0.0.0-git Commit: Date:
Operating system
macOS
Operating system version
12.3.1
Additional context
No response
Issue checklist
- [X] I searched for previous requests in the issue tracker
- [X] I verified the feature was still missing when using the nightly build
- [X] My request contains all necessary details
I have encountered this also in non gRPC context.
arduino-cli should handle a broken package index URL by simply skipping forward