Может ли arduino-cli проверять скетчи?

testing

Я пытаюсь выполнить простое модульное тестирование с помощью arduino-cli в .gitlab- ci файл вот так

variables:
  DOCKER_HOST: tcp://docker:2375

image: "docker:latest"

services:
  - docker:dind


before_script:
  - docker pull "arduino/arduino-cli:latest"
  - arduinocli(){ docker run arduino/arduino-cli:latest "$@";}

search:
  script:
    - arduinocli lib search hi

но вместо arduinocli lib search hi в конце я хочу проверить свой скетч. Есть ли способ сделать это с помощью arduino-cli?

, 👍1

Обсуждение

В Arduino IDE проверка просто "скомпилирована" без загрузки, @KIIV

https://github.com/arduino/arduino-cli#step-5-compile-the-sketch, как сказал KIIV., @Gerben


2 ответа


Лучший ответ:

2

На языке Arduino слово «Проверить» используется (ошибочно) для обозначения «Скомпилировать код в двоичный или HEX-файл, но не загружать его на плату».

Чтобы скомпилировать (и, таким образом, «проверить») код, просто передайте команду compile в arduino-cli с платой, для которой вы хотите скомпилировать, и скетчем, который вы хотите для компиляции.

,

1

Комментарий @Majenko верен на 100 %. Вот мой обновленный .gitlab-ci.yml для моей библиотеки Arduino.

image: ubuntu:latest

before_script:
  - apt-get update -yq
  - apt-get install -yq ca-certificates
  - apt-get update && apt-get install -y --no-install-recommends bzip2 curl unzip
  - apt-get upgrade -yq
  - curl -L -o arduino-cli.tar.bz2 https://github.com/arduino/arduino-cli/releases/download/0.3.3-alpha.preview/arduino-cli-0.3.3-alpha.preview -linux64.tar.bz2
  - tar xjf arduino-cli.tar.bz2
  - mv arduino-cli-0.3.3-alpha.preview-linux64 /usr/bin/ino
  - export APPDIR=$(ino config dump | grep --only-matching --regexp=/.*/Arduino)"/libraries/DC_motors"
  - mkdir --parents $APPDIR
  - mv ./* $APPDIR

test:
  script:
    - echo 'run a script'

compile:
  script:
    - ino core update-index
    - ino core install arduino:avr
    - ino core list
    - ino lib install "Adafruit Motor Shield V2 Library"
    - ino lib search Regexp
    - ino lib install Regexp
    - ino lib install AccelStepper
    - ino compile --fqbn arduino:avr:uno $APPDIR/examples/API

На случай, если библиотека переместится, вот вывод дерева DC_motors

├── examples
│   └── API
│       └── API.ino
├── extras
│   ├── test
│   │   └── Makefile
│   └── testPython.py
├── .gitignore
├── .gitlab-ci.yml
├── keywords.txt
├── library.properties
├── README.md
└── src
    ├── MSv2.cpp
    ├── MSv2.h
    ├── MSv2Motors.cpp
    ├── MSv2Motors.h
    ├── MSv2Steppers.cpp
    ├── MSv2Steppers.h
    └── utility
        ├── MSv2Common.cpp
        └── MSv2Common.h
,