- 11 Jul, 2022 2 commits
-
-
Cristian Maglie authored
* Added no_overwrite field in LibraryInstall * Added tests * Check if libraries needs to be installed prior to download/install * Update rpc/cc/arduino/cli/commands/v1/lib.proto Co-authored-by: per1234 <accounts@perglass.com> Co-authored-by: per1234 <accounts@perglass.com>
-
Cristian Maglie authored
* Provide a way to define extra UserAgent fields via env vars * Add secret token to User Agent This will allow to possibly bypass spam-checks on the server side reducing the jobs failures due to rate limiting.
-
- 01 Jul, 2022 1 commit
-
-
Cristian Maglie authored
[breaking] Fix gRPC streaming synchronization on close (should fix missing lines at the end of compile) (#1787) * Correctly synchronize streams (Fix: some lines cut-off at the end of the output) * Updated docs * Fixed go-docs * Use pipes with channel buffering to smooth out communications * Update docs/UPGRADING.md Co-authored-by: per1234 <accounts@perglass.com> Co-authored-by: per1234 <accounts@perglass.com>
-
- 28 Jun, 2022 1 commit
-
-
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.
-
- 27 Jun, 2022 1 commit
-
-
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.
-
- 23 Jun, 2022 1 commit
-
-
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]`).
-
- 22 Jun, 2022 1 commit
-
-
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: per1234 <accounts@perglass.com> * add macos arm 64 download links in `installation.md`
-
- 21 Jun, 2022 2 commits
-
-
Umberto Baldi authored
-
github-actions[bot] authored
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
-
- 20 Jun, 2022 1 commit
-
-
Cristian Maglie authored
[breaking] Remove old gRPC Monitor service, in favor of new gRPC API based on pluggable monitor (#1504) * Removed old Monitor gRPC service * Updated UPGRADING.md * Fixed broken links * Updated licensed cache
-
- 17 Jun, 2022 2 commits
-
-
Cristian Maglie authored
* Rate limit the number of outgoing gRPC messages This change should allow a better buffering of the outgoing gRPC messages (less messages with bigger data blocks -> less fragmentation). This should allow the clients (IDE) to better handle incoming data. * Update arduino/utils/stream.go Co-authored-by: Umberto Baldi <34278123+umbynos@users.noreply.github.com> Co-authored-by: Umberto Baldi <34278123+umbynos@users.noreply.github.com>
-
Cristian Maglie authored
-
- 14 Jun, 2022 2 commits
-
-
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: dependabot[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: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: per1234 <accounts@perglass.com>
-
Cristian Maglie authored
-
- 13 Jun, 2022 3 commits
-
-
Umberto Baldi authored
-
Cristian Maglie authored
Fix #1755
-
Cristian Maglie authored
-
- 06 Jun, 2022 3 commits
-
-
Cristian Maglie authored
Fix #1738
-
Cristian Maglie authored
Fix #1653
-
Umberto Baldi authored
-
- 03 Jun, 2022 2 commits
-
-
github-actions[bot] authored
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
-
github-actions[bot] authored
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
-
- 01 Jun, 2022 2 commits
-
-
Cristian Maglie authored
-
Cristian Maglie authored
* [breaking] report platforms installation dir in compile result * Added platforms and libraries used in the build report * Report used libraries even in case of unsuccessful build * Added 3rd party platform url in InstalledPlatofrm grpc response * Added temporary functionality to support profile creation It will be probably deprecated and removed once a better UX is implemented. * Updated documentation * Use the last part of the FQBN for suggested profile name * Move DefaultIndexURL under arduino/globals as it should be * Use global index url * Output an error if dump-profile is used with json output
-
- 31 May, 2022 3 commits
-
-
Cristian Maglie authored
* De-parallelize and increase verbosity of integration tests * Hide output of some test Otherwise Windows runners may raise this exception: E UnicodeEncodeError: 'charmap' codec can't encode characters in position 890-897: character maps to <undefined> * Update test/pytest.ini Co-authored-by: Umberto Baldi <34278123+umbynos@users.noreply.github.com> Co-authored-by: Umberto Baldi <34278123+umbynos@users.noreply.github.com>
-
Cristian Maglie authored
The latest 1.5.0 requires go1.18+. We could put it back to "latest" once we migrate to go1.18.
-
Cristian Maglie authored
* Fixed libraries-set selection for discovery Fix #1740 * removed useless variable * Added tests * Updated readme
-
- 25 May, 2022 1 commit
-
-
Cristian Maglie authored
* Fixed initializaion of profile libraries * Apply suggestions from code review The library must be installed globally in order to provide coverage of the bug. Co-authored-by: per1234 <accounts@perglass.com> Co-authored-by: per1234 <accounts@perglass.com>
-
- 24 May, 2022 3 commits
-
-
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: per1234 <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: per1234 <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: per1234 <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: per1234 <accounts@perglass.com> Co-authored-by: per1234 <accounts@perglass.com>
-
Cristian Maglie authored
* Fixed '--libraries' and '--library' flags description in compile command. * Apply suggestions from code review Co-authored-by: per1234 <accounts@perglass.com> Co-authored-by: per1234 <accounts@perglass.com>
-
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: Umberto 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: Umberto Baldi <34278123+umbynos@users.noreply.github.com>
-
- 23 May, 2022 1 commit
-
-
Cristian Maglie authored
* Removed 'stats' library * Adjust sub-projects go.mod * Updated licensed cache * Removed test for prometheus and updated python deps
-
- 20 May, 2022 1 commit
-
-
Cristian Maglie authored
-
- 12 May, 2022 2 commits
-
-
Cristian Maglie authored
-
Alessandro Ranellucci authored
* Optimization: skip commands.Init() when no library was installed * Optimization: skip commands.Init() when no platform was installed
-
- 11 May, 2022 2 commits
-
-
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
-
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.
-
- 10 May, 2022 1 commit
-
-
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.
-
- 05 May, 2022 2 commits
-
-
github-actions[bot] authored
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
-
Cristian Maglie authored
* Updated library_index.json for testing * Use easyjson for parsing library_index * Added benchmarks for json deconding. Results: $ go test -v -benchmem -bench BenchmarkIndexParsing github.com/arduino/arduino-cli/arduino/libraries/librariesindex === RUN TestIndexer --- PASS: TestIndexer (0.16s) goos: linux goarch: amd64 pkg: github.com/arduino/arduino-cli/arduino/libraries/librariesindex cpu: Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz BenchmarkIndexParsingStdJSON BenchmarkIndexParsingStdJSON-8 5 214872730 ns/op 94.52 MB/s 58956539 B/op 418973 allocs/op BenchmarkIndexParsingEasyJSON BenchmarkIndexParsingEasyJSON-8 16 69215472 ns/op 293.42 MB/s 56162664 B/op 418966 allocs/op PASS ok github.com/arduino/arduino-cli/arduino/libraries/librariesindex 4.442s easyjson is 3x faster. * Updated license check cache * Added easyjson to package_index.json parser * Allow easyjson to match tags in case-insensitive See https://github.com/mailru/easyjson/pull/372 * Added easyjson generation task in Taskfile * Added github action check * Update .github/workflows/check-easyjson.yml Co-authored-by: per1234 <accounts@perglass.com> Co-authored-by: per1234 <accounts@perglass.com>
-