Перейти к содержимому

Velxio CI

Velxio CI запускает ваш проект на нашем симуляторе вне браузера: в вашем терминале, в задаче GitHub Actions, в любом CI, который умеет запускать бинарный файл. Плата загружает вашу реальную скомпилированную прошивку, вывод последовательного порта транслируется обратно, а команда завершается с ненулевым кодом, когда что-то из ожидаемого не произошло.

Окно терминала
curl -fsSL https://velxio.dev/ci/install.sh | sh
velxio-cli login # approve in the browser, once
cd firmware/blink
velxio-cli run --expect-text "Hello, world!" --timeout 10000 .
velxio-cli 0.2.1 · plan pro · 1998.3 of 2000 min left (resets 2026-10-01)
project blink (esp32-s3, 4 parts) · firmware build/blink.bin (ESP32 image, 912 KB)
run r_9f3c2a1b7e4d queued · budget 10.0 s simulated
Hello, world!
ok wait-serial "Hello, world!" at 0.412 s
PASS in 0.41 s simulated (3.2 s wall) · billed 1 s · exit 0
  • Поймать регрессию прошивки раньше, чем это сделает железо. Тест, который загружает бинарный файл и ждёт строку из последовательного порта, это одна команда; тест, который нажимает кнопку, задаёт показания датчика и проверяет состояние вывода, это короткий файл YAML.
  • Тестировать то, что нельзя держать на столе. Каждая плата, которую симулирует Velxio, доступна каждой задаче, параллельно, без лаборатории и без прошивки.
  • Сохранить свой инструментарий. Компилируйте с помощью arduino-cli, ESP-IDF, PlatformIO или cargo на предыдущем шаге; Velxio запускает только то, что получилось.

CI тарифицируется в симулированных минутах: это время, которое, по мнению гостевой прошивки, прошло, а не то, сколько времени заняли наши серверы. 10-секундный тест стоит 10 секунд на любой плате, независимо от того, работал эмулятор быстрее или медленнее реального времени.

План Минут CI в месяц Одновременных задач Максимальный запуск
Free нет нет нет
Maker 200 1 5 мин
Pro 2 000 2 10 мин

Запуск, который так и не начался (неизвестная плата, прошивка, не соответствующая плате, отклонённый сценарий), ничего не стоит. Минуты сбрасываются первого числа месяца по UTC. Ваш баланс, история запусков и токены находятся на странице /account/ci:

Страница аккаунта CI: израсходованные за месяц минуты, существующие токены с указанием времени последнего использования каждого и таблица недавних запусков с их статусом, симулированными и оплаченными секундами и кодом выхода

Два файла в каталоге, на который вы указываете CLI:

  • velxio.toml: плата и прошивка. Файл wokwi.toml от Wokwi тоже подойдёт.
  • diagram.json: схема. Формат Wokwi, поэтому существующая схема работает без изменений.

Добавьте scenario.yaml, когда проверки последовательного порта недостаточно: он умеет ждать текст, отправлять текст, ждать по симулированным часам, проверять состояние вывода и задавать управляющее воздействие на компонент. См. Сценарии.