Skip to content

Update CI

Update CI #21

Workflow file for this run

name: CI
on:
push:
pull_request:
jobs:
platformio-edgent:
name: PIO Edgent - ${{ matrix.example }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- example: examples/Blynk.Edgent/Edgent_ESP32
extra_args: --board=esp32dev --project-option='build_flags=-DBOARD_LED_PIN_WS2812 -DUSE_TICKER'
- example: examples/Blynk.Edgent/Edgent_ESP32
extra_args:
--board=esp32dev
--project-option='build_flags=-DBOARD_LED_PIN_WS2812 -DUSE_TICKER'
--project-option='platform=https://github.com/pioarduino/platform-espressif32/releases/download/55.03.37/platform-espressif32.zip'
- example: examples/Blynk.Edgent/Edgent_ESP8266
extra_args: --board=nodemcuv2 --project-option='build_flags=-DBOARD_LED_PIN_WS2812 -DUSE_TICKER'
- example: examples/Blynk.Edgent/Edgent_NCP
extra_args: --board=uno_r4_wifi
- example: examples/Blynk.Edgent/Edgent_Wio_Terminal
extra_args: --board=seeed_wio_terminal --project-option='lib_deps=Seeed Arduino rpcWiFi, ArduinoHttpClient'
steps:
- uses: actions/checkout@v6
- uses: actions/cache@v4
with:
path: |
~/.cache/pip
~/.platformio/.cache
key: ${{ runner.os }}-pio
- uses: actions/setup-python@v6
with:
python-version: "3.14"
- name: Install PlatformIO Core
run: pip install --upgrade platformio
- name: Install PlatformIO libraries
run: |
pio pkg install -g -l "adafruit/Adafruit NeoPixel"
pio pkg install -g -l "adafruit/Adafruit Unified Sensor"
pio pkg install -g -l "jandrassy/ArduinoOTA"
- name: Build PlatformIO example
run: pio ci --lib=. ${{ matrix.extra_args }}
env:
PLATFORMIO_CI_SRC: ${{ matrix.example }}
PLATFORMIO_BUILD_FLAGS:
-DBLYNK_TEMPLATE_ID="\"TMPLxxxx\""
-DBLYNK_TEMPLATE_NAME="\"MyDevice\""
platformio-esp:
name: PIO ESP - ${{ matrix.example }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- example: examples/Boards_ArduinoClient/ESP8266_ESP32
extra_args: --board=esp32dev
- example: examples/Boards_ArduinoClient/ESP8266_ESP32
extra_args: --board=nodemcuv2
- example: examples/Boards_WiFi/ESP32_WiFi
extra_args: --board=esp32dev
- example: examples/Boards_WiFi/ESP32_WiFi_SSL
extra_args: --board=esp32dev
- example: examples/Boards_WiFi/ESP32_WiFi
extra_args: --board=esp32dev --project-option='platform=https://github.com/pioarduino/platform-espressif32/releases/download/55.03.37/platform-espressif32.zip'
- example: examples/Boards_WiFi/ESP32_WiFi_SSL
extra_args: --board=esp32dev --project-option='platform=https://github.com/pioarduino/platform-espressif32/releases/download/55.03.37/platform-espressif32.zip'
- example: examples/Boards_WiFi/ESP8266_Shield
extra_args: --board=megaatmega2560
- example: examples/Boards_WiFi/ESP8266_Standalone
extra_args: --board=nodemcuv2
- example: examples/Boards_WiFi/ESP8266_Standalone_Manual_IP
extra_args: --board=nodemcuv2
- example: examples/Boards_WiFi/ESP8266_Standalone_SSL
extra_args: --board=nodemcuv2
- example: examples/Boards_With_HTTP_API/ESP8266_ESP32
extra_args: --board=esp32dev
- example: examples/Boards_With_HTTP_API/ESP8266_ESP32
extra_args: --board=nodemcuv2
- example: examples/Boards_WiFi/Sparkfun_Blynk_Board
extra_args: --board=nodemcuv2
- example: examples/More/HandleDisconnect
extra_args: --board=nodemcuv2
steps:
- uses: actions/checkout@v6
- uses: actions/cache@v4
with:
path: |
~/.cache/pip
~/.platformio/.cache
key: ${{ runner.os }}-pio
- uses: actions/setup-python@v6
with:
python-version: "3.14"
- name: Install PlatformIO Core
run: pip install --upgrade platformio
- name: Install PlatformIO libraries
run: |
pio pkg install -g -l "https://github.com/vshymanskyy/BlynkESP8266.git"
- name: Build PlatformIO example
run: pio ci --lib=. ${{ matrix.extra_args }}
env:
PLATFORMIO_CI_SRC: ${{ matrix.example }}
PLATFORMIO_BUILD_FLAGS:
-DBLYNK_TEMPLATE_ID="\"TMPLxxxx\""
-DBLYNK_TEMPLATE_NAME="\"MyDevice\""
-DBLYNK_AUTH_TOKEN="\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\""
platformio-wifi:
name: PIO WiFi - ${{ matrix.example }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- example: examples/Boards_WiFi/Adafruit_Feather_M0_WiFi
extra_args: --board=adafruit_feather_m0 --project-option='lib_deps=SPI, WiFi101'
- example: examples/Boards_WiFi/Arduino_MKR1000
extra_args: --board=mkr1000USB --project-option='lib_deps=WiFi101'
- example: examples/Boards_WiFi/Arduino_MKR1010
extra_args: --board=mkrwifi1010 --project-option='lib_deps=WiFiNINA'
- example: examples/Boards_WiFi/Arduino_WiFi_Shield
extra_args: --board=uno
- example: examples/Boards_WiFi/Arduino_WiFi_Shield_101
extra_args: --board=uno --project-option='lib_deps=WiFi101'
- example: examples/Boards_WiFi/Arduino_Yun
extra_args: --board=yun --project-option='lib_deps=Bridge'
- example: examples/Boards_WiFi/Arduino_org_UNO_WiFi
extra_args: --board=uno --project-option='build_flags=-DESP_CH_SPI' --project-option='lib_deps=WiFi Link'
#- example: examples/Boards_WiFi/Fishino
# extra_args: --board=uno
- example: examples/Boards_WiFi/RN_XV_WiFly
extra_args: --board=leonardo
#- example: examples/Boards_WiFi/TinyDuino_WiFi
# extra_args: --board=tinyduino --project-option='lib_deps=Adafruit CC3000 Library'
- example: examples/Boards_WiFi/WildFire_V3
extra_args: --board=wildfirev3 --project-option='lib_deps=WildFire-CC3000'
#- example: examples/Boards_WiFi/Wio_Terminal
# extra_args: --board=seeed_wio_terminal --project-option='lib_deps=SPI, Seeed Arduino rpcWiFi'
#- example: examples/Boards_WiFi/WizFi250
# extra_args: --board=uno --project-option='lib_deps=WizFi250'
- example: examples/Boards_WiFi/WizFi310
extra_args: --board=uno --project-option='lib_deps=WizFi310'
steps: &platformio_steps
- uses: actions/checkout@v6
- uses: actions/cache@v4
with:
path: |
~/.cache/pip
~/.platformio/.cache
key: ${{ runner.os }}-pio
- uses: actions/setup-python@v6
with:
python-version: "3.14"
- name: Install PlatformIO Core
run: pip install --upgrade platformio
- name: Install PlatformIO libraries
run: |
pio pkg install -g -l "adafruit/Adafruit NeoPixel"
pio pkg install -g -l "adafruit/Adafruit Unified Sensor"
pio pkg install -g -l "ntruchsess/UIPEthernet"
pio pkg install -g -l "jandrassy/EthernetENC"
pio pkg install -g -l "wickeddevice/WildFireCore"
pio pkg install -g -l "harlequin-tech/WiFlyHQ"
pio pkg install -g -l "paulstoffregen/Time"
pio pkg install -g -l "adafruit/DHT sensor library"
pio pkg install -g -l "sandeepmistry/BLEPeripheral"
pio pkg install -g -l "adafruit/Adafruit BluefruitLE nRF51"
pio pkg install -g -l "cmaglie/FlashStorage"
pio pkg install -g -l "michael71/Timer5"
pio pkg install -g -l "vshymanskyy/TinyGSM"
pio pkg install -g -l "arduino-libraries/WiFi"
pio pkg install -g -l "arduino-libraries/GSM"
pio pkg install -g -l "arduino-libraries/ArduinoBearSSL"
pio pkg install -g -l "arduino-libraries/ArduinoECCX08"
pio pkg install -g -l "arduino-libraries/Ethernet"
pio pkg install -g -l "arduino-libraries/Servo"
pio pkg install -g -l "sumotoy/simplyEncoder"
- name: Build PlatformIO example
run: pio ci --lib=. ${{ matrix.extra_args }}
env:
PLATFORMIO_CI_SRC: ${{ matrix.example }}
PLATFORMIO_BUILD_FLAGS:
-DBLYNK_TEMPLATE_ID="\"TMPLxxxx\""
-DBLYNK_TEMPLATE_NAME="\"MyDevice\""
-DBLYNK_AUTH_TOKEN="\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\""
platformio-ethernet:
name: PIO Ethernet - ${{ matrix.example }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- example: examples/Boards_ArduinoClient/Arduino_Ethernet
extra_args: --board=uno
- example: examples/Boards_ArduinoClient/Arduino_MKR1400_GSM_ETH
extra_args: --board=mkrgsm1400 --project-option='lib_deps=MKRGSM'
- example: examples/Boards_ArduinoClient/Arduino_MKR1400_GSM_ETH_SSL
extra_args: --board=mkrgsm1400 --project-option='lib_deps=MKRGSM'
- example: examples/Boards_Ethernet/Arduino_Ethernet
extra_args: --board=uno
- example: examples/Boards_Ethernet/Arduino_Ethernet_Manual
extra_args: --board=uno
- example: examples/Boards_Ethernet/Arduino_MKR_ETH
extra_args: --board=mkrzero
- example: examples/Boards_Ethernet/Arduino_MKR_ETH_SSL
extra_args: --board=mkrzero
- example: examples/Boards_Ethernet/ENC28J60
extra_args: --board=nanoatmega328
steps: *platformio_steps
platformio-gsm:
name: PIO GSM - ${{ matrix.example }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- example: examples/Boards_GSM/Arduino_MKRGSM
extra_args: --board=mkrgsm1400 --project-option='lib_deps=MKRGSM'
- example: examples/Boards_GSM/Arduino_MKRNB
extra_args: --board=mkrnb1500 --project-option='lib_deps=MKRNB'
- example: examples/Boards_GSM/TinyGSM_MKR1400
extra_args: --board=mkrgsm1400
- example: examples/Boards_GSM/TinyGSM_SIM800_SIM900
extra_args: --board=leonardo
steps: *platformio_steps
platformio-http:
name: PIO HTTP API - ${{ matrix.example }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- example: examples/Boards_With_HTTP_API/Arduino_Ethernet
extra_args: --board=uno
- example: examples/Boards_With_HTTP_API/Arduino_GSM
extra_args: --board=uno
- example: examples/Boards_With_HTTP_API/SIM800_SIM900
extra_args: --board=leonardo
steps: *platformio_steps
platformio-core:
name: PIO Core - ${{ matrix.example }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- example: examples/GettingStarted/BlynkBlink
extra_args: --board=uno
- example: examples/GettingStarted/GetData
extra_args: --board=uno
- example: examples/GettingStarted/PushData
extra_args: --board=uno
- example: examples/GettingStarted/Servo
extra_args: --board=uno
- example: examples/GettingStarted/VirtualPinRead
extra_args: --board=uno
- example: examples/GettingStarted/VirtualPinWrite
extra_args: --board=uno
- example: examples/More/DHT11
extra_args: --board=uno --project-option='lib_deps=Adafruit Unified Sensor'
- example: examples/More/FormatString
extra_args: --board=uno
- example: examples/More/NeoPixel
extra_args: --board=uno
- example: examples/More/PrintAllVirtual
extra_args: --board=uno
- example: examples/More/RTC
extra_args: --board=uno
- example: examples/More/RTC_Advanced
extra_args: --board=uno
- example: examples/More/ServerAsDataStorage/ServerAsDataStorage_MultiValue
extra_args: --board=uno
- example: examples/More/ServerAsDataStorage/ServerAsDataStorage_SingleValue
extra_args: --board=uno
- example: examples/More/SetProperty/SetProperty_MultiValue
extra_args: --board=uno
- example: examples/More/SetProperty/SetProperty_SingleValue
extra_args: --board=uno
- example: examples/More/Stroboscope
extra_args: --board=uno
- example: examples/More/Sync/ButtonInterrupt
extra_args: --board=uno
- example: examples/More/Sync/ButtonPoll
extra_args: --board=uno
- example: examples/More/Sync/HardwareSyncStateFromApp
extra_args: --board=uno
- example: examples/More/Sync/SyncPhysicalButton
extra_args: --board=uno
- example: examples/More/TimeAndLocation
extra_args: --board=uno
steps: *platformio_steps
platformio-widgets:
name: PIO Widgets - ${{ matrix.example }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- example: examples/Widgets/Joystick
extra_args: --board=uno
- example: examples/Widgets/LCD/LCD_AdvancedMode
extra_args: --board=uno
- example: examples/Widgets/LCD/LCD_SimpleMode
extra_args: --board=uno
- example: examples/Widgets/LED/LED_Blink
extra_args: --board=uno
- example: examples/Widgets/LED/LED_Color
extra_args: --board=uno
- example: examples/Widgets/LED/LED_Fade
extra_args: --board=uno
- example: examples/Widgets/LED/LED_StatusOfButton
extra_args: --board=uno
- example: examples/Widgets/Map
extra_args: --board=uno
- example: examples/Widgets/Menu
extra_args: --board=uno
- example: examples/Widgets/MusicPlayer
extra_args: --board=uno
- example: examples/Widgets/Terminal
extra_args: --board=uno
- example: examples/Widgets/TimeInput/AdvancedTimeInput
extra_args: --board=uno
- example: examples/Widgets/TimeInput/SimpleTimeInput
extra_args: --board=uno
- example: examples/Widgets/TimeInput/UpdateTimeInputState
extra_args: --board=uno
steps: *platformio_steps
linux:
name: Linux build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: Build Linux target
run: make -C linux
env:
CXXFLAGS:
-DBLYNK_TEMPLATE_ID="\"TMPLxxxx\""
-DBLYNK_TEMPLATE_NAME="\"MyDevice\""