Files
L'électron rare 0316de3382
CI / sanity (push) Successful in 17s
CI / build (push) Successful in 2m42s
feat(build): add PlatformIO support
Add platformio.ini with three envs matching targets.csv:
arduino-esp32 2.0.2 (default), 2.0.7 and 1.0.6 (legacy).
Dependencies pinned: ML_SynthTools v1.1.0 (zip, avoids git
client requirement), Adafruit SSD1306/GFX/BusIO as listed in
doc/board_info.md. Keeps the .ino sketch layout so the project
still builds with the Arduino IDE.

Disable OLED_OSC_DISP_ENABLED to match upstream: the functions
ScopeOled_Process/ScopeOled_AddSamples are not implemented in
any released ML_SynthTools, so the flag cannot link. The scope
display will be handled by an external ESP32-BOX-3 instead.

Add PlatformIO build job to CI and ignore .pio artifacts.
Verified: pio run -e esp32_audio_kit_es8388 -> SUCCESS
(flash 54.3 percent, RAM 12.5 percent).
2026-08-04 14:19:14 +02:00

45 lines
1021 B
YAML

name: CI
on:
push:
branches: [main, master]
pull_request:
permissions:
contents: read
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
sanity:
runs-on: ubuntu-latest
timeout-minutes: 20
steps:
- uses: actions/checkout@v4
- name: Sanity
run: |
test -f README.md || test -f Readme.md || test -f readme.md || test -f README
echo "Repository sanity OK"
build:
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Cache PlatformIO
uses: actions/cache@v4
with:
path: |
~/.platformio
.pio
key: pio-${{ runner.os }}-${{ hashFiles('platformio.ini') }}
- name: Install PlatformIO
run: pip install platformio
- name: Build (arduino-esp32 2.0.2)
run: pio run -e esp32_audio_kit_es8388