1. 14 Apr, 2022 1 commit
  2. 13 Apr, 2022 1 commit
    • Cristian Maglie's avatar
      [skip-changelog] [breaking] Refactoring of download subroutines (#1697) · eabf6934
      Cristian Maglie authored
      * Moved downloaders subroutines in 'resources' package
      
      * Moved function to the correct file
      
      * Merge Download subroutine for resources
      
      * Factored all download subroutines
      
      * Allow passing nil Config in resource.Download method
      
      * Moved some package in their appropriate place.
      
      httpclient is now under arduino/httpclient.
      Some configuration values have been moved under 'configuration' package,
      and the related subroutines have been refactored.
      
      * Created IndexResource and factored out all download utilities
      
      * Fix regression in unit-tests
      
      * Adjusted integration tests
      
      * Fixed linter problems
      
      * Moved DownloadFile from 'resources' package into 'httpclient'
      
      * Factored all progress reports callback definitions in the rpc package
      
      * Updated UPGRADING.md
      
      * Applied suggestions from code review
      Co-authored-by: default avatarper1234 <accounts@perglass.com>
      
      * Fixed typos
      Co-authored-by: default avatarper1234 <accounts@perglass.com>
      eabf6934
  3. 11 Apr, 2022 4 commits
  4. 06 Apr, 2022 1 commit
  5. 04 Apr, 2022 1 commit
  6. 01 Apr, 2022 2 commits
    • per1234's avatar
      [skip changelog] Remove unused GitHub release download stats workflow (#1702) · 0364ce35
      per1234 authored
      The "github-stats" GitHub Actions workflow periodically gathers GitHub release asset download statistics for Arduino CLI
      and pushes the results to Datadog.
      
      There are no known problems with this workflow. However, the companion "arduino-stats" workflow that did the same for
      the downloads of Arduino CLI from downloads.arduino.cc was broken and thus removed from the repository.
      
      The GitHub stats are not very valuable on their own as they only provide an unknown fraction of the total downloads of
      Arduino CLI. They have also not ended up being used. Since it doesn't provide any value and represents a maintenance
      burden, it is hereby removed from the repository.
      0364ce35
    • per1234's avatar
      [skip changelog] Remove broken download stats workflow (#1701) · 7bfa5fb9
      per1234 authored
      The "arduino-stats" GitHub Actions workflow was designed to periodically gather download statistics from Arduino CDN and
      push results to Datadog.
      
      The recorded stats showed a periodic decrease in total download count. Since this is patently impossible, it is clear
      that something was wrong with the system and that the recorded data was not usable. An investigation into the problem
      was never done.
      
      On 2022-03-14, the runs of the "arduino-stats" GitHub Actions workflow began to fail. Because there had not been any
      relevant change in the repository between the last successful run and the first failing run, it seems that some external
      change caused the breakage. Since the workflow was not ever working successfully and the lack of an investigation about
      that indicates that the stats are not of immediate importance, the best course of action is to simply remove the broken
      infrastructure from the repository rather than investing time into fixing something that isn't being used anyway.
      7bfa5fb9
  7. 28 Mar, 2022 1 commit
    • Cristian Maglie's avatar
      [skip-changelog] Some static-check fixes (#1700) · 38ebf641
      Cristian Maglie authored
      * Fixed some staticcheck warnings
      
      commands/core/search_test.go:24:2: package "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" is being imported more than once (ST1019)
              commands/core/search_test.go:25:2: other import of "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1"
      i18n/cmd/po/parser.go:34:2: should check returned error before deferring file.Close() (SA5001)
      i18n/cmd/po/parser.go:105:48: cutset contains duplicate characters (SA1024)
      
      * Fixed some staticcheck warnings
      
      arduino/libraries/librariesindex/json.go:33:38: unknown JSON option "required" (SA5008)
      arduino/libraries/librariesindex/json.go:34:38: unknown JSON option "required" (SA5008)
      arduino/cores/packageindex/index.go:39:37: unknown JSON option "required" (SA5008)
      arduino/cores/packageindex/index.go:40:37: unknown JSON option "required" (SA5008)
      arduino/cores/packageindex/index.go:44:37: unknown JSON option "required" (SA5008)
      arduino/cores/packageindex/index.go:45:37: unknown JSON option "required" (SA5008)
      arduino/cores/packageindex/index.go:51:51: unknown JSON option "required" (SA5008)
      arduino/cores/packageindex/index.go:53:51: unknown JSON option "required" (SA5008)
      arduino/cores/packageindex/index.go:57:51: unknown JSON option "required" (SA5008)
      arduino/cores/packageindex/index.go:58:51: unknown JSON option "required" (SA5008)
      arduino/cores/packageindex/index.go:59:51: unknown JSON option "required" (SA5008)
      arduino/cores/packageindex/index.go:69:34: unknown JSON option "required" (SA5008)
      arduino/cores/packageindex/index.go:70:34: unknown JSON option "required" (SA5008)
      arduino/cores/packageindex/index.go:71:34: unknown JSON option "required" (SA5008)
      arduino/cores/packageindex/index.go:88:36: unknown JSON option "required" (SA5008)
      arduino/cores/packageindex/index.go:89:36: unknown JSON option "required" (SA5008)
      arduino/cores/packageindex/index.go:90:36: unknown JSON option "required" (SA5008)
      arduino/cores/packageindex/index.go:95:30: unknown JSON option "required" (SA5008)
      arduino/cores/packageindex/index.go:96:30: unknown JSON option "required" (SA5008)
      arduino/cores/packageindex/index.go:97:30: unknown JSON option "required" (SA5008)
      arduino/cores/packageindex/index.go:98:30: unknown JSON option "required" (SA5008)
      arduino/cores/packageindex/index.go:99:30: unknown JSON option "required" (SA5008)
      arduino/cores/tools.go:30:35: unknown JSON option "required" (SA5008)
      arduino/cores/tools.go:37:36: unknown JSON option "required" (SA5008)
      arduino/cores/tools.go:45:18: unknown JSON option "required" (SA5008)
      arduino/sketch/sketch.go:51:14: unknown JSON option "required" (SA5008)
      arduino/sketch/sketch.go:53:14: unknown JSON option "omitepty" (SA5008)
      cli/lib/search.go:103:16: unknown JSON option "required" (SA5008)
      cli/lib/search.go:107:24: unknown JSON option "required" (SA5008)
      cli/lib/search.go:183:9: the argument is already a string, there's no need to use fmt.Sprintf (S1025)
      
      * Fixed some staticcheck warnings
      
      arduino/builder/sketch.go:165:5: should use !bytes.Equal(existingBytes, source) instead (S1004)
      arduino/builder/sketch_test.go:133:2: this value of err is never used (SA4006)
      arduino/cores/board.go:125:3: the surrounding loop is unconditionally terminated (SA4004)
      arduino/cores/packagemanager/package_manager.go:432:4: should replace loop with platforms = append(platforms, platform.GetAllInstalled()...) (S1011)
      arduino/cores/status.go:191:28: func ToolDependency.extractTool is unused (U1000)
      arduino/cores/status.go:203:28: func ToolDependency.extractRelease is unused (U1000)
      arduino/libraries/librariesindex/json.go:141:9: empty branch (SA9003)
      
      * Fixed some staticcheck warnings
      
      arduino/monitors/null.go:48:14: should use time.Since instead of time.Now().Sub (S1012)
      arduino/resources/checksums.go:79:5: should use !bytes.Equal(algo.Sum(nil), digest) instead (S1004)
      arduino/resources/checksums.go:155:6: func createPackageFile is unused (U1000)
      arduino/resources/helpers.go:65:12: this condition occurs multiple times in this if/else if chain (SA4014)
      arduino/resources/helpers_test.go:40:24: unnecessary use of fmt.Sprintf (S1039)
      cli/feedback/feedback.go:187:12: should use String() instead of fmt.Sprintf (S1025)
      cli/globals/globals.go:31:2: var tr is unused (U1000)
      cli/lib/args.go:89:6: should use strings.EqualFold instead (SA6005)
      commands/daemon/monitor.go:176:6: this value of slots is never used (SA4006)
      38ebf641
  8. 24 Mar, 2022 1 commit
    • Umberto Baldi's avatar
      Add secure boot support for compile command. (#1686) · b86e5cf7
      Umberto Baldi authored
      * add flags to allow the override of the keys used to sign and encrypt a binary for the boards that support the secure boot
      
      * add integration test for ReplaceSecurityKeys() function
      
      * fix regression introduced: target platform could be nil so using before checking is not a good idea
      
      * apply suggestions from code review
      
      * rename of some flags (done to accommodate the proposed changes in platform.txt)
      
      * change approach: override keys using `builderCtx.CustomBuildProperties`
      
      * add check in the builder regarding the usage of "build.keys.type" properties
      
      * add secure boot to the platform specifications
      
      * Apply suggestions from code review
      Co-authored-by: default avatarper1234 <accounts@perglass.com>
      
      * modify the check on in the builder regarding the usage of "build.keys" properties:
      The "build.keys.type" is no longer mandatory, and the default is "public_keys"
      We also check if the secureboot keys are all defined or none of them is.
      
      * remove check on the flags specifying the keys, it's the tool responsibility to check if they are valid
      
      * move content to a guides section
      
      * add specifications regarding `build.keys` properties
      
      * Apply suggestions from code review
      Co-authored-by: default avatarper1234 <accounts@perglass.com>
      
      * add link to external resource to provide a quick explanation of the reason for an Arduino boards platform developer to add a "secure boot" capability
      
      * change `tools.imgtool.build.pattern` to `tools.imgtool.flags`
      
      The property had the same form as the special `tools.TOOL_NAME.ACTION.pattern` properties
      However, there is not a `build` action, the form of the property gives the impression that it is one that has special treatment by the build system.
      
      It looks like the convention is `*.flags`
      
      * add small section explaining why is recommended to use these prop names
      
      * Apply suggestions from code review
      Co-authored-by: default avatarper1234 <accounts@perglass.com>
      
      * Correct error message
      
      * Apply suggestions from code review
      Co-authored-by: default avatarper1234 <accounts@perglass.com>
      Co-authored-by: default avatarper1234 <accounts@perglass.com>
      b86e5cf7
  9. 23 Mar, 2022 1 commit
  10. 22 Mar, 2022 1 commit
    • per1234's avatar
      [skip changelog] Disable internal anchor checks by link checker tool (#1692) · f470f407
      per1234 authored
      Validation of links to internal anchors was recently added to the markdown-link-check tool used to check for broken
      links in this project's documentation.
      
      Although a much needed feature, unfortunately it does not currently support anchors created by HTML anchor tags.
      
      For example, this is valid and common Markdown:
      
      [click here](#some-anchor)
      <a name="some-anchor"></a>
      
      but will fail the check:
      
      ERROR: 1 dead links found!
      [x] #some-anchor -> Status: 404
      
      This type of link markup is used by the protoc-gen-doc tool that generates the gRPC interface documentation, which
      causes a spurious failure of the link check.
      
      The solution is to configure markdown-link-check to skip these links (which was the behavior anyway with versions 3.8.7
      and older). That will be reverted whenever the tool is able to correctly validate internal anchor links.
      f470f407
  11. 14 Mar, 2022 1 commit
  12. 10 Mar, 2022 2 commits
  13. 04 Mar, 2022 1 commit
    • Jesse Vincent's avatar
      [skip changelog] Make use of 'avr' as example platform more consistent (#1680) · 8b53b850
      Jesse Vincent authored
      * Make use of 'avr' as example platform more consistent
      
      It's fairly easy to miss the one line early in the doc that says this text uses 'avr' as an example, leading a reader to possibly believe the documentation hasn't been updated since 'avr' was the only platform choice. Within the doc, the text was a little inconsistent as to how it referred to the avr platform and platform specific tools. This change tries to standardize how we refer to the example platform.
      
      * Fix a couple lint errors.
      
      * Fix prettier lint errors.
      
      * Fix an additional prettier lint error
      
      * Update docs/sketch-build-process.md
      Co-authored-by: default avatarper1234 <accounts@perglass.com>
      Co-authored-by: default avatarper1234 <accounts@perglass.com>
      8b53b850
  14. 03 Mar, 2022 1 commit
  15. 02 Mar, 2022 1 commit
  16. 01 Mar, 2022 1 commit
  17. 23 Feb, 2022 3 commits
  18. 18 Feb, 2022 1 commit
  19. 17 Feb, 2022 2 commits
  20. 04 Feb, 2022 2 commits
  21. 03 Feb, 2022 1 commit
  22. 01 Feb, 2022 3 commits
  23. 31 Jan, 2022 1 commit
  24. 28 Jan, 2022 5 commits
  25. 26 Jan, 2022 1 commit