Arduino-lint fails with "Library name already in the Library Manager Index"

Hello, I recently added a library for a board that I've been developing to the library index. However, upon pushing new tags, arduino-lint fails with the following error:

ERROR: Library name PowerFeather-SDK is in use by a library in the Library Manager index. Each library must have a      
       unique name value. If your library is already in the index, use the "--library-manager update" flag.             
       See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format           
       (Rule LP017)                                                                                                     

Here is the link to the run: https://github.com/PowerFeather/powerfeather-sdk/actions/runs/8120449871/job/22197670800

It has a suggestion on what to do, which is to use --library-manager update, but I can't seem to find where to use it. I looked at other libraries in the list, and there doesn't seem to be anything special with their library.properties file. I also looked at https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format and CTRL-F'ed, there was no mention of any of --library-manager update.

How can I solve this issue?

Hi @powerfeather. Very cool that you are using the arduino/arduino-lint-action GitHub Actions action in your repository!

The action is actually running the Arduino Lint command line tool and the output it prints comes from that tool. The information about the command line flag is specific to using Arduino Lint directly from the command line (as you might do if you wanted to run the checks on your library locally.

When using the arduino/arduino-lint-action action, you must use the equivalent workflow step input:

https://github.com/arduino/arduino-lint-action#library-manager

I went ahead and submitted a pull request for the necessary change:

--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -4,4 +4,6 @@ jobs:
     runs-on: ubuntu-latest
     steps:
       - uses: actions/checkout@v4
-      - uses: arduino/arduino-lint-action@v1
+      - uses: arduino/arduino-lint-action@v1
+        with:
+          library-manager: update

The action is actually running the Arduino Lint command line tool and the output it prints comes from that tool.

That makes sense! I was wondering why it looked like CLI arguments, but I didn't know where to put it. I hadn't thought of looking for arduino-lint's repo.

Anyways, I accepted the merge request and arduino-lint now passes. Thank you very much!

You are welcome. I'm glad if I was able to be of assistance.

Regards,
Per

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.