Skip to content

perf: optimize MQTT logging with string pre-allocation (#93) #367

perf: optimize MQTT logging with string pre-allocation (#93)

perf: optimize MQTT logging with string pre-allocation (#93) #367

name: Build application examples
on:
workflow_dispatch:
push:
jobs:
build-with-pio:
name: Build with PlatformIO
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Cache pip
uses: actions/cache@v4
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}
restore-keys: |
${{ runner.os }}-pip-
- name: Cache PlatformIO
uses: actions/cache@v4
with:
path: ~/.platformio
key: ${{ runner.os }}-${{ hashFiles('**/lockfiles') }}
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.10'
- name: Install PlatformIO
run: |
python -m pip install --upgrade pip
pip install --upgrade platformio
- name: Build examples with PlatformIO
run: |
cd examples
pio upgrade
cd led-blink
pio run
cd ../mqtt-led
pio run
- name: Deploy firmware artifacts (led-blink esp8266)
uses: actions/upload-artifact@v4
with:
name: led-blink-esp8266-${{ github.run_id }}
path: examples/led-blink/.pio/build/esp8266dev/firmware.bin
- name: Deploy firmware artifacts (led-blink esp32)
uses: actions/upload-artifact@v4
with:
name: led-blink-esp32-${{ github.run_id }}
path: examples/led-blink/.pio/build/esp32/firmware.bin
- name: Deploy firmware artifacts (mqtt-led esp8266)
uses: actions/upload-artifact@v4
with:
name: mqtt-led-esp8266-${{ github.run_id }}
path: examples/mqtt-led/.pio/build/esp8266dev/firmware.bin
- name: Deploy firmware artifacts (mqtt-led esp32)
uses: actions/upload-artifact@v4
with:
name: mqtt-led-esp32-${{ github.run_id }}
path: examples/mqtt-led/.pio/build/esp32/firmware.bin