Skip to content

The proto zip release asset does not contain the google/rpc/status.proto file for v1.1.0 #2755

Closed
@dankeboy36

Description

@dankeboy36

Describe the problem

The google/rpc/status.proto has been removed from the 1.1.0 release, although it is used (for example, import "google/rpc/status.proto"; in cc/arduino/cli/commands/v1/commands.proto), and downstream it breaks the proto to TS/JS generation. I believe the Arduino IDE will most likely also encounter this issue. I am about to release a new TS API for the CLI, and I am getting an error. It worked fine with the 1.0.4 release: https://www.npmjs.com/package/ardunno-cli/v/0.1.9?activeTab=code.

To reproduce

Use curl/wget or another way to download the 1.0.4 proto zip and the 1.1.0 version. Unpack them and see the status.proto is not packed with the zip.

% unzip arduino-cli_1.1.0_proto.zip -d 1.1.0-out
Archive:  arduino-cli_1.1.0_proto.zip
  inflating: 1.1.0-out/cc/arduino/cli/commands/v1/commands.proto  
  inflating: 1.1.0-out/cc/arduino/cli/commands/v1/compile.proto  
  inflating: 1.1.0-out/cc/arduino/cli/commands/v1/upload.proto  
  inflating: 1.1.0-out/cc/arduino/cli/commands/v1/common.proto  
  inflating: 1.1.0-out/cc/arduino/cli/commands/v1/lib.proto  
  inflating: 1.1.0-out/cc/arduino/cli/commands/v1/port.proto  
  inflating: 1.1.0-out/cc/arduino/cli/commands/v1/monitor.proto  
  inflating: 1.1.0-out/cc/arduino/cli/commands/v1/core.proto  
  inflating: 1.1.0-out/cc/arduino/cli/commands/v1/board.proto  
  inflating: 1.1.0-out/cc/arduino/cli/commands/v1/settings.proto  
  inflating: 1.1.0-out/cc/arduino/cli/commands/v1/debug.proto  
% unzip arduino-cli_1.0.4_proto.zip -d 1.0.4-out
Archive:  arduino-cli_1.0.4_proto.zip
  inflating: 1.0.4-out/cc/arduino/cli/commands/v1/settings.proto  
  inflating: 1.0.4-out/cc/arduino/cli/commands/v1/monitor.proto  
  inflating: 1.0.4-out/cc/arduino/cli/commands/v1/core.proto  
  inflating: 1.0.4-out/cc/arduino/cli/commands/v1/compile.proto  
  inflating: 1.0.4-out/cc/arduino/cli/commands/v1/port.proto  
  inflating: 1.0.4-out/cc/arduino/cli/commands/v1/board.proto  
  inflating: 1.0.4-out/cc/arduino/cli/commands/v1/commands.proto  
  inflating: 1.0.4-out/cc/arduino/cli/commands/v1/common.proto  
  inflating: 1.0.4-out/cc/arduino/cli/commands/v1/upload.proto  
  inflating: 1.0.4-out/cc/arduino/cli/commands/v1/debug.proto  
  inflating: 1.0.4-out/cc/arduino/cli/commands/v1/lib.proto  
  inflating: 1.0.4-out/google/rpc/status.proto

Escaped command to reproduce:

"/Users/akos.kitta/Desktop/dev/ardunno-cli/node_modules/protoc/protoc/bin/protoc" "--plugin=/Users/akos.kitta/Desktop/dev/ardunno-cli/node_modules/ts-proto/protoc-gen-ts_proto" "--proto_path=/var/folders/g0/n_2cw4ds44l2byzv39xrc4340000gp/T/arduino-cli-17215-XcWyqFmh6gjw/rpc" "--ts_proto_opt=outputServices=nice-grpc,outputServices=generic-definitions,oneof=unions,useExactTypes=false,paths=source_relative,esModuleInterop=true,exportCommonSymbols=false,useOptionals=none" "--ts_proto_out=src/api" "cc/arduino/cli/commands/v1/board.proto" "cc/arduino/cli/commands/v1/commands.proto" "cc/arduino/cli/commands/v1/common.proto" "cc/arduino/cli/commands/v1/compile.proto" "cc/arduino/cli/commands/v1/core.proto" "cc/arduino/cli/commands/v1/debug.proto" "cc/arduino/cli/commands/v1/lib.proto" "cc/arduino/cli/commands/v1/monitor.proto" "cc/arduino/cli/commands/v1/port.proto" "cc/arduino/cli/commands/v1/settings.proto" "cc/arduino/cli/commands/v1/upload.proto"

Error

google/rpc/status.proto: File not found.\n' +
    'cc/arduino/cli/commands/v1/commands.proto:30:1: Import "google/rpc/status.proto" was not found or had errors.\n' +
    'cc/arduino/cli/commands/v1/commands.proto:219:5: "google.rpc.Status" is not defined.

Expected behavior

google/rpc/status.proto is part of the release proto artifact

Arduino CLI version

1.1.0

Operating system

N/A

Operating system version

n/a

Additional context

No response

Issue checklist

  • I searched for previous reports in the issue tracker
  • I verified the problem still occurs when using the nightly build
  • My report contains all necessary details

Metadata

Metadata

Assignees

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions