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

4797 Commits

Author SHA1 Message Date
7ebdf19341 Merge pull request #10 from arduino/who-can-submit
Document policy re: who can add libraries to Library Manager
2021-04-14 02:42:47 -07:00
e1d572d8ab Merge pull request #9 from arduino/format-yaml
Reduce excessive line lengths in YAML files
2021-04-14 02:39:19 -07:00
800f26f860 Merge pull request #11 from arduino/custom-job-names
Use custom matrix job names in `check-submissions` job
2021-04-14 02:38:31 -07:00
016fc6cb8c Use custom matrix job names in check-submissions job
The "Manage PRs" GitHub Actions workflow generates a matrix job for each library submitted by the PR. The default job
name is generated from the job's matrix object. This contains the complete submission data, which results in a long and
somewhat cryptic job name that can make the workflow run more difficult to interpret.

The only necessary information is the description of the job's purpose ("check") and the submission URL (multiple URLs
per PR are supported). A custom job name allows for only using this information in the job name.
2021-04-14 00:50:06 -07:00
d8f30c0316 Document policy re: who can add libraries to Library Manager
The official policy is that anyone is allowed to submit any library to Library Manager, regardless of whether they have
any involvement with the development and maintenance of the library.

As someone very much involved in the submission process, I have always wondered this myself. So it is very important to
clearly document this.

Some of the wording of the existing documentation implied that only the owner of the library could submit it, so this
text has been adjusted as well.
2021-04-14 00:33:34 -07:00
d96fcc48fd Reduce excessive line lengths in YAML files
The yamllint configuration advocates for keeping line lengths within 120 characters. While exceeding this length only
results in a warning, I think it is beneficial to stay within that limit when it is possible and doesn't have a harmful
effect. In that spirit, I have reduced the long lines where this was easily done. There remain a few that are either not
possible or else not reasonable to reduce, and that's OK.
2021-04-13 17:48:16 -07:00
f17835d35c Merge pull request #8 from arduino/remove-cache
Remove dependencies caching from workflows
2021-04-13 06:49:17 -07:00
eafd6bbaf9 Remove dependencies caching from workflows
After I set up caching in the template workflows, doubts were raised about whether it provided any benefits. I don't know
enough about this subject to make a call on that and I have been unable to get any more information on the subject.

Since the caching significantly increases the complexity of the workflows, which may make them more difficult to maintain
and contribute to, I think it's best to just remove all the caching for now. I hope to eventually be able to revisit this
topic and restore caching in any workflows where it is definitely beneficial.
2021-04-12 02:45:29 -07:00
6c9cf7b1df Merge pull request #6 from arduino/check-workflows
Enhance CI system for checking GitHub Actions workflows
2021-04-11 23:27:37 -07:00
0c09834a08 Bring workflow into compliance with the JSON schema 2021-04-09 09:32:26 -07:00
30aeffc9b0 Add CI workflow to lint YAML files
On every push and pull request that affects relevant files, and periodically, run yamllint to check the YAML files of
the repository for issues.

The .yamllint.yml file is used to configure yamllint:
https://yamllint.readthedocs.io/en/stable/configuration.html
2021-04-09 09:32:26 -07:00
834af544d0 Add CI workflow to validate GitHub Actions workflows
On every push or pull request that affects the repository's GitHub Actions workflows, and periodically, validate them
against the JSON schema.
2021-04-09 08:52:43 -07:00
841af8f304 Merge pull request #5 from arduino/faq
Integrate Library Manager FAQ into documentation
2021-04-09 08:49:21 -07:00
4b40e08342 Add table of contents to documentation
It will be helpful to the reader to be able to get an overview of the documentation content and quickly navigate to the
section of interest.

The table of contents are automatically generated using the markdown-toc tool.

