Skip to content

Add AirNgin ESP32 MQTT Client library #5725

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jan 8, 2025
Merged

Conversation

AirNgin
Copy link
Contributor

@AirNgin AirNgin commented Jan 8, 2025

This pull request adds the AirNgin ESP32 MQTT Client library to the Arduino Library Manager index.

Add AirNgin ESP32 MQTT Client library
@github-actions github-actions bot added the topic: submission Add library to the list label Jan 8, 2025
Copy link
Contributor

github-actions bot commented Jan 8, 2025

A problem was found with your submission https://github.com/AirNgin/Airngin-esp32-mqtt-client

ERROR: The repository has no tags. You need to create a release or tag that matches the version value in the library's library.properties file.

Copy link
Contributor

github-actions bot commented Jan 8, 2025

Thanks for your interest in contributing to the Arduino Library Manager index @AirNgin
Please resolve the error(s) mentioned in the previous comment.

After resolving the issue, trigger this check again by doing one of the following:

  • Commit the required change to the branch you submitted this pull request from.
  • Comment here, mentioning @ArduinoBot in the comment.

NOTE: It is not necessary to open a new pull request. ❗

More information:
https://github.com/arduino/library-registry/blob/main/README.md#if-the-problem-is-with-the-pull-request

@AirNgin
Copy link
Contributor Author

AirNgin commented Jan 8, 2025

@ArduinoBot I have created a valid tag for the library. Please check it again.

Copy link
Contributor

github-actions bot commented Jan 8, 2025

Hello! I'm checking your submission again.

Copy link
Contributor

github-actions bot commented Jan 8, 2025

Arduino Lint has suggestions for possible improvements to https://github.com/AirNgin/Airngin-esp32-mqtt-client:

Linting library in Airngin-esp32-mqtt-client
INFO: No header file found matching library name (AirNgin_ESP32_MQTT_Client.h). Best practices are for primary header   
      filename to match library name.                                                                                   
      See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format            
      (Rule LS008)                                                                                                      
WARNING: library.properties name AirNgin ESP32 MQTT Client contains spaces. Although supported, best practices is to not
         use spaces.                                                                                                    
         See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format         
         (Rule LP015)                                                                                                   
WARNING: Invalid category field value MQTT-broker in library.properties                                        
         See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format
         (Rule LP038)                                                                                          
WARNING: No license file found.                                                                                                                 
         See:                                                                                                                                   
         https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/licensing-a-repository
         (Rule LD002)                                                                                                                           

Linter results for project: 0 ERRORS, 3 WARNINGS

-------------------

Linting sketch in Airngin-esp32-mqtt-client/examples/simple

Linter results for project: no errors or warnings

-------------------

Linter results for projects: 0 ERRORS, 3 WARNINGS

@github-actions github-actions bot merged commit 54436f4 into arduino:main Jan 8, 2025
12 checks passed
Copy link
Contributor

github-actions bot commented Jan 8, 2025

Your submission has now been accepted! Thanks for your contribution to the Arduino Library Manager index.

The library(s) will be available for installation via Library Manager within a day's time.

You can check the logs from the Library Manager indexer for your library(s) here:
http://downloads.arduino.cc/libraries/logs/github.com/AirNgin/Airngin-esp32-mqtt-client/

github-actions bot pushed a commit that referenced this pull request Jan 8, 2025
@AirNgin
Copy link
Contributor Author

AirNgin commented Jan 8, 2025

@ArduinoBot I have addressed the issues and created a new release (0.0.2). Please check again.

@per1234
Copy link
Contributor

per1234 commented Jan 8, 2025

Hello @AirNgin. The automated system here only operates on open pull requests. Since your submission was already accepted and the pull request merged, the bot completely ignores this pull request thread, and thus commenting here doesn't achieve anything. However, the human maintainers of the registry do monitor all activity in this repository in order to assist the library maintainers with any problems they might have, so please don't make unnecessary comments on the pull request threads.

After the initial addition of the library, the indexer job periodically checks each of the libraries in the index and picks up any new release/tag that meets the requirements listed here:

https://github.com/arduino/library-registry/blob/main/FAQ.md#what-are-the-requirements-for-publishing-new-releases-of-libraries-already-in-the-library-manager-list

This means that there is no need to take any additional action to add new releases of your library to Library Manager. They will be added automagically!

It does take a little time for the indexer job to run, and then some additional time after that for the update to propagate through the CDN and the local cache. But it will get there. We give a conservative estimate of availability within one day's time.

You can monitor the indexing of the library releases by checking the library's dedicated indexer logs web page:
https://github.com/arduino/library-registry/blob/main/FAQ.md#user-content-can-i-check-on-library-releases-being-added-to-library-manager


If you found the checks the bot ran on your submission to be useful, you might consider setting up similar checks in your library repository for compliance with the Library Manager requirements and general best practices. You can make these checks automatically run on every commit and pull request to ensure such violations are caught immediately.

Arduino provides a GitHub Actions action that makes this very easy to do by adding a simple YAML file to the repository:

https://github.com/arduino/arduino-lint-action#readme

This action uses the same Arduino Lint tool as the Library Manager system.

It is in use in all the official Arduino library repositories (example).


@AirNgin
Copy link
Contributor Author

AirNgin commented Feb 1, 2025

hi, I updated my library 3 weeks ago, but I can’t see the new version in the Arduino library manager.

@per1234
Copy link
Contributor

per1234 commented Feb 1, 2025

Hi @AirNgin. When there is a problem with the publishing of your library in Library Manager, you should check the dedicated logs page for the library. The URL was provided in the comment from the bot above.

If we look at that page:

https://downloads.arduino.cc/libraries/logs/github.com/AirNgin/Airngin-esp32-mqtt-client/

we see this:

2025/02/01 09:06:20 Checking out tag: 0.0.2
2025/02/01 09:06:20 Release AirNgin:0.0.2 has wrong library name, should be AirNgin ESP32 MQTT Client
2025/02/01 09:06:20 Checking out tag: 0.0.3
2025/02/01 09:06:20 Release AirNgin:0.0.3 has wrong library name, should be AirNgin ESP32 MQTT Client
2025/02/01 09:06:20 Checking out tag: 0.0.4
2025/02/01 09:06:20 Release AirNgin:0.0.4 has wrong library name, should be AirNgin ESP32 MQTT Client
2025/02/01 09:06:20 Checking out tag: 0.1.0
2025/02/01 09:06:20 Release AirNgin:0.1.0 has wrong library name, should be AirNgin ESP32 MQTT Client

The name is the sole unique identifier for a library in the Library Manager system. This identifier is used in command line applications and in the metadata of dependent projects. For this reason, the library is locked to the name it had at the time of registration. Any release that has a different name from the registered name in the metadata is rejected.

Your library was registered under the name AirNgin ESP32 MQTT Client. You later changed the name to AirNgin:

AirNgin/Airngin-esp32-mqtt-client@c8841ae

diff --git a/library.properties b/library.properties
index 4f7b8fb..b5d09f4 100644
--- a/library.properties
+++ b/library.properties
@@ -1,9 +1,9 @@
-name=AirNgin ESP32 MQTT Client
+name=AirNgin
 version=0.0.1
 author=AirNgin Team

So all the releases you made after that change were rejected.

There are two options for fixing the problem. I'll describe them below. You can choose whichever one of the options you think is most appropriate for your library:

A. Revert Name Change

  1. Change the value of the name property in the library's library.properties file back to the registered name AirNgin ESP32 MQTT Client:
    name=AirNgin ESP32 MQTT Client
    
  2. Bump the value of the version property in the library's library.properties metadata file.
  3. Create a new release or tag in the library repository.

Within a day of performing that procedure, you should find the new release in the Arduino Library Manager. Note that the previous non-compliant releases will still be missing.

B. Request Change to Registered Name

If you are sure you want to change the library name to AirNgin, you can submit a request for the library's registration to be updated by following the procedure documented here:

https://github.com/arduino/library-registry/blob/main/FAQ.md#how-can-i-change-a-librarys-name

Please note that it is necessary for a human maintainer to perform an operation on Arduino's internal database in order to accommodate a name change request. It might take a couple of weeks before the maintainer finds the time to perform that operation so you should not expect the registration update to occur immediately.

After the library's registration is updated, all releases that have the new name in their metadata will be listed in Library Manager. The 0.0.1 release you made under the original name will no longer be listed.


If you have any questions or concerns, please let me know.

Regards, Per

@per1234 per1234 self-assigned this Feb 1, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
topic: submission Add library to the list
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants