1. 10 Sep, 2020 1 commit
    • per1234's avatar
      [skip changelog] Completely document resources not inherited from referenced platform (#940) · 693a045e
      per1234 authored
      The inherited resources resulting from a core reference are clearly documented. However, the variant reference mentioned the non-inheritance of platform.txt properties alone. For me, this left it unclear whether the lack of mention of the other resources implied that variant and tool references resulted in their inheritance, and that it was only considered necessary to document it once in the platform reference documentation.
      
      One option for resolving this would be to remove the statement that caused the confusion. However, since this is a complex subject, I thought it better to just explicitly document the non-inheritance of the resources in both the variant and tools reference sections of the documentation to make it completely clear.
      693a045e
  2. 07 Sep, 2020 2 commits
    • Roberto Sora's avatar
      Reintroduce the `--input-file` flag for the `upload` command (#777) · f1877efe
      Roberto Sora authored
      * Remove deprecation from importFile param
      
      * Implement --input-file flag
      
      * Add comment in --input-file splitting step
      
      * Add e2e test for --input-x flags
      
      * Refine upload flags testing
      
      * Add --input-file file existence check
      
      * Use TrimSuffix instead of replace
      
      * Restore -i shorthand flag for --input-file and add CLI checkFlagsConflicts function
      
      * Improved build path and project name auto-detection
      
      This should make the upload command compatibile with all the reasonable
      usages.
      
      See #764
      See #641
      
      * Made UploadTest more resilient
      
      * upload: sketch is ignored if input-dir or input-file is specified
      
      There is no point in overriding the sketch name if the user explicitly
      give it via command line.
      
      * Update go-paths-helper to version 1.3.2
      
      fixes EquivalentTo when used with abs paths
      
      * fix TestGetCommandLine
      
      * 100% coverage on detectSketchNameFromBuildPath function
      
      * Do not git-ignore all *.bin but just inside the client_example folder
      
      * slightly simplified function signature (cosmetic)
      Co-authored-by: default avatarCristian Maglie <c.maglie@arduino.cc>
      f1877efe
    • per1234's avatar
      [skip changelog]Fix contributing instructions re: skipping changelog (#916) · 50456566
      per1234 authored
      The arduino/arduino-cli repository's automatic changelog generation system adds a changelog item for every commit, except those that start with "[skip changelog]". This is useful for keeping the changelog to only mentioning the changes that are significant to the user.
      
      All pull requests are merged using GitHub's "Squash & Merge" feature.
      
      The behavior of "Squash & Merge":
      
      - If the PR only contains a single commit, the pre-filled squash commit message is taken from the commit, not the PR.
      - If the PR contains multiple commits, the prefilled squash commit title is the PR title.
      
      This means that a PR will end up in the changelog against the wishes of the contributor when all of the following occur:
      
      - The PR author followed the instructions and only added "[skip changelog]" to the PR title.
      - The PR only contains a single commit.
      - The maintainer who merges the PR uses the pre-filled commit message provided by GitHub.
      
      The first two conditions are common. There is evidence that the third will also be common.
      
      To make the instructions as easy as possible to follow, the contributor is now instructed to add "[skip changelog]" to both the commit message and PR title, even though it is really only necessary to add it to one or the other, depending on the conditions.
      50456566
  3. 04 Sep, 2020 1 commit
  4. 03 Sep, 2020 3 commits
  5. 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
  6. 27 Aug, 2020 2 commits
  7. 26 Aug, 2020 1 commit
  8. 25 Aug, 2020 2 commits
  9. 21 Aug, 2020 2 commits
  10. 20 Aug, 2020 5 commits
  11. 19 Aug, 2020 4 commits
  12. 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
  13. 17 Aug, 2020 1 commit
  14. 14 Aug, 2020 1 commit
  15. 10 Aug, 2020 1 commit
  16. 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
  17. 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