Because it can be easy to forget to update the table of contents when the documentation content is changed, I have added
a CI workflow to check for missed updates to readme ToC. On every push or pull request that affects the repository's
documentation, it will check whether the table of contents matches the content.
2021-04-09 08:42:55 -07:00
2d79e0e492 Reorder the FAQs
Organize the questions accordging to type and importance.
2021-04-09 08:42:53 -07:00
cab7e9a446 Make FAQ content applicable to all official Arduino development software
At the time it was created, there was only one official Arduino development application: Arduino IDE. Since that time,
Arduino Web Editor and Arduino CLI have been created, both of which implement Library Manager in their own manners.
2021-04-09 08:42:18 -07:00
f6fb08abd1 Reword FAQ text to improve readability
A general pass of minor rewording.
2021-04-09 08:01:37 -07:00
d7d89ff94a Reword title of LM overview in FAQ as a question
This document is a collection of frequently asked questions, so it makes most sense for all entries to be phrased as
questions.
2021-04-09 08:01:37 -07:00
ca3a07811e Explain impacts of changing library name in FAQ 2021-04-09 08:01:37 -07:00
ddd8c7d477 Disambiguate Library Manager list vs index terminology
Previously, library submitters were not exposed to the internal workings of the Library Manager index generation system,
so they only needed to be concern with the public index file. Now the submitters will be interacting directly with the
Library Manager submission list. This might lead to some confusion between that list and the Library Manager index, so
it's important to be clear in the terminology used in the documentation.
2021-04-09 08:01:37 -07:00
beb45f13df Consolidate list of requirements in FAQ
It is essential to clearly communicate the Library Manager requirements to the submitters. Previously, these requirements
were scattered throughout the FAQ. Consolidating them into unified lists, then referencing that information from the
other parts of the documentation makes it easier for the user to learn what are the requirements and easier for the
documentation to be maintained.
2021-04-09 08:01:37 -07:00
616c3b5110 Update FAQ content to reflect new submission and support procedures 2021-04-09 08:01:37 -07:00
d5ca56191f Improve formatting of FAQ
- Add page title
- Bring into Prettier compliance
- Minor manual formatting to improve readability
2021-04-09 08:01:37 -07:00
9e9cabee69 Import Library Manager FAQ
An FAQ hosted in the `arduino/Arduino` repository's wiki:
https://github.com/arduino/Arduino/wiki/Library-Manager-FAQ
has long served as the canonical guide for the traditional process for submitting libraries to the Library Manager index.

Now that the submission process and support for the process has been moved from `arduino/Arduino` to this dedicated
repository, it makes sense to also host the FAQ content here.

This commit imports the exact unmodified content of the FAQ from
819425389e
2021-04-09 01:41:39 -07:00
f0f7dd1eb5 Merge pull request #4 from per1234/dependabot
Configure Dependabot to check for outdated actions used in workflows
2021-04-09 00:48:39 -07:00
27b93a2f1a Merge pull request #3 from arduino/rename-repo
Update documentation to reflect repository name change
2021-04-09 00:47:25 -07:00
cb3d8004fc Configure Dependabot to check for outdated actions used in workflows
Dependabot will periodically check the versions of all actions used in the repository's workflows. If any are found to
be outdated, it will submit a pull request to update them.
NOTE: Dependabot's PRs will sometimes try to pin to the patch version of the action (e.g., updating `uses: foo/bar@v1`
to `uses: foo/bar@v2.3.4`). When the action author has provided a major version ref, use that instead
(e.g., `uses: foo/bar@v2`). Dependabot will automatically close its PR once the workflow has been updated.
More information:
https://docs.github.com/en/github/administering-a-repository/keeping-your-actions-up-to-date-with-dependabot
2021-04-08 21:47:01 -07:00
4f2d7a7e2a Update documentation to reflect repository name change
The repository was renamed from `arduino/library-manager-list` to `arduino/library-registry`.
2021-04-08 21:09:01 -07:00
c2fd5e2d0f Merge pull request #1 from per1234/development
Set up automated Library Manager submission system
2021-04-08 20:45:49 -07:00
7947b23061 Change license to Creative Commons Zero v1.0 Universal
Now that the parser tool code has been removed from the repository, the previous license is no longer appropriate.
2021-03-31 09:17:49 -07:00
3a5826a784 Simplify license check CI system
Now that the parser tool is moved out of the repository, it makes less sense to use the taskfile-based approach for the
CI infrastructure. In order to make the repository more contributor-friendly, the license checking system is now
confined to a single workflow file.
2021-03-31 09:17:25 -07:00
d38ccc82a0 Simplify documentation and configuration file CI system
Now that the parser tool is moved out of the repository, it makes less sense to use the taskfile-based approach for the
CI infrastructure. In order to make the repository more contributor-friendly, the documentation and configuration
checking system is now confined to the .github subfolder.
2021-03-31 09:16:20 -07:00
7d32d9911e Simplify code spell CI system
Now that the parser tool is moved out of the repository, it makes less sense to use the taskfile-based approach for the
CI infrastructure. In order to make the repository more contributor-friendly, the spell checking system is now reduced to
a single workflow file.
2021-03-31 09:16:20 -07:00
05b25397b3 Remove .editorconfig from repository
Although it is convenient and best practices to have this file in place, it is not absolutely necessary, so it must go
bye-bye.
2021-03-31 09:16:20 -07:00
b0eccfe5b6 Move submission parser tool to dedicated repository 2021-03-31 09:16:20 -07:00
cb6c0a2bb5 Use curl to get PR diff
This approach allows the diff to be written directly to a file, rather than needing to sanitize the contents of the
output from the octokit/request-action before writing it to the file via the shell.
2021-02-01 21:44:35 -08:00
da261b4a79 Correct readme URL in bot comments 2021-02-01 02:30:33 -08:00
a7ef80e1a4 Get PR diff from GitHub API
This avoids the need to checkout the PR head ref.
2021-02-01 02:30:33 -08:00
f5928a6800 Host index source file in repository
The index source file contains the normalized URL and the metadata that can't be derived from the library releases
("types" data and locked name) for each of the libraries in the Library Manager index. It's most appropriate to store it
in the same repository as the submission list.
2021-01-20 22:06:43 -08:00
1cdeda201c Remove untested triggers from the "Manage PRs" workflow
I had intended to test these out but didn't get around to it. The workflow_dispatch might be convenient, but it's not at
all essential since the same thing can be accomplished by commenting on the PR.
2021-01-20 00:51:40 -08:00
b871bfcb5a Get PR diff in dedicated job
This isolates the PR branch checkout from the request parsing process.
2021-01-20 00:51:40 -08:00
7071c247b0 Export index entry as workflow artifact
Rather that committing directly to the index source file repository, save the index entry to a workflow artifact, which
will be consumed by the system that updates the index source file.
2021-01-20 00:51:35 -08:00
0ca9ab8ee7 Add check for submission URL being a Git repository
With the current submission system, it's common for people to provide the tag/release URL rather than the repository
URL. I think it likely the same sort of thing will occur with the new system. Previously, a very naive check was done
for the path component of the URL to have two levels. It turns out that the Gitlab repository URLs have more levels than
that. The superior approach is to use `git ls-remote` to verify that the URL is a Git repository.
2021-01-20 00:51:03 -08:00
3fc5f76339 Don't use index source file for URL duplication check
It's possible to accomplish the same thing in a more simple and secure manner by using the submission list.
2021-01-20 00:51:03 -08:00
050ac29d24 Automate the Library Manager submission process
Submissions of libraries to the Arduino Library Manager index can be done by submitting a pull request adding repositor
URLs to the list. The submissions are checked for compliance wih the requirements for addition to the index and as soon
as they are passing the pull request is merged and the entries are pushed to the index source file.
2021-01-19 00:05:38 -08:00
8a67c16fad Add list of Library Manager library URLs
This is the full list of repositories for the libraries of the Arduino Library Manager index.
2021-01-18 23:32:48 -08:00
6d2f53d27e Create branch 2021-01-13 11:45:39 -08:00