1. 12 Dec, 2022 1 commit
    • MatteoPologruto's avatar
      [skip-changelog] Migrate `lib_test.py` to `test_lib.go` part two (#1999) · 53a27683
      MatteoPologruto authored
      * Migrate TestUninstallSpaces from test_lib.py to lib_test.go
      
      * Migrate TestLibOpsCaseInsensitive from test_lib.py to lib_test.go
      
      * Migrate TestSearch from test_lib.py to lib_test.go
      
      * Migrate TestSearchParagraph from test_lib.py to lib_test.go
      
      * Migrate TestLibListWithUpdatableFlag from test_lib.py to lib_test.go
      
      * Migrate TestInstallWithGitUrlFromCurrentDirectory from test_lib.py to lib_test.go
      
      * Migrate TestInstallWithGitLocalUrl from test_lib.py to lib_test.go
      
      * Migrate TestInstallWithGitUrlRelativePath from test_lib.py to lib_test.go
      
      * Migrate TestInstallWithGitUrlDoesNotCreateGitRepo from test_lib.py to lib_test.go
      
      * Migrate TestInstallWithGitUrlMultipleLibraries from test_lib.py to lib_test.go
      
      * Migrate TestLibExamples from test_lib.py to lib_test.go
      
      * Migrate TestLibExamplesWithPdeFile from test_lib.py to lib_test.go
      53a27683
  2. 09 Dec, 2022 3 commits
  3. 07 Dec, 2022 2 commits
    • per1234's avatar
      [skip changelog] Restore certificate check compatibility w/ RC2-40-CBC encrypted PKS #12 (#2002) · 90771beb
      per1234 authored
      The "Check Certificates" GitHub Actions workflow uses OpenSSL to check for problems with the project's signing
      certificates.
      
      Certificates exported to PKS #12 archive files using older tools may have been encrypted using the "RC2-40-CBC"
      algorithm.
      
      Due to the availability of more secure modern alternatives, default support for RC2-40-CBC encryption was dropped in
      OpenSSL 3.x.
      
      The macOS signing certificate uses this RC2-40-CBC encryption.
      
      The "Check Certificates" GitHub Actions workflow runs on the `ubuntu-latest` runner. Previously, this runner used Ubuntu
      20.04. This has now changed to Ubuntu 22.04. With the operating system update came an OpenSSL update from 1.1.1f to
      3.0.2. This caused the workflow runs to fail on the macOS certificate job:
      
      Error outputting keys and certificates
      80FBB0C5087F0000:error:0308010C:digital envelope routines:inner_evp_generic_fetch:unsupported:../crypto/evp/evp_fetch.c:349:Global default library context, Algorithm (RC2-40-CBC : 0), Properties ()
      
      Even though no longer done by default, OpenSSL still supports RC2-40-CBC encryption via its "legacy" provider. So
      compatibility with the certificate is restored by adding the `-legacy` flag to the `openssl pkcs12` commands.
      90771beb
    • MatteoPologruto's avatar
      [skip-changelog] Avoid running publish-go-tester-task if tag is set (#1984) · bc5cf6d7
      MatteoPologruto authored
      * Avoid running publish-go-tester-task if tag is set
      
      * Update .github/workflows/publish-go-tester-task.yml
      Co-authored-by: default avatarper1234 <accounts@perglass.com>
      
      * Update .github/workflows/publish-go-tester-task.yml
      Co-authored-by: default avatarper1234 <accounts@perglass.com>
      Co-authored-by: default avatarper1234 <accounts@perglass.com>
      bc5cf6d7
  4. 02 Dec, 2022 2 commits
  5. 01 Dec, 2022 1 commit
    • MatteoPologruto's avatar
      [skip-changelog] Eliminate empty lines produced by `board details -b` (#1997) · 210dda42
      MatteoPologruto authored
      * Eliminate blank line between required tools row entries
      
      * Fix Programmers ID typo and modify tests accordingly
      
      * Reduce spacing between "Required tool" columns
      
      Splitting the table produced by `board details` after `Platform checksum` resets both the average length and the variance of the following cells, thus reducing the space between entries.
      210dda42
  6. 30 Nov, 2022 1 commit
  7. 29 Nov, 2022 2 commits
    • MatteoPologruto's avatar
      Fix `sketch new` default overwriting behavior (#1993) · ab73719d
      MatteoPologruto authored
      * Check .ino sketch file exists in path before creating a new one
      
      Running "arduino-cli sketch new ." from a sketch directory overwrites an existing .ino sketch file, without asking for confirmation. This fix introduces a check to verify if the specified path already
      contains a .ino sketch file. If it does, an error is returned, otherwise a new sketch is created as usual.
      
      * Add test to check if sketch new does not overwrite an already existing .ino sketch file
      
      * Add --overwrite flag to sketch new command
      
      Using the "--overwrite" flag, allows to create a new sketch overwriting an existing one.
      ab73719d
    • Cristian Maglie's avatar
      [breaking] Fixed detection of double-install using `lib install` with... · c5709162
      Cristian Maglie authored
      [breaking] Fixed detection of double-install using `lib install` with `--git-url` or `--zip-path` (#1983)
      
      * Remove useless logging
      
      The errors are already reported upstream via returned `err` value
      
      * librariesmanager.InstallPrerequisiteCheck signature change
      
      It now accepts library name and version as single arguments since we are
      going to use this function also for libraries not present in the index.
      
      * Added integration test
      
      * Fixed `lib install --git-url` pre-install checks
      
      Now it performs all the needed checks to avoid multiple installations.
      
      * Added test for double install with -.zip-path flag
      
      * Fixed `lib install --zip-path` pre-install checks
      
      Now it performs all the needed checks to avoid multiple installations
      
      * Simplified loop in LibraryInstall function
      
      * Factored some of the checks in LibrariesManager.InstallPrerequisiteCheck
      
      They were duplicated and spread around all the library install
      functions.
      
      * Refactored LibrariesManager.getLibrariesDir function
      
      This helped to find out 2 places where the `installDir` was unnecessary.
      
      * Factored all duplicated code for importing a library from a directory
      
      * Updated docs
      
      * Fixed integration test
      
      The installation folder is now taken from the `name` field in `library.properties`.
      
      * Update docs/UPGRADING.md
      Co-authored-by: default avatarUmberto Baldi <34278123+umbynos@users.noreply.github.com>
      Co-authored-by: default avatarUmberto Baldi <34278123+umbynos@users.noreply.github.com>
      c5709162
  8. 24 Nov, 2022 1 commit
  9. 22 Nov, 2022 3 commits
  10. 21 Nov, 2022 2 commits
    • Cristian Maglie's avatar
      Improve `board list` detection via cloud API (cache responses / do not error... · 06a3564d
      Cristian Maglie authored
      Improve `board list` detection via cloud API (cache responses / do not error on network failure) (#1982)
      
      * Slightly refactored apiByVidPid
      
      * Cache cloud-api response for 24h to improve responsiveness
      
      * Do not fail with errors in case of cloud-api is not available
      
      * Fixed linter warning...
      
      * Removed useless ErrNotFound from `apiByVidPid`
      
      The `apiByVidPid` function now masks the odd behavior of the builder-api
      returning an HTTP 404 if the request succeed but the result is empty.
      06a3564d
    • Silvano Cerza's avatar
      [breaking] Fix board attach CLI command, and remove gRPC API (#1930) · b1150e01
      Silvano Cerza authored
      * Remove board attach cli interface
      
      * Move tr function in separate file
      
      * Remove BoardAttach gRPC interface command
      
      * Remove BoardAttach calls from client_example
      
      * go mod tidy
      
      * Update board CLI command help text
      Co-authored-by: default avatarCristian Maglie <c.maglie@bug.st>
      
      * Update dependency license metadata cache
      
      * Re-Implementation of 'board attach' command
      
      * Fixed comment indentation (gofmt)
      
      * Update UPGRADING.md
      
      * Added 'default_fqbn' and 'default_port' fields to sketch.yaml
      
      * Added functions to load and save sketch project files
      
      * Use sketch project file to determine default fqbn and port
      
      * Implement 'attach board' using sketch project file
      
      * Remove support for sketch.json
      
      * Updated documentation
      
      * Do not fully rewrite sketch.yaml when a key is automatically updated
      
      * Fixed 'board attach' command output
      
      * Do not write empty entries in sketch.yaml
      
      * Apply suggestions from code review
      Co-authored-by: default avatarper1234 <accounts@perglass.com>
      
      * Update docs/UPGRADING.md
      Co-authored-by: default avatarper1234 <accounts@perglass.com>
      
      * Other suggestions from code review
      
      * Updated UPGRADING.md
      
      This change is going into 0.30.0
      Co-authored-by: default avatarCristian Maglie <c.maglie@bug.st>
      Co-authored-by: default avatarper1234 <accounts@perglass.com>
      Co-authored-by: default avatarCristian Maglie <c.maglie@arduino.cc>
      b1150e01
  11. 18 Nov, 2022 1 commit
  12. 16 Nov, 2022 6 commits
    • github-actions[bot]'s avatar
    • Cristian Maglie's avatar
      Fix download progress bar (not always displayed) (#1980) · 1fb5d144
      Cristian Maglie authored
      * Fix download progress bar (not always displayed)
      
      * Remove debug leftovers
      1fb5d144
    • Cristian Maglie's avatar
      Set `runtime.hardware.path` property during upload (#1978) · 8e1e16b3
      Cristian Maglie authored
      * Added integration test
      
      * Set runtime.hardware.path property during upload
      8e1e16b3
    • Cristian Maglie's avatar
    • MatteoPologruto's avatar
      [skip-changelog] Migrate tests from `test_core.py` to `core_test.go` (#1949) · f8506aa3
      MatteoPologruto authored
      * Migrate TestCoreSearchNoArgs from test_core.py to core_test.go
      
      * Migrate TestCoreUpdateIndexUrlNotFound from test_core.py to core_test.go
      
      * Migrate TestCoreUpdateIndexInternalServerError from test_core.py to core_test.go
      
      * Migrate TestCoreInstallWithoutUpdateIndex from test_core.py to core_test.go
      
      * Migrate TestCoreDownload from test_core.py to core_test.go
      
      * Migrate TestCoreInstall from test_core.py to core_test.go
      
      * Migrate TestCoreUninstall from test_core.py to core_test.go
      
      * Migrate TestCoreUninstallToolDependencyRemoval from test_core.py to core_test.go
      
      * Migrate TestCoreZipslip from test_core.py to core_test.go
      
      * Migrate TestCoreBrokenInstall from test_core.py to core_test.go
      
      * Migrate TestCoreUpdateWithLocalUrl from test_core.py to core_test.go
      
      * Migrate TestCoreSearchManuallyInstalledCoresNotPrinted from test_core.py to core_test.go
      
      * Migrate TestCoreListAllManuallyInstalledCore from test_core.py to core_test.go
      
      * Migrate TestCoreListUpdatableAllFlags from test_core.py to core_test.go
      
      * Migrate TestCoreUpgradeRemovesUnusedTools from test_core.py to core_test.go
      
      * Migrate TestCoreInstallRemovesUnusedTools from test_core.py to core_test.go
      
      * Migrate TestCoreListWithInstalledJson from test_core.py to core_test.go
      
      * Migrate TestCoreSearchSortedResults from test_core.py to core_test.go
      
      * Migrate TestCoreListSortedResults from test_core.py to core_test.go
      
      * Migrate TestCoreListDeprecatedPlatformWithInstalledJson from test_core.py to core_test.go
      
      * Migrate TestCoreListPlatformWithoutPlatformTxt from test_core.py to core_test.go
      
      * Migrate TestCoreWithMissingCustomBoardOptionsIsLoaded from test_core.py to core_test.go
      
      * Migrate TestCoreListOutdatedCore from test_core.py to core_test.go
      
      * Migrate TestCoreLoadingPackageManager from test_core.py to core_test.go
      
      * Migrate TestCoreIndexWithoutChecksum from test_core.py to core_test.go
      
      * Migrate TestCoreInstallEsp32 from test_core.py to core_test.go
      
      * Migrate TestCoreSearchUpdateIndexDelay from test_core.py to core_test.go
      
      * Migrate TestCoreDownloadMultiplePlatforms from test_core.py to core_test.go
      
      * Migrate TestCoreInstallCreatesInstalledJson to core_test.go and delete test_core.py
      
      * Update internal/integrationtest/core/core_test.go
      Co-authored-by: default avatarCristian Maglie <c.maglie@bug.st>
      
      * Update internal/integrationtest/core/core_test.go
      Co-authored-by: default avatarCristian Maglie <c.maglie@bug.st>
      
      * Update internal/integrationtest/core/core_test.go
      Co-authored-by: default avatarCristian Maglie <c.maglie@bug.st>
      
      * Update internal/integrationtest/core/core_test.go
      Co-authored-by: default avatarCristian Maglie <c.maglie@bug.st>
      
      * Update internal/integrationtest/core/core_test.go
      Co-authored-by: default avatarCristian Maglie <c.maglie@bug.st>
      
      * Update internal/integrationtest/core/core_test.go
      Co-authored-by: default avatarCristian Maglie <c.maglie@bug.st>
      
      * Update internal/integrationtest/core/core_test.go
      Co-authored-by: default avatarCristian Maglie <c.maglie@bug.st>
      
      * Update internal/integrationtest/core/core_test.go
      Co-authored-by: default avatarCristian Maglie <c.maglie@bug.st>
      
      * Update internal/integrationtest/core/core_test.go
      Co-authored-by: default avatarCristian Maglie <c.maglie@bug.st>
      
      * Update internal/integrationtest/core/core_test.go
      Co-authored-by: default avatarCristian Maglie <c.maglie@bug.st>
      
      * Update internal/integrationtest/core/core_test.go
      Co-authored-by: default avatarCristian Maglie <c.maglie@bug.st>
      
      * Update internal/integrationtest/core/core_test.go
      Co-authored-by: default avatarCristian Maglie <c.maglie@bug.st>
      
      * Update internal/integrationtest/core/core_test.go
      Co-authored-by: default avatarCristian Maglie <c.maglie@bug.st>
      
      * Update internal/integrationtest/core/core_test.go
      Co-authored-by: default avatarCristian Maglie <c.maglie@bug.st>
      
      * Update internal/integrationtest/core/core_test.go
      Co-authored-by: default avatarCristian Maglie <c.maglie@bug.st>
      
      * Update internal/integrationtest/core/core_test.go
      Co-authored-by: default avatarCristian Maglie <c.maglie@bug.st>
      
      * Update internal/integrationtest/core/core_test.go
      Co-authored-by: default avatarCristian Maglie <c.maglie@bug.st>
      Co-authored-by: default avatarCristian Maglie <c.maglie@bug.st>
      f8506aa3
    • MatteoPologruto's avatar
      [skip-changelog] Migrate tests from `test_compile_part_4.py` to `compile_part_4_test.go` (#1924) · 0c823ea0
      MatteoPologruto authored
      * Migrate TestCompileWithLibrary from test_compile_part_4.py to compile_part_4_test.go
      
      * Migrate TestCompileWithLibraryPriority from test_compile_part_4.py to compile_part_4_test.go
      
      * Migrate TestRecompileWithDifferentLibrary from test_compile_part_4.py to compile_part_4_test.go
      
      * Migrate TestCompileWithConflictingLibrariesInclude from test_compile_part_4.py to compile_part_4_test.go
      
      * Migrate TestCompileWithInvalidBuildOptionJson from test_compile_part_4.py to compile_part_4_test.go
      
      * Migrate TestCompileWithEsp32BundledLibraries from test_compile_part_4.py to compile_part_4_test.go
      
      * Migrate TestCompileWithEsp8266BundledLibraries from test_compile_part_4.py to compile_part_4_test.go
      
      * Migrate TestGenerateCompileCommandsJsonResilience from test_compile_part_4.py to compile_part_4_test.go
      
      * Migrate TestCompileSketchWithTppFileInclude from test_compile_part_4.py to compile_part_4_test.go
      
      * Migrate TestCompileSketchWithIppFileInclude from test_compile_part_4.py to compile_part_4_test.go
      
      * Migrate TestCompileWithoutUploadAndFqbn from test_compile_part_4.py to compile_part_4_test.go
      
      * Migrate TestCompileNonInstalledPlatformWithWrongPackagerAndArch from test_compile_part_4.py to compile_part_4_test.go
      
      * Migrate TestCompileWithKnownPlatformNotInstalled from test_compile_part_4.py to compile_part_4_test.go
      
      * Migrate TestCompileManuallyInstalledPlatformUsingBoardsLocalTxt from test_compile_part_4.py to compile_part_4_test.go
      
      * Migrate TestCompileWithRelativeBuildPath from test_compile_part_4.py to compile_part_4_test.go
      
      * Migrate TestCompileWithFakeSecureBootCore to compile_part_4_test.go and delete test_compile_part_4.py
      
      * Rearrange compile tests to share the same environment
      0c823ea0
  13. 15 Nov, 2022 1 commit
  14. 14 Nov, 2022 1 commit
  15. 08 Nov, 2022 1 commit
  16. 07 Nov, 2022 6 commits
    • Cristian Maglie's avatar
      15d01aab
    • per1234's avatar
      [skip changelog] Update all mentions of Arduino Pro IDE (#1966) · fffbeaa3
      per1234 authored
      The Arduino Pro IDE application was mentioned several places throughout the documentation. That project became Arduino
      IDE 2.x 1.5 years ago while still in the alpha development phase.
      
      All users of the project will now know it by the name "Arduino IDE 2.x", so the documentation should do the same.
      fffbeaa3
    • per1234's avatar
      [skip changelog] Set correct version for nightly build protobuf archive filename · e6e5dd60
      per1234 authored
      Different version identifiers are used for the build archive filenames depending on the type of build:
      
      Local: git-snapshot
      Tester: test-<reference>-git-snapshot
      Nightly: nightly-<date>
      Production: <tag>
      
      The use of a nightly build version format is specified by setting the `NIGHTLY` environment variable to `true` in the
      GitHub Actions workflow.
      
      An additional step was recently added to the build workflows: the generation of archives of protocol buffer files to
      publish along with the builds. The setting of the `NIGHTLY` environment variable in that step was neglected in the
      nightly build workflow, which caused the protocol buffer archive file to be named with the local build version
      identifier instead of the nightly build version identifier. This also resulted in the protocol buffer archive file not
      being added to the checksums file.
      e6e5dd60
    • per1234's avatar
      [skip changelog] Don't error protobuf archive task if distribution folder already exists · caa34276
      per1234 authored
      The `protoc:collect` task generates a ZIP archive of the project's protocol buffer files for inclusion with the
      published builds.
      
      In the case of the nightly and release build workflows, the distribution folder the archive is generated into was
      already created by the build operations in the preceeding workflow job. Previously, the task (and thus entire build
      workflow) would fail in this case when attempting to create the folder that already exists:
      
      mkdir: cannot create directory ‘../dist’: File exists
      
      In addition to the obvious purpose, the `--parents` flag of the `mkdir` command also has the following additional
      effect:
      
      > no error if existing
      
      So adding this flag to the command resolves the spurious failure. It will create the folder when necessary, but simply
      carry on with the rest of the task when it does exist.
      caa34276
    • per1234's avatar
      [skip changelog] Add missing checkout steps to build publishing workflow jobs · e4eb58b7
      per1234 authored
      GitHub Actions workflows are used to automatically generate nightly builds and production releases of the project.
      
      A workflow job is dedicated to the publishing of the build. Previously, this job only needed to download the workflow
      artifact containing the build filess created by the previous job, generate a checksum file, and upload the builds to
      Arduino's server. None of these operations had any need for the contents of the repository, so a checkout step was not
      added to the job.
      
      An additional operation was recently added to the publishing job: the generation of archives containing the protocol
      buffer files to publish along with the builds. This new operation does require the contents of the repository. A
      checkout step was not added to the job at that time, which caused the protocol buffer generation step and the publishing
      job to fail:
      
      task: No Taskfile found in "/home/runner/work/arduino-cli/arduino-cli". Use "task --init" to create a new one
      
      The problem is resolved by adding a step that uses the `actions/checkout` GitHub Actions action to checkout the Arduino
      CLI repository into the runner machine to make it available for use in that job.
      e4eb58b7
    • MatteoPologruto's avatar
      [skip-changelog] Migrate tests from `test_sketch.py` to `sketch_test.go` (#1921) · 4bb8314f
      MatteoPologruto authored
      * Migrate TestSketchNew from test_sketch.py to sketch_test.go
      
      * Migrate TestSketchArchiveNoArgs from test_sketch.py to sketch_test.go
      
      * Migrate TestSketchArchiveDotArg from test_sketch.py to sketch_test.go
      
      * Migrate TestSketchDotArgRelativeZipPath from test_sketch.py to sketch_test.go
      
      * Migrate TestSketchDotArgAbsoluteZipPath from test_sketch.py to sketch_test.go
      
      * Migrate TestSketchDotArgRelativeZipPathAndNameWithoutExtension from test_sketch.py to sketch_test.go
      
      * Migrate TestSketchDotArgAbsoluteZipPathAndNameWithoutExtension from test_sketch.py to sketch_test.go
      
      * Migrate TestSketchDotArgCustomZipPathAndNameWithExtension from test_sketch.py to sketch_test.go
      
      * Migrate TestSketchArchiveRelativeSketchPath from test_sketch.py to sketch_test.go
      
      * Migrate TestSketchArchiveAbsoluteSketchPath from test_sketch.py to sketch_test.go
      
      * Migrate TestSketchArchiveRelativeSketchPathWithRelativeZipPath from test_sketch.py to sketch_test.go
      
      * Migrate TestSketchArchiveRelativeSketchPathWithAbsoluteZipPath from test_sketch.py to sketch_test.go
      
      * Migrate TestSketchArchiveRelativeSketchPathWithRelativeZipPathAndNameWithoutExtension from test_sketch.py to sketch_test.go
      
      * Migrate TestSketchArchiveRelativeSketchPathWithRelativeZipPathAndNameWithExtension from test_sketch.py to sketch_test.go
      
      * Migrate TestSketchArchiveRelativeSketchPathWithAbsoluteZipPathAndNameWithoutExtension from test_sketch.py to sketch_test.go
      
      * Migrate TestSketchArchiveRelativeSketchPathWithAbsoluteZipPathAndNameWithExtension from test_sketch.py to sketch_test.go
      
      * Migrate TestSketchArchiveAbsoluteSketchPathWithRelativeZipPath from test_sketch.py to sketch_test.go
      
      * Migrate TestSketchArchiveAbsoluteSketchPathWithAbsoluteZipPath from test_sketch.py to sketch_test.go
      
      * Migrate TestSketchArchiveAbsoluteSketchPathWithRelativeZipPathAndNameWithoutExtension from test_sketch.py to sketch_test.go
      
      * Migrate TestSketchArchiveAbsoluteSketchPathWithRelativeZipPathAndNameWithExtension from test_sketch.py to sketch_test.go
      
      * Migrate TestSketchArchiveAbsoluteSketchPathWithAbsoluteZipPathAndNameWithoutExtension from test_sketch.py to sketch_test.go
      
      * Migrate TestSketchArchiveAbsoluteSketchPathWithAbsoluteZipPathAndNameWithExtension from test_sketch.py to sketch_test.go
      
      * Migrate TestSketchArchiveNoArgsWithIncludeBuildDirFlag from test_sketch.py to sketch_test.go
      
      * Migrate TestSketchArchiveDotArgWithIncludeBuildDirFlag from test_sketch.py to sketch_test.go
      
      * Migrate TestSketchArchiveDotArgRelativeZipPathWithIncludeBuildDirFlag from test_sketch.py to sketch_test.go
      
      * Migrate TestSketchArchiveDotArgAbsoluteZipPathWithIncludeBuildDirFlag from test_sketch.py to sketch_test.go
      
      * Migrate TestSketchArchiveDotArgRelativeZipPathAndNameWithoutExtensionWithIncludeBuildDirFlag from test_sketch.py to sketch_test.go
      
      * Migrate TestSketchArchiveDotArgAbsoluteZipPathAndNameWithoutExtensionWithIncludeBuildDirFlag from test_sketch.py to sketch_test.go
      
      * Migrate TestSketchArchiveDotArgCustomZipPathAndNameWithExtensionWithIncludeBuildDirFlag from test_sketch.py to sketch_test.go
      
      * Migrate TestSketchArchiveRelativeSketchPathWithIncludeBuildDirFlag from test_sketch.py to sketch_test.go
      
      * Migrate TestSketchArchiveAbsoluteSketchPathWithIncludeBuildDirFlag from test_sketch.py to sketch_test.go
      
      * Migrate TestSketchArchiveRelativeSketchPathWithRelativeZipPathWithIncludeBuildDirFlag from test_sketch.py to sketch_test.go
      
      * Migrate TestSketchArchiveRelativeSketchPathWithAbsoluteZipPathWithIncludeBuildDirFlag from test_sketch.py to sketch_test.go
      
      * Migrate TestSketchArchiveRelativeSketchPathWithRelativeZipPathAndNameWithoutExtensionWithIncludeBuildDirFlag from test_sketch.py to sketch_test.go
      
      * Migrate TestSketchArchiveRelativeSketchPathWithRelativeZipPathAndNameWithExtensionWithIncludeBuildDirFlag from test_sketch.py to sketch_test.go
      
      * Migrate TestSketchArchiveRelativeSketchPathWithAbsoluteZipPathAndNameWithoutExtensionWithIncludeBuildDirFlag from test_sketch.py to sketch_test.go
      
      * Migrate TestSketchArchiveRelativeSketchPathWithAbsoluteZipPathAndNameWithExtensionWithIncludeBuildDirFlag from test_sketch.py to sketch_test.go
      
      * Migrate TestSketchArchiveAbsoluteSketchPathWithRelativeZipPathWithIncludeBuildDirFlag from test_sketch.py to sketch_test.go
      
      * Migrate TestSketchArchiveAbsoluteSketchPathWithAbsoluteZipPathWithIncludeBuildDirFlag from test_sketch.py to sketch_test.go
      
      * Migrate TestSketchArchiveAbsoluteSketchPathWithRelativeZipPathAndNameWithoutExtensionWithIncludeBuildDirFlag from test_sketch.py to sketch_test.go
      
      * Migrate TestSketchArchiveAbsoluteSketchPathWithRelativeZipPathAndNameWithExtensionWithIncludeBuildDirFlag from test_sketch.py to sketch_test.go
      
      * Migrate TestSketchArchiveAbsoluteSketchPathWithAbsoluteZipPathAndNameWithoutExtensionWithIncludeBuildDirFlag from test_sketch.py to sketch_test.go
      
      * Migrate TestSketchArchiveAbsoluteSketchPathWithAbsoluteZipPathAndNameWithExtensionWithIncludeBuildDirFlag from test_sketch.py to sketch_test.go
      
      * Migrate TestSketchArchiveWithPdeMainFile from test_sketch.py to sketch_test.go
      
      * Migrate TestSketchArchiveWithMultipleMainFiles from test_sketch.py to sketch_test.go
      
      * Migrate TestSketchArchiveCaseMismatchFails to sketch_test.go and delete test_sketch.py
      
      * Rearrange tests using subtests
      4bb8314f
  17. 04 Nov, 2022 2 commits
    • MatteoPologruto's avatar
      [skip-changelog] Run integration tests concurrently (#1953) · e53d2f5c
      MatteoPologruto authored
      * Run integration tests concurrently
      
      This enhancement reduces the amount of time needed to execute integration tests, since each test package no longer has to wait for the previous ones to be completed. In order to do this, a regex is used
      to match each test file. It is also specified the path to the directory that contains the file.
      
      * Merge all test files that share a package into one
      
      Having different test files that shared the same package was inefficient, because the whole package test was run one time for each file. This enhancement avoids repeating the same tests more than once.
      e53d2f5c
    • Cristian Maglie's avatar
      Added libraries `.development` flag detection (#1962) · ec3e71ca
      Cristian Maglie authored
      * Added in_development flag in Library gRPC message
      
      * Small cosmetic fix in docs
      
      * Implemented 'in_development' flag in libraries loader
      
      * Added unit-test
      ec3e71ca
  18. 31 Oct, 2022 1 commit
    • per1234's avatar
      [skip changelog] Document filter setting capability of Library/Boards Manager links (#1958) · 4dcf0da6
      per1234 authored
      Arduino IDE allows opening searches in Library Manager and Boards Manager by clicking a link with a special format in a
      comment of the sketch.
      
      During the initial implementation in Arduino IDE 1.x, support for setting the "Type" filter via the URI in addition to
      specifying search keywords was attempted and claimed to work, but never did work. For this reason, it was not previously
      mentioned in the sketch specification.
      
      During the reimplementation of the Library/Boards Manager link feature for Arduino IDE 2.x, the "Type" filter setting
      capability was finally truly implemented, and expanded to also support setting the "Topic" filter in Library Manager via
      the same mechanism.
      
      Now that support for the filter setting capability has been released in Arduino IDE 2.0.1, it should be documented in
      the sketch specification.
      4dcf0da6
  19. 28 Oct, 2022 2 commits
  20. 25 Oct, 2022 1 commit
    • Silvano Cerza's avatar
      Add task to collect proto files and add steps to release them with tester,... · 13f22553
      Silvano Cerza authored
      Add task to collect proto files and add steps to release them with tester, nightly and stable builds (#1931)
      
      * Add task to zip all .proto files for release
      
      * Add proto files in nightly released files
      
      * Add proto files in tester released files
      
      * Add proto files in stable released files
      
      * Fix tester build workflow
      
      * Fix checksums.txt creation in tester and stable build releases
      
      * Change build job of tester build workflow to be generic
      
      * Fix Publish Tester Build job dependencies
      13f22553