Skip to content

[GaugeBQ27220]Update examples #3

[GaugeBQ27220]Update examples

[GaugeBQ27220]Update examples #3

Workflow file for this run

name: Build with PlatformIO
on:
workflow_dispatch:
pull_request:
push:
paths:
- "src/**"
- "examples/**"
- ".github/workflows/platformio.yml"
- "platformio.ini"
jobs:
platformio-build:
runs-on: ubuntu-latest
strategy:
matrix:
example: ${{ fromJSON(needs.find-examples.outputs.examples) }}
needs: [find-examples]
steps:
- uses: actions/checkout@v3
- uses: actions/cache@v3
with:
path: |
~/.cache/pip
~/.platformio/.cache
key: ${{ runner.os }}-pio
- uses: actions/setup-python@v4
with:
python-version: "3.9"
- name: Install PlatformIO Core
run: pip install --upgrade platformio
- name: Install MadgwickAHRS library
run: pio pkg install --library "arduino-libraries/Madgwick@^1.2.0" -g
- name: Install esp8266-oled-ssd1306 library
run: pio pkg install --library "thingpulse/ESP8266 and ESP32 OLED driver for SSD1306 displays @ ^4.4.0" -g
- name: Install Commander library
run: pio pkg install --library "creativerobotics/Commander @ ^4.3.0" -g
- name: Install SdFat
run: pio pkg install --library "adafruit/SdFat - Adafruit Fork @ ^2.2.3" -g
- name: Run PlatformIO
run: pio ci --lib="." --board=esp32-s3-devkitm-1 --board=nrf52840_dk_adafruit
env:
PLATFORMIO_CI_SRC: ${{ matrix.example }}
find-examples:
runs-on: ubuntu-latest
outputs:
examples: ${{ steps.find.outputs.examples }}
steps:
- uses: actions/checkout@v3
- name: Create Python script
run: |
cat << 'EOF' > find_examples.py
import os
import json
examples_dir = 'examples'
ino_folders = []
for root, dirs, files in os.walk(examples_dir):
for file in files:
if file.endswith('.ino'):
ino_folders.append(root)
break
unique_folders = sorted(set(ino_folders))
print(json.dumps(unique_folders))
EOF
- name: Run Python script
id: find
run: |
result=$(python find_examples.py)
echo "::set-output name=examples::$result"