1. 10 Aug, 2022 1 commit
  2. 09 Aug, 2022 3 commits
    • Cristian Maglie's avatar
      Expand property references in `version` property of `platform.txt` (#1830) · 3a25147f
      Cristian Maglie authored
      * Added test for issue #1823
      
      * Do not assume that version in platforms.txt is correct semver
      
      * When parsing version in platform.txt perform a variable replace
      
      * Update internal/integrationtest/core/testdata/issue_1823/DxCore-dev/megaavr/README.md
      
      * Update internal/integrationtest/core/core_list_test.go
      Co-authored-by: default avatarper1234 <accounts@perglass.com>
      3a25147f
    • Cristian Maglie's avatar
      [skip-changelog] Add gRPC testsuite / implementation of integration tests in go (WIP) (#1806) · 869c9711
      Cristian Maglie authored
      * testsuite: Added helper functions to handle test envs
      
      * testsuite: Added helper functions to run arduino-cli
      
      * testsuite: Added colored output to arduino-cli Run helper
      
      * testsuite: Pass cli config through env variables
      
      * testsuite: added env commands to download and extract files
      
      * testsuite: added commands to start cli daemon and run some gRPC calls
      
      * testsuite: moved test harness inside 'internal' package
      
      * testsuite: added first daemon test for gRPC board watch
      
      * testsuite: added http server helper
      
      * testsuite: added JSON helpers
      
      * testsuite: Added possibility to use shared download staging folder
      
      * testsuite: Converted a core_test.py test (WIP)
      
      * REMOVEME: Deactivate daemon integration test for now
      
      * testsuite: force colored output
      
      * testsuite: moved all generic subroutines into their own library
      
      * testsuite: moved daemon test in his own dir
      
      * fixed typo
      
      * testsuite: added some helpers to improve daemon testing
      
      * testsuite: added test for #1614
      
      * Removed converted test
      
      * testsuite: perform build before test
      
      Otherwise people running the task locally will have a bad time when the test
      either fails due to the missing executable, or far worse when they get
      incorrect test results because they don't realize it is using whichever random
      executable happened to be sitting around from the last time they did a build.
      
      * Added missing comment
      
      * Renamed test file
      
      * Skip failing tests
      
      * Updated licensed cache
      
      * re-enable test for fixed bug
      
      * testsuite: disable postinstall
      
      Otherwise Windows CI will get stuck.
      
      * Removed useless startDaemon
      
      * Renamed inst -> grpcInst
      
      * Close daemon gRPC connection on test cleanup
      
      * Added comment
      
      * Apply suggestions from code review
      Co-authored-by: default avatarper1234 <accounts@perglass.com>
      
      * Update internal/integrationtest/arduino-cli.go
      Co-authored-by: default avatarper1234 <accounts@perglass.com>
      Co-authored-by: default avatarper1234 <accounts@perglass.com>
      869c9711
    • per1234's avatar
      [skip changelog] Remove spurious argument from error message (#1827) · 90755128
      per1234 authored
      `github.com/arduino/arduino-cli/i18n.Tr` provides a `fmt.Printf`-style interface, where the first argument may serve as
      a template filled by subsequent arguments according to its format verbs.
      
      This call contains a subsequent argument, but no verb in the format string to use it. This generates some cryptic
      content in the error message.
      
      For example:
      
      Error during install: Error downloading tool arduino:bossac@1.7.0-arduino3: no versions available for the current OS%!(EXTRA *cores.ToolRelease=arduino:bossac@1.7.0-arduino3)
      
      The tool name is already provided in the correctly configured `Message` field of the error, so there is no need to
      include it in the `Cause` field as well, so the spurious argument can be removed entirely rather than the alternative
      fix of adjusting the format string argument. I suspect the spurious argument was simply the result of a copy/paste error.
      90755128
  3. 08 Aug, 2022 1 commit
    • Cristian Maglie's avatar
      [skip-changelog] [breaking] Downloaders/Installers refactor (#1809) · c7163b77
      Cristian Maglie authored
      * Made PackageManager.TempDir private
      
      * Merged InstallToolRelease function into the proper packagemanager method
      
      * Moved uninstallToolRelease into the proper packagamanger method
      
      * Moved uninstallPlatformRelease into the proper packagamanger method
      
      * Moved downloadToolRelease into the proper packagamanger method
      
      * Merged downloadTool with the proper packagamanger method
      
      * Merged downloadPlatform with the proper packagamanger method
      
      * Moved installPlatform into a packagamanger method
      
      * Moved upgradePlatform into a packagamanger method
      
      * Made PackageManager.Log field private
      
      * Removed the massive code duplication in the 'upgrade' command
      
      * Removed the massive code duplication in the 'outdated' command
      
      * Updated docs
      
      * Update arduino/cores/packagemanager/install_uninstall.go
      Co-authored-by: default avatarper1234 <accounts@perglass.com>
      
      * Update arduino/cores/packagemanager/install_uninstall.go
      Co-authored-by: default avatarper1234 <accounts@perglass.com>
      Co-authored-by: default avatarper1234 <accounts@perglass.com>
      c7163b77
  4. 05 Aug, 2022 1 commit
  5. 02 Aug, 2022 1 commit
  6. 01 Aug, 2022 1 commit
    • per1234's avatar
      [skip changelog] Enable Codecov comments on PRs from forks (#1819) · a55df0d4
      per1234 authored
      Versions of the `codecov/codecov-action` GitHub Actions action prior to 1.0.6 required the use of a token provided by
      Codecov in order to upload data to Codecov. This token was stored in secret in the Arduino CLI repository and used in
      the test workflow.
      
      For security reasons, secrets are not accessible when a workflow is triggered by an event generated by a fork of the
      repository. This meant that it was impossible to upload coverage data for the test runs triggered by PRs from forks. A
      conditional was added to the upload step of the workflow to cause it to only run on `push` event triggers, which
      effectively prevented its failure for runs on PRs from forks.
      
      The token requirement was removed in the 1.0.6 release of `codecov/codecov-action`, but the now pointless conditional
      was never removed from the workflow. This prevented PRs from forks from receiving the automated code coverage report
      comments that would otherwise encourage those contributors to resolve coverage deficiencies and facilitate the review
      process.
      
      The harmful conditional is hereby removed from the coverage data upload steps of the workflow and PRs from forks will
      now receive coverage report comments, just as PRs from branches do already.
      a55df0d4
  7. 26 Jul, 2022 1 commit
  8. 22 Jul, 2022 3 commits
    • github-actions[bot]'s avatar
    • Joe Wreschnig's avatar
      Allow using specific revisions in `lib install --git-url` (#1113) (#1776) · 78be128d
      Joe Wreschnig authored
      This is done by providing the desired revision in the fragment, e.g.
      `…/Library.git#0.1.0`. When set, this disables the clone depth limit so
      all remote references will be available.
      78be128d
    • Cristian Maglie's avatar
      Fix bogus "wrong file size" error in some rare cases (#1810) · 4c539b9a
      Cristian Maglie authored
      * packagemanager: Show size difference between package_index and downloaded file
      
      This will help identify the problem:
      - if the file is corrupted
      - if the package_index is wrong
      - if there is a bug in the CLI (more rare... but actually possible :-)
      
      * Load package indexes after installed packages
      
      The installed packages keeps an extract of the original
      package_index.json, at the moment of the installation, inside
      a file named installed.json. This extract may turn out useful
      if the original package_XXX_index.json is lost or removed to keep the
      platform functional. On the other hand, if the original
      package_XXX_index.json is modified the information kept in the
      installed.json may be outdated and should be replaced by the upstream
      index: this is the reason why it's loaded after the hardware platforms.
      4c539b9a
  9. 19 Jul, 2022 1 commit
  10. 18 Jul, 2022 1 commit
  11. 11 Jul, 2022 5 commits
  12. 01 Jul, 2022 1 commit
  13. 28 Jun, 2022 1 commit
    • per1234's avatar
      [skip changelog] Document library dependency version constraints (#1786) · 9b6c9c46
      per1234 authored
      Arduino libraries may specify dependencies on other libraries in their metadata. The Arduino Library Manager offers the
      option to install these dependencies when the user installs the library.
      
      By default, the latest version of the dependency is installed. However, libraries may be compatible or tested working
      only with specific versions of a dependency. In this case, the library developer may wish to specify a particular
      version or version range of the dependency.
      
      Arduino CLI and the Arduino Library index system has had support for such dependency version constraints for the last
      2.5 years, but it was never documented so has only been used by the few library developers who discovered it via other
      means.
      
      The dependencies version constraint system is hereby fully documented in the Arduino library specification. This will
      allow meaningful benefit to finally come from the work done to add this valuable capability.
      9b6c9c46
  14. 27 Jun, 2022 1 commit
    • per1234's avatar
      [skip changelog] Enable Codecov reports on pull requests (#1783) · 124c35d3
      per1234 authored
      * [skip changelog] Revert "codecov: Disable pull request comments"
      
      This reverts commit 5c9eee34.
      
      Codecov will now automatically comment on pull requests to provide a report of the code coverage impact that would
      result from the proposed changes.
      
      These comments are valuable for several reasons:
      
      - Brings test deficiencies to the contributor's attention
      - Encourages contributors to improve PRs that originally had insufficient test coverage for the added code
      - Facilitates the review process for the maintainers
      - Increases awareness of code coverage trends in the project (the Codecov website is great for this, but likely rarely visited)
      
      * [skip changelog] Add support to "Test Go" workflow for alternative Codecov configuration paths
      
      For the sake of efficiency, the "Test Go" GitHub Actions workflow is configured to run only when relevant files are
      modified. Since the workflow uploads code coverage data to Codecov, the Codecov configuration file is one of these files.
      
      The standard filename for the Codecov configuration file is codecov.yml, and the workflow's path filter was configured
      for that filename. It turns out an alternative filename is also recognized: .codecov.yml, which is used by this project.
      Two subfolders are also supported in addition to the root of the repository as locations for the configuration file.
      
      The workflow's paths filter was not configured for the alternative filename and locations, meaning the workflow would
      not be triggered on change to the Codecov configuration in projects that use the alternative configuration file name or
      locations.
      
      The workflow's paths filter is hereby configured to recognize changes to any valid Codecov configuration file.
      124c35d3
  15. 23 Jun, 2022 1 commit
    • per1234's avatar
      [skip changelog] Restore globbing of nightly build artifact filename (#1781) · 4a4b784c
      per1234 authored
      During a refactoring of the "Publish Nightly Build" workflow, globbing of the macOS build artifact filename in the
      repackaging step was accidentally lost, causing the glob pattern to be treated instead as a string and the updated
      package saved to a file named by that string instead of to the original filename.
      
      This resulted in the workflow failing with errors like:
      
      Artifact path is not valid: /arduino-cli_nightly-*macOS_64bit.tar.gz. Contains the following character: Asterisk *
      
      The previous `basename` command was providing the globbing. After the refactoring, `basename` is no longer needed, so an
      alternative way to achieve globbing is needed. It seems the preferred approach is use of an array. Since the globbing
      will only expand to a single filename, the array can be referenced as before by the rest of the step, since it will
      resolve to the first element in the array (equivalent to `$PACKAGE_FILENAME[0]`).
      4a4b784c
  16. 22 Jun, 2022 1 commit
    • Umberto Baldi's avatar
      Add support for macos arm64 build (#1770) · 0de6c37b
      Umberto Baldi authored
      * add support for macos arm64 build in the taskfile
      
      * update workflows to handle darwin_arm64 notarization
      
      - the gon config is now hardcoded in the workflow (it allows customization)
      - the notarization step is run in parallel now
      - the updated checksum is passed to the `create-release` job
      - the `create-release` job handles the checksum update in `checksum.txt` file
      
      * use working-directory, this should simplify a bit the workflow
      
      * we cannot upload all the artifacts since the job is being parallelized
      
      * Apply suggestions from code review
      Co-authored-by: default avatarper1234 <accounts@perglass.com>
      
      * add macos arm 64 download links in `installation.md`
      0de6c37b
  17. 21 Jun, 2022 2 commits
  18. 20 Jun, 2022 1 commit
  19. 17 Jun, 2022 2 commits
  20. 14 Jun, 2022 2 commits
    • dependabot[bot]'s avatar
      [skip changelog] Bump actions/setup-python from 3 to 4 (#1754) · 813cfe73
      dependabot[bot] authored
      * Bump actions/setup-python from 3 to 4
      
      Bumps [actions/setup-python](https://github.com/actions/setup-python) from 3 to 4.
      - [Release notes](https://github.com/actions/setup-python/releases)
      - [Commits](https://github.com/actions/setup-python/compare/v3...v4)
      
      ---
      updated-dependencies:
      - dependency-name: actions/setup-python
        dependency-type: direct:production
        update-type: version-update:semver-major
      ...
      Signed-off-by: default avatardependabot[bot] <support@github.com>
      
      * Use non-version specific reference URLs for tool version workflow variables
      
      GitHub Actions actions are used by the workflows to set up development tools in the runner workspace.
      
      In order to facilitate updates to new versions of these tools, we set the version to be set up via environment variables
      at the top of the workflow.
      
      Since this variable definition is separate from the step using the action, it might not be immediately apparent to the
      maintainer which version syntaxes are supported. For this reason, comments were added with the URL to the relevant
      section of the consuming action's documentation. Previously, these URLs were made to point to the version of the
      documentation that matched the version of the action in use by the workflow. Since we only use a major version ref, the
      expectation was that this would only need to be updated rarely. However, it turned out that the major version bump cycle
      is significantly shorter than expected. In addition, it is easy to forget the update because action version update PRs
      are provided by Dependabot, which obviously won't update the URLs in the comments.
      
      So it will be best to use a URL that points to the documentation at the tip of the default branch of the action
      repository. The likelihood of the documentation provided by this URL not matching the behavior of the release version of
      the action in use is likely less than it is for an outdated URL.
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      Co-authored-by: default avatarper1234 <accounts@perglass.com>
      813cfe73
    • Cristian Maglie's avatar
  21. 13 Jun, 2022 3 commits
  22. 06 Jun, 2022 3 commits
  23. 03 Jun, 2022 2 commits
  24. 01 Jun, 2022 1 commit