forked from airgradienthq/arduino
65 lines
2.3 KiB
YAML
65 lines
2.3 KiB
YAML
on: [push, pull_request]
|
|
jobs:
|
|
compile:
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
example:
|
|
- "BASIC"
|
|
- "DiyProIndoorV4_2"
|
|
- "DiyProIndoorV3_3"
|
|
- "TestCO2"
|
|
- "TestPM"
|
|
- "TestSht"
|
|
- "OneOpenAir"
|
|
fqbn:
|
|
- "esp8266:esp8266:d1_mini"
|
|
- "esp32:esp32:esp32c3"
|
|
include:
|
|
- fqbn: "esp8266:esp8266:d1_mini"
|
|
core: "esp8266:esp8266"
|
|
core_version: "3.1.2"
|
|
core_url: "https://arduino.esp8266.com/stable/package_esp8266com_index.json"
|
|
- fqbn: "esp32:esp32:esp32c3"
|
|
core: "esp32:esp32"
|
|
core_version: "2.0.17"
|
|
core_url: "https://espressif.github.io/arduino-esp32/package_esp32_index.json"
|
|
board_options: "JTAGAdapter=default,CDCOnBoot=cdc,PartitionScheme=min_spiffs,CPUFreq=160,FlashMode=qio,FlashFreq=80,FlashSize=4M,UploadSpeed=921600,DebugLevel=verbose,EraseFlash=none"
|
|
exclude:
|
|
- example: "BASIC"
|
|
fqbn: "esp32:esp32:esp32c3"
|
|
- example: "DiyProIndoorV4_2"
|
|
fqbn: "esp32:esp32:esp32c3"
|
|
- example: "DiyProIndoorV3_3"
|
|
fqbn: "esp32:esp32:esp32c3"
|
|
- example: "OneOpenAir"
|
|
fqbn: "esp8266:esp8266:d1_mini"
|
|
runs-on: ubuntu-24.04
|
|
steps:
|
|
- uses: actions/checkout@v4.2.2
|
|
with:
|
|
fetch-depth: 0
|
|
submodules: 'true'
|
|
- uses: arduino/compile-sketches@v1.1.2
|
|
with:
|
|
fqbn: ${{ matrix.fqbn }}
|
|
sketch-paths: |
|
|
examples/${{ matrix.example }}
|
|
libraries: |
|
|
- source-path: ./
|
|
cli-compile-flags: |
|
|
- --warnings
|
|
- none
|
|
- --board-options
|
|
- "${{ matrix.board_options }}"
|
|
platforms: |
|
|
- name: ${{ matrix.core }}
|
|
version: ${{ matrix.core_version}}
|
|
source-url: ${{ matrix.core_url }}
|
|
enable-deltas-report: true
|
|
|
|
# TODO: at this point it would be a good idea to run some smoke tests on
|
|
# the resulting image (e.g. that it boots successfully and sends metrics)
|
|
# but that would either require a high fidelity device emulator, or a
|
|
# "hardware lab" runner that is directly connected to a relevant device.
|