Skip to content

Conversation

cmaglie
Copy link
Member

@cmaglie cmaglie commented Oct 3, 2025

Please check if the PR fulfills these requirements

See how to contribute

  • The PR has no duplicates (please search among the Pull Requests
    before creating one)
  • The PR follows
    our contributing guidelines
  • Tests for the changes have been added (for bug fixes / features)
  • Docs have been added / updated (for bug fixes / features)
  • UPGRADING.md has been updated with a migration guide (for breaking changes)
  • configuration.schema.json updated if new parameters are added.

What kind of change does this PR introduce?

This is an extract of #2917 containing only the gRPC part of the PR.

What is the current behavior?

Adds only the gRPC functions for managing libraries in profiles, no user-facing changes.

What is the new behavior?

Does this PR introduce a breaking change, and is titled accordingly?

No

Other information

@cmaglie cmaglie self-assigned this Oct 3, 2025
@cmaglie cmaglie added type: enhancement Proposed improvement topic: gRPC Related to the gRPC interface labels Oct 3, 2025
@per1234 per1234 added the topic: code Related to content of the project itself label Oct 4, 2025
per1234
per1234 previously requested changes Oct 5, 2025
Copy link

codecov bot commented Oct 6, 2025

Codecov Report

❌ Patch coverage is 12.50000% with 315 lines in your changes missing coverage. Please review.
✅ Project coverage is 67.47%. Comparing base (20e315c) to head (27fe68b).

Files with missing lines Patch % Lines
commands/service_profile_lib_add.go 0.00% 95 Missing ⚠️
internal/arduino/sketch/profiles.go 0.00% 66 Missing and 2 partials ⚠️
commands/service_profile_init.go 0.00% 59 Missing ⚠️
commands/service_profile_lib_remove.go 0.00% 33 Missing ⚠️
commands/service_profile_lib_list.go 0.00% 20 Missing ⚠️
commands/service_profile_set_default.go 0.00% 19 Missing ⚠️
commands/cmderrors/cmderrors.go 0.00% 10 Missing and 1 partial ⚠️
commands/service_library_install.go 50.00% 5 Missing and 2 partials ⚠️
commands/service_library_resolve_deps.go 90.00% 2 Missing and 1 partial ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master    #3019      +/-   ##
==========================================
- Coverage   68.36%   67.47%   -0.90%     
==========================================
  Files         241      246       +5     
  Lines       22731    23046     +315     
==========================================
+ Hits        15541    15551      +10     
- Misses       5992     6294     +302     
- Partials     1198     1201       +3     
Flag Coverage Δ
unit 67.47% <12.50%> (-0.90%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

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

As stated by @per1234:

> Build profile data is already provided via the LoadSketch method, so it
> seems that even a mechanism that is truly for getting profile data should
> be implemented by simply expanding the SketchProfile message to contain
> all the data of the build profile (actually kind of silly that it
> currently only provides a subset of the profile data).

arduino#3019 (comment)
@per1234 per1234 dismissed their stale review October 6, 2025 13:17

Requested change has been made. Thanks!

// Name of the library.
string name = 1;
// Version of the library if taken from the Library Index.
string version = 2;
Copy link
Contributor

Choose a reason for hiding this comment

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

Clients would love to use a dedicated message to add the latest version of the library (without listing the available versions), and maybe add the currently installed version that errors if the library is not installed.

rpc SettingsSetValue(SettingsSetValueRequest) returns (SettingsSetValueResponse);

// Create the sketch project file and add a build profile to it.
rpc InitProfile(InitProfileRequest) returns (InitProfileResponse) {}
Copy link
Contributor

Choose a reason for hiding this comment

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

Please reconsider the naming. ProfileInit would match better the other profile-related methods. ProfileCreate would be even better. Initializing a profile would infer installing the libs and platforms. InitProfileRequest -> ProfileCreateRequest, etc.

string protocol = 6;
}

message SketchProfileLibraryReference {
Copy link
Contributor

Choose a reason for hiding this comment

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

Please consider dropping the Sketch prefix from the profile or using it consistently everywhere. Thank you

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

Labels

topic: code Related to content of the project itself topic: gRPC Related to the gRPC interface type: enhancement Proposed improvement

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants