1

I'm trying to do some simple unit testing with arduino-cli in a .gitlab-ci file like so

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

but instead of arduinocli lib search hi at the end, I want to verify my sketch. Is there a way to do this with arduino-cli?

asked Jul 22, 2019 at 6:47
2

2 Answers 2

2

In Arduino parlance the word "Verify" is used (erroneously) to mean "Compile the code into a binary or HEX file, but don't upload it to the board".

To compile (and thus "verify") the code just pass the compile command to arduino-cli with the board you want to compile for and the sketch you want to compile.

answered Jul 22, 2019 at 10:11
1

@Majenko's is 100 % correct. Here's my updated .gitlab-ci.yml for my arduino library.

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

In case that library moves, here's the tree output of 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
answered Jul 28, 2019 at 17:45

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.