1. 31 Aug, 2020 5 commits
    • Cristian Maglie's avatar
      Added 'lib examples' command (#905) · ef57e49b
      Cristian Maglie authored
      * Added 'examples' field in rpc.Library
      
      * Added lib examples command
      
      * Fixed case in json output
      
      * Fixed coloring
      
      * Allow library listing filter by name
      
      * Added function to compute library location priority
      
      * Sort examples results by name
      
      * Added fqbn filtering for libraries
      
      * Sort lib list output by name
      ef57e49b
    • per1234's avatar
      [skip changelog]Use standardized term for Boards Manager in documentation (#930) · 06c95033
      per1234 authored
      The term "Boards Manager" has been well established in the Arduino development tools and documentation. Perhaps influenced by the mismatch with the singular term used for its companion "Library Manager", Arduino CLI's documentation has diverged from this standard by sometimes (but not always) referring to it as "Board Manager". This PR resolves the inconsistency by using "Boards Manager" everywhere.
      
      Note that "Boards Manager" and "Library Manager" are proper nouns, and so should always be capitalized.
      06c95033
    • per1234's avatar
      [skip changelog] Document the programmers system of Arduino platforms (#925) · 6e2b94e5
      per1234 authored
      * Document the programmers.txt configuration file of the Arduino platform system
      
      This file is used to define external programmer configurations to be used for burning bootloaders and programming Arduino boards.
      
      NOTE: the example programmer snippet is missing some of the properties that are defined in the real programmer definition in the Arduino AVR Boards platform. After a lot of investigation, experimentation, and even consulting with the original author of the code, I was still unable to find any use of these properties in the current or any past IDE version that supported the 1.5 platform format. If these properties have no purpose, they they only represent a source of confusion and maintenance burden for platform developers.
      
      * Document the "Upload Using Programmer" configuration system of Arduino platforms
      
      * Document the "Burn Bootloader" configuration system for Arduino platforms
      
      * Document programmer inheritance from referenced core platforms
      
      Previously, all programmers of all platforms of the same architecture could be used. The behavior of the Arduino IDE was changed in the 1.8.13 release in this matter, and Arduino CLI and Arduino Pro IDE followed the same behavior from the initial introduction of support for programmers. This means it's now important to document programmer inheritance.
      6e2b94e5
    • Silvano Cerza's avatar
      Add external programmers listing to board details commmand (#927) · 5ee35c72
      Silvano Cerza authored
      * Add external programmers listing to board details commmand
      
      * Remove hack to return list of programmers calling upload command
      5ee35c72
    • Silvano Cerza's avatar
      AddgRPC interface to collect every sketch file (#926) · 21d2533a
      Silvano Cerza authored
      * Add gRPC interface to collect every sketch file
      
      * Rename SketchLoad to LoadSketch and fix some gRPC messages
      21d2533a
  2. 27 Aug, 2020 2 commits
  3. 26 Aug, 2020 1 commit
  4. 25 Aug, 2020 2 commits
  5. 21 Aug, 2020 2 commits
  6. 20 Aug, 2020 5 commits
  7. 19 Aug, 2020 4 commits
  8. 18 Aug, 2020 2 commits
    • Cristian Maglie's avatar
      Always redirect stdin to null (fix tools tty detection, in particular avrdude... · 1785314e
      Cristian Maglie authored
      Always redirect stdin to null (fix tools tty detection, in particular avrdude running in safe mode) (#897)
      
      Some tools detects if the program is running from terminal by looking at the stdin/out bindings.
      Previously stdin wasn't bound to any custom stream, this fact lead avrdude to think it was run from terminal (instead of a script) and start it in "safe-mode". This turn out to be a problem in some cases, see #844
      
      * Removed useless stdout/err listeners
      
      They are immediatly overwritten on the next line.
      
      * Always pipe stdout/err/in when running tools.
      
      This is required because some tools detects if the program is running
      from terminal by looking at the stdin/out bindings.
      
      Fix: https://github.com/arduino/arduino-cli/issues/844
      
      * Do not use NullWriter in executils by default.
      
      This is not strictly required for the 'avrdude' hack.
      1785314e
    • per1234's avatar
      [skip changelog]Prevent Prettier from wrapping nightly download link definitions (#901) · 9c9e25cb
      per1234 authored
      Prettier is configured to wrap lines in Markdown files at 120 characters. The reference definitions for the nightly ARM downloads happen to be longer than 120 characters, and so get wrapped.
      
      With the modern Markdown specification, this is permitted:
      https://spec.commonmark.org/0.29/#link-reference-definitions
      
      > A link reference definition consists of a link label, indented up to three spaces, followed by a colon (:), optional whitespace (including up to one line ending), a link destination
      
      but apparently the Python-Markdown renderer used by MkDocs does not support this.
      
      The solution is to remove the line breaks and markup to instruct Prettier to ignore these lines:
      
      https://prettier.io/docs/en/ignore.html#markdown
      9c9e25cb
  9. 17 Aug, 2020 1 commit
  10. 14 Aug, 2020 1 commit
  11. 10 Aug, 2020 1 commit
  12. 04 Aug, 2020 3 commits
    • Silvano Cerza's avatar
      [skip changelog] Build is now uploaded as artifact when running tests workflow (#877) · bd6c8618
      Silvano Cerza authored
      * [skip changelog] Build is now uploaded as artifact when running tests workflow
      
      * [skip changelog] Added more information to workflow artifacts
      
      * [skip changelog] Fix artifacts paths
      
      * [skip changelog] Update upload-artifact action version in test workflow
      
      * [skip changelog] Test artifacts are now uploaded separately
      bd6c8618
    • per1234's avatar
      [skip changelog] Disable scheduled workflows that would always fail from running in forks (#888) · a875807c
      per1234 authored
      * Disable workflows that would always fail from running in forks
      
      These workflows use resources that are only available when run in the arduino/arduino-cli repository, so would always fail when they run in a repository. They are of no value to fork repositories. They are triggered by the schedule event, so they cause regular annoying and confusing workflow failure notifications for every fork owner.
      
      * Don't trigger link validation CI workflow on schedule event when in a fork
      a875807c
    • per1234's avatar
      [skip changelog] Update references to docs workflow (#890) · b2bd0de2
      per1234 authored
      The docs workflow was split into two workflows: publish-docs and validate-docs, but the references to the original workflow were not updated.
      b2bd0de2
  13. 03 Aug, 2020 4 commits
    • per1234's avatar
      [skip changelog] Run CI workflows that are useful to contributors on pushes to any branch (#887) · 466c8c2f
      per1234 authored
      * Split docs workflow into validate and publish workflows
      
      The docs workflow had two uses:
      
      - Check that changes to docs don't break the static website build system
      - Publish the docs to the website
      
      To make the CI system friendly to contributors, it should be easy for them to validate documentation changes from a feature branch, meaning the validation aspect should run on a push to any branch. However, the special behavior of the workflow to publish on pushes conflicted with that usage. The most simple solution is to split the workflow into two. The validation workflow contains the process of interest to contributors, and is thus made friendly to their development process. The publishing workflow is not of interest to contributors, and thus doesn't need to be configured to run on pushes to any branch.
      
      * Run workflows that are useful to contributors on push to any branch
      
      Contributors should run CI in their feature branch to make sure it's passing before submitting a PR. Previously, the CI workflows were configured to run only on push to the master branch, meaning that contributors would need to modify the workflows just to get them to run on a feature branch. It's very unlikely that a contributor would do that, so they are more likely to just submit the PR, then if CI on the PR fails push fixup commits until CI is passing.
      
      The solution is simply to remove the filters that caused the workflows to run only on push to master.
      466c8c2f
    • per1234's avatar
      [skip changelog] Use v1 ref of arduino/setup-protoc action (#889) · 67b47b66
      per1234 authored
      The v1.1.0 version of the action neglected to define its repo-token input in the metadata, which results in a `Unexpected input(s) 'repo-token', valid inputs are ['version']` warning shown in the workflow summary on every run. The v1.1.1 release remedies this.
      
      The use of the v1 ref will allow the workflows to benefit from any new releases of the action that don't cause breaking changes.
      67b47b66
    • per1234's avatar
      [skip changelog] Remove unnecessary token input from Codecov upload steps of test workflow (#886) · fead7fdf
      per1234 authored
      * Use v1 ref of codecov/codecov-action GitHub Actions action
      
      Previously, the workflow pinned the outdated v1.0.2 ref. The requirement for an upload token has been removed since the 1.0.2 release. Removing the token input will provide several benefits:
      
      - Prevent failures when the workflow is run in forks, which won't have the CODECOV_TOKEN secret defined.
      - Allow configuring the workflow to be triggered by pull_request events, making it easy to evaluate the impact the pull request has on code coverage.
      
      The use of the v1 ref, rather than pinning a specific version allows the workflow to automatically benefit from ongoing development work on the action, while still preventing it from being affected by breaking changes.
      
      * Remove unnecessary token input from Codecov upload steps of test workflow
      
      With the modern versions of the codecov/codecov-action GitHub Actions action, the upload token is only required for private repositories. Now that we are using a modern version of the action, this input only has a harmful effect by causing the workflow to fail when run in forks and also preventing us from using Codecov to evaluate the impact on code coverage of pull requests.
      fead7fdf
    • per1234's avatar
      [skip changelog] Add FAQ item re: Serial Monitor (#885) · 1b0e6a3f
      per1234 authored
      * Add FAQ item re: Serial Monitor
      
      * Mention gRPC Monitor service in Serial Monitor FAQ
      1b0e6a3f
  14. 31 Jul, 2020 2 commits
  15. 30 Jul, 2020 2 commits
    • per1234's avatar
      [skip changelog] Format generated documentation (#883) · 5f708cdc
      per1234 authored
      We now use Prettier to enforce a formatting standard on the Arduino CLI documentation. Previously, the generated documentation was not compliant with this standard, which caused some problems:
      
      Incorrect list formatting of gRPC reference's table of contents. Prettier uses a two space indent. Because the stock Python-Markdown renderer requires a four space indent for nested lists, it was necessary to start using the mdx_truly_sane_lists extension to support the Prettier indent size. The use of the extension caused the four space indent used in the generated gRPC interface documentation's nested lists to no longer be rendered. It's possible that inconsistent formatting could cause similar issues. By making the formatting of all the documentation consistent, we can be sure that a specific renderer will handle all the docs correctly.
      
      task docs:check fails when run on repository that contains generated docs. Although this could also have been fixed by excluding the generated documentation paths, the list formatting issue needed to be fixed anyway, and it happens to fix this issue as well.
      5f708cdc
    • Silvano Cerza's avatar
      [skip changelog] Add task and workflow to check for dead links in docs (#878) · 0483882b
      Silvano Cerza authored
      * [skip changelog] Add task and workflow to check for dead links in docs
      
      * [skip changelog] Fix link checking task and workflow
      
      * [skip changelog] Fix some documentation links
      0483882b
  16. 29 Jul, 2020 1 commit
  17. 28 Jul, 2020 2 commits