1
0
mirror of https://github.com/arduino/library-registry.git synced 2025-07-29 14:01:15 +03:00
Commit Graph

4326 Commits

Author SHA1 Message Date
9914dd642e Grant full registry access privileges to repository maintainer
This access level will allow the maintainer to make exceptions for specific libraries owned by an entity whose
privileges have been revoked.
2025-01-13 21:16:37 -08:00
9b5ff78597 Add Library Registry access control system
Background
----------

The Arduino Library Manager Registry repository receives thousands of pull requests from a large number of community
contributors. The great majority of these contributors behave in a responsible manner. Unfortunately this repository is
regularly the subject of irresponsible behavior. The small number of people who behave irresponsibly consume a
significant amount of the finite maintenance resources available for maintenance of Arduino's repositories.

Communication is always the first measure taken in these cases. This is done automatically by the "Manage PRs" workflow,
and then by the registry maintainer when it becomes clear that the user has disregarded the comments from the bot.
Unfortunately it is regularly the case that the user simply disregards all communication and continues their pattern of
irresponsible behavior unchecked.

Alternatives
------------

GitHub provides tools for dealing with harmful behavior:

- Report user
- Block user

Reporting a user is the appropriate measure in cases of malicious behavior, and the account is usually banned from the
site relatively quickly after a legitimate report is made. However, the irresponsible behavior in the registry
repository is not overtly malicious and so reporting the user in these cases would not be appropriate or effective.

At first glance, the block feature seems ideal. However, it can only be done at an organization-wide level, and by an
organization administrator. The repository maintainer is not an organization administrator, so this makes the feature
inconvenient to use. There is no sign of these users interacting with other repositories in the `arduino` organization,
and so there is no benefit to blocking them at organization scope. In addition, in order to make it more difficult to
circumvent the access restriction, we need the ability to block requests for libraries owned by an entity who has
established a pattern of irresponsible behavior, regardless of which user submits the request.

So the tools provided by GitHub are not suitable and a bespoke system must be implemented.

Access Levels
-------------

Allow: the user may submit requests for any library, even if registry privileges have been revoked for the owner of the
library's repository. This access level will only be granted to registry maintainers, in order to allow them to make
exceptions for specific libraries owned by an entity whose privileges have been revoked.

Default: the user may submit requests for any library, unless registry privileges have been revoked for the owner of the
library's repository.

Deny: the user may not submit requests. Requests from users with "default" access level for any library repository owned
by the entity (user or organization) are denied.

In cases where a request is declined due to revocation of Library Manager Registry privileges, the "Manage PRs" workflow
will automatically make an explanatory comment, including a link that provides more details about the cause of the
revocation. It will also close the PR in the case where it is not possible for the requester to resolve the problem:

* The requester's Library Manager Registry privileges have been revoked

**-OR-**

* The owners of all library repositories which are the subject of the request have lost Library Manager Registry
privileges.
2025-01-13 16:35:27 -08:00
144a5fe471 Update repositories.txt (#5752)
Add https://github.com/RobTillaart/TCS3210 color to frequency convertor
2025-01-13 14:29:01 +00:00
b2347865d6 Update library-registry-submission-parser tool
The "Manage PRs" GitHub Actions workflow uses a command line tool named "library-registry-submission-parser" to parse
the pull requests submitted to this repository.

A new version of "library-registry-submission-parser" has been released, and so the version specified in the workflow
for use is hereby updated.

Two additional mandatory flags have been added to the command line interface of library-registry-submission-parser, so
these flags are added to the invocation, and an access control configuration file added to the repository as required
for use with the new `--accesslist` flag. To start, the access control configuration file is left empty, giving all
users default access privileges as before. The workflow will be adjusted to take advantage of the newly added access
control capabilities of library-registry-submission-parser in a separate commit.
2025-01-13 02:03:16 -08:00
ab03186d81 Add comment re: Git ref to checkout step of "Manage PRs" workflow
Since it is intuitive and commonly used, the default behavior of the actions/checkout GitHub Actions action when a
workflow is triggered the "pull_request" or "push" events is well understood by any workflow maintainer. However, the
default behavior of the action when the workflow is triggered by a "pull_request_target" or "issue_comment" event (as is
the case for the "Manage PRs" workflow) is not obvious and less well known since these events are more rarely used.

It is important for the maintainer to understand which Git ref will be checked out by the actions/checkout action steps
in the "Manage PRs" workflow. Adding an explanatory comment will help to ensure they have this understanding.
2025-01-13 02:03:16 -08:00
9b475bfaac Update repositories.txt (#5749)
Add Arduino library for AGS2616 - Hydrogen H2 sensor.
2025-01-11 12:55:48 +00:00
49d9d585f7 Update repositories.txt (#5748) 2025-01-10 21:12:37 +00:00
5afca5d248 Update repositories.txt (#5744)
Add https://github.com/RobTillaart/TCA9554 IO expander
2025-01-10 11:56:23 +00:00
189013ef7e Update repositories.txt (#5743) 2025-01-10 11:33:43 +00:00
a7a5af42e5 Update repositories.txt (#5742)
Added FastEPD to the library list
2025-01-10 11:10:36 +00:00
80623559af Added Published Web CNCShield (#5740) 2025-01-10 01:53:38 +00:00
4280602083 Update repositories.txt (#5739) 2025-01-09 23:15:02 +00:00
880115b527 Add EnviroDIY GeoluxHydroCam (#5738) 2025-01-09 20:52:03 +00:00
c8fcc32d35 Update repositories.txt (#5737) 2025-01-09 19:32:42 +00:00
cc2bd45e8a Update repositories.txt (#5735) 2025-01-09 12:01:02 +00:00
bf78a4c108 Update repositories.txt (#5733)
Arduino library for the PCA9698 - I2C, 40 channel IO expander.
2025-01-09 09:22:21 +00:00
172261da64 Merge branch 'main' into patch-3 2025-01-08 17:57:59 -05:00
59c1c7680e Update repositories.txt (#5731) 2025-01-08 20:06:52 +00:00
93c5b8eb3e Update repositories.txt (#5729) 2025-01-08 16:40:19 +00:00
5e2a12dd4a APDS9900 sensor (#5728)
* Update repositories.txt

Add rotaryDecoder8, an Arduino library for a PCF8575 based rotary decoder - supports 8 rotary encoders.

* Update repositories.txt

Add Arduino library for the I2C APDS9900 light sensor and proximity detector.
2025-01-08 15:51:59 +00:00
54436f4585 Add AirNgin ESP32 MQTT Client library (#5725)
Add AirNgin ESP32 MQTT Client library
2025-01-08 08:08:12 +00:00
Ben
189e44a6d3 update IO22_IO_Board url
changed gh username -> update library url
2025-01-08 13:21:09 +11:00
43c92ccbf4 Update repositories.txt (#5722)
Add rotaryDecoder8, an Arduino library for a PCF8575 based rotary decoder - supports 8 rotary encoders.
2025-01-07 16:24:27 +00:00
16888f3c0f Added My Library (#5721)
CNC Step provides concurrent CNC Control
2025-01-07 16:14:58 +00:00
366173bc33 Update repositories.txt (#5720) 2025-01-07 15:17:45 +00:00
925b7b49d8 Add CHT832X (#5718)
* Update repositories.txt

Add library for AGS3871 Carbon Monoxide sensor

* Update repositories.txt

Arduino library for CHT832X temperature and humidity sensor.
2025-01-06 08:28:10 +00:00
e229e5ee1b Update repositories.txt (#5717)
Add library for AGS3871 Carbon Monoxide sensor
2025-01-04 12:11:10 +00:00
2d57b95168 Update repositories.txt (#5716) 2025-01-03 21:58:25 +00:00
925d377d62 Update repositories.txt (#5715)
Added IgcLogger library
2025-01-03 18:55:44 +00:00
674ea965d5 Remove "7SemiSHT4x_Library" from repositories list
A duplicate copy of the library was later submitted under a different URL and name. So this one must be removed.
2025-01-02 00:51:23 -08:00
edefad66f5 Remove duplicate "FoonteDuino" from repositories list
The library maintainer irresponsibly submitted the "FonteArduino" library a second time after temporarily changing the
repository and library name to "FoonteDuino" in order to circumvent the registry's duplicate checks.

The presence of the duplicate library in Library Manager is harmful, and thus it must be removed.
2025-01-02 00:15:50 -08:00
e09257efb5 Update repositories.txt (#5709) 2025-01-01 21:06:08 +00:00
986e03a17d Update repositories.txt (#5707) 2025-01-01 17:00:59 +00:00
9e56810d27 Update repositories.txt (#5705) 2024-12-31 18:04:59 +00:00
c43d3748ed Update repositories.txt (#5704) 2024-12-31 12:07:30 +00:00
d9c42c5bac Update repositories.txt (#5701) 2024-12-31 08:59:59 +00:00
f021e28da2 Remove "inIo" from repository list
This library was created only as a learning exercise and is not of any value to the Arduino community. The submission was made as a "practice test".

So it must be removed from Library Manager.
2024-12-30 17:45:16 -08:00
10837c6023 A library for interfacing with the MOTY-mini temperature sensor. (#5669)
A library for interfacing with the MOTY-mini temperature sensor.
2024-12-30 23:32:27 +00:00
5a9cb2072b Merge branch 'main' into patch-3 2024-12-30 17:59:15 -05:00
e42d919add Update repositories.txt (#5694) 2024-12-30 21:04:08 +00:00
f19142cf58 add Library (#5693)
- https://github.com/hasenradball/MCP23008-I2C
2024-12-30 20:59:15 +00:00
3088f79464 Update repositories.txt (#5692) 2024-12-30 17:47:07 +00:00
7101581ff1 Update repositories.txt (#5691) 2024-12-30 15:32:03 +00:00
a48b187a00 Update repositories.txt (#5689) 2024-12-30 15:23:49 +00:00
b78dd323a4 Update repositories.txt (#5686) 2024-12-30 15:06:30 +00:00
dfbbd3287d Update repositories.txt (#5684)
tes upload latihan
2024-12-30 15:01:59 +00:00
5b5d0308ee Update repositories.txt (#5682) 2024-12-30 14:58:17 +00:00
343c33a7ef Update repositories.txt (#5681) 2024-12-30 14:56:04 +00:00
ed98b10924 Update repositories.txt (#5680) 2024-12-30 14:49:25 +00:00
93d7ed146f Update repositories.txt (#5679) 2024-12-30 12:19:05 +00:00