1. 06 Jun, 2022 3 commits
  2. 03 Jun, 2022 2 commits
  3. 01 Jun, 2022 2 commits
  4. 31 May, 2022 3 commits
  5. 25 May, 2022 1 commit
  6. 24 May, 2022 3 commits
    • Cristian Maglie's avatar
      [breaking] Implementation of sketch profiles (#1713) · 7e9e4cac
      Cristian Maglie authored
      * cosmetic: renamed import
      
      * Simplify function pm.DownloadPlatformRelease
      
      * Implementation of the Profiles parser
      
      * Added methods to get profiles from sketch
      
      * Added gRPC parameters to support profiles
      
      * Added function to load packages for profiles
      
      * Added support for profiles in compile command
      
      * Added progress callback and installMissing flag (stubs) in pm.PrepareLibrariesAndPackageManagersForProfile
      
      * Added auto-install procedures for profiles
      
      * Handle platform not found errors
      
      * Draft implementation of upload with profiles
      
      * Made packagemamager.loadToolsFromPackage public
      
      * Simplified callbacks in commands.Init
      
      * cosmetic: added shortcut variable for library manager
      
      * cosmetic: added shortcut variable for package manager; small readability improvement
      
      * Wiring profiles into arduino-cli and gRPC implementation
      
      * Made gRPC Init return a full Profile structure
      
      Makes it more future-proof in case of further expasion
      
      * (tech debt) Disable profiles if compiling with --libraries/--library
      
      * Fixed some linter warnings
      
      * Apply suggestions from code review
      Co-authored-by: default avatarper1234 <accounts@perglass.com>
      
      * Added profiles specification docs
      
      * Allow both sketch.yaml and .yml (with priority for .yaml)
      
      * Correctly handle nil return value
      
      * Apply suggestions from code review
      Co-authored-by: default avatarper1234 <accounts@perglass.com>
      
      * Apply suggestions from code review
      
      * Provide `core install` suggestions only when compiling without profiles
      
      * Remove stray comment
      
      * Fixed some comments in protoc files
      
      * Apply suggestions from code review
      
      * Apply suggestions from code review
      Co-authored-by: default avatarper1234 <accounts@perglass.com>
      
      * Implemented missing AsYaml methods and added tests
      
      * Apply suggestions from code review
      
      * run of prettier formatter
      
      * Preserve profiles ordering in profiles.yaml
      
      * Apply suggestions from code review
      Co-authored-by: default avatarper1234 <accounts@perglass.com>
      Co-authored-by: default avatarper1234 <accounts@perglass.com>
      7e9e4cac
    • Cristian Maglie's avatar
      Fixed '--libraries' and '--library' flags description in compile command (#1732) · 48dd5c77
      Cristian Maglie authored
      * Fixed '--libraries' and '--library' flags description in compile command.
      
      * Apply suggestions from code review
      Co-authored-by: default avatarper1234 <accounts@perglass.com>
      Co-authored-by: default avatarper1234 <accounts@perglass.com>
      48dd5c77
    • Cristian Maglie's avatar
      Allow downloading index and signature in a single tar.bz2 archive (#1734) · 652bcace
      Cristian Maglie authored
      * Allow downloading index and signature in a tar.bz2 archive
      
      * Make some configurations resilient to empty settings
      
      * Added tests
      
      * fix comment
      
      * Apply suggestions from code review
      Co-authored-by: default avatarUmberto Baldi <34278123+umbynos@users.noreply.github.com>
      
      * Allow .tar.bz2 package index URL
      
      * Fix errors in timeout checks
      
      * Fixed check for stale package_index.json files
      Co-authored-by: default avatarUmberto Baldi <34278123+umbynos@users.noreply.github.com>
      652bcace
  7. 23 May, 2022 1 commit
  8. 20 May, 2022 1 commit
  9. 12 May, 2022 2 commits
  10. 11 May, 2022 2 commits
    • Cristian Maglie's avatar
      Improved gRPC debug logger (#1730) · b6d36c6d
      Cristian Maglie authored
      Since many gRPC calls may happen together, to better understand what's
      happening now:
      
      - each call is identified by a sequence number (even if they are
        interleaved)
      - when a non-streaming calls ends a "CALL END" log is printed
      b6d36c6d
    • George White's avatar
      Use real names for libs in upgrade commands (#1725) · ca8c48a7
      George White authored
      The real name for a lib (the name stored in the library.properties)
      is required to find a library in the index. The installed name, which
      matches the diretory name, is not valid for looking up libraries in
      the index.
      
      Libraries that do not have a library.properties file, or where the
      name value in that file does not match the value in library_index.json,
      cannot be upgrade by the CLI.
      
      Also Fix tests for outdated libs
      
      The tests for update and outdated changed the library.properties
      file for an installed lib, but also wiped out the name field.
      Since we rely on that field to determine the library name when
      using the RealName property, the test's change was causing a failure
      outside the scope of the test itself.
      ca8c48a7
  11. 10 May, 2022 1 commit
    • per1234's avatar
      [skip changelog] Use form-based issue templates (#1729) · 554c49d3
      per1234 authored
      High quality feedback via GitHub issues is a very valuable contribution to the project. It is important to make the
      issue creation and management process as efficient as possible for the contributors, maintainers, and developers.
      
      Issue templates are helpful to the maintainers and developers because it establishes a standardized framework for the
      issues and encourages the contributors to provide the essential information.
      
      The contributor is now presented with a web form when creating an issue. This consists of multi-line input fields that
      have the same formatting, preview, and attachment capabilities as the standard GitHub Issue composer, in addition to
      menus and checkboxes where appropriate.
      
      The use of this form-based system should provide a much better experience for the contributors and also result in higher
      quality issues by establishing a standardized framework for the issues and encouraging contributors to provide the
      essential information.
      
      A template chooser allows the contributor to select the appropriate template type, redirects support requests to the
      appropriate communication channels via "Contact Links", and provides a prominent link to security policy to guide any
      vulnerability disclosures.
      
      The clear separation of the types of issues encourages the reporter to fit their report into a specific issue category,
      resulting in more clarity. Automatic labeling according to template choice allows the reporter to do the initial
      classification.
      554c49d3
  12. 05 May, 2022 2 commits
  13. 04 May, 2022 1 commit
  14. 03 May, 2022 1 commit
  15. 02 May, 2022 2 commits
  16. 28 Apr, 2022 1 commit
    • Mattia Pennasilico's avatar
      [skip-changelog] Secure boot docs update (#1716) · 7f2e750d
      Mattia Pennasilico authored
      * Fix typo
      
      * Rename custom keys filename to make more clear that private key is used to sign and public key is used for encryption
      
      * Update Security setting postbuild.cmd path
      
      * Update Security setting keychain path
      
      * Update Security setting default keys filename
      7f2e750d
  17. 15 Apr, 2022 2 commits
    • Cristian Maglie's avatar
      [skip-changelog] Some small refactorings (#1711) · 8375a6d7
      Cristian Maglie authored
      * Updated relaxed-semver library to v0.9.0
      
      * Fixed errors translations
      
      * Make architecture explicit in loadPlatform
      
      * Extracted subrotuine loadToolReleaseFromDirectory
      
      * Added cores.InstallPlatformInDirectory(..) helper function
      
      * legacy: allow using a preconfigured library manager in build
      8375a6d7
    • per1234's avatar
      [skip changelog] Detect unused dependency license metadata files (#1712) · 4a626a09
      per1234 authored
      The "Check Go Dependencies" GitHub Actions workflow checks for dependencies with incompatible or unapproved license
      types.
      
      The dependency license metadata consumed by the "Licensed" tool is cached in the project repository, in a dedicated file
      for each dependency.
      
      The `check-cache` job of the workflow checks whether that cache is in sync with the project's current dependencies. It
      does this by using the "Licensed" tool to update the cache and then a `git diff` command to check whether that resulted
      in any changes (which would indicate it is out of sync).
      
      Out of sync states could result from any of three distinct conditions:
      
      - Missing metadata file
      - Incorrect metadata file contents
      - Superfluous metadata file
      
      An incorrectly configured `git diff` command previously caused the last of these to be missed.
      
      My first take at this system was simply using `git diff --exit-code` alone. That detects the last two, but misses the
      first. I added the `git add --intent-to-add .` command to detect added files, but didn't realize that it caused the last
      to be missed.
      
      Superfluous files in the dependency license metadata cache won't actually interfere with its intended functionality, but
      it is still important to avoid an accumulation of unused files.
      
      The new commands will catch all three of the possible out of sync conditions by staging all changes that result from
      the metadata cache update to the repository and then comparing those against the `HEAD` commit.
      
      I considered an alternative approach which works just as well as the chosen one:
      
      ```
      git add .
      git diff --exit-code HEAD
      ```
      
      However, I feel that the `--cached` flag makes the `git diff` command more self-explanatory.
      4a626a09
  18. 14 Apr, 2022 1 commit
  19. 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
  20. 11 Apr, 2022 4 commits
  21. 06 Apr, 2022 1 commit
  22. 04 Apr, 2022 1 commit
  23. 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