Skip to content

Migrating off PlatformIO #74

Migrating off PlatformIO

Migrating off PlatformIO #74

Workflow file for this run

# This is a basic workflow to help you get started with Actions
name: CI
# Controls when the action will run. Triggers the workflow on push or pull request
on:
push:
branches: [ main, dev ]
paths:
- 'src/**'
- 'data/**'
- 'sdkconfig.defaults'
- 'with_ota.csv'
pull_request:
paths:
- 'src/**'
- 'data/**'
- 'sdkconfig.defaults'
- 'with_ota.csv'
workflow_dispatch:
jobs:
esp32:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
fetch-tags: true
submodules: 'recursive'
- name: ESP32 Build
uses: espressif/esp-idf-ci-action@v1
with:
esp_idf_version: v5.3.2
target: esp32
path: '.'
extra_docker_args: -v ~/.ccache:/root/.ccache -e CCACHE_DIR=/root/.ccache
command: idf.py --ccache build && idf.py merge-bin
- name: Archive firmware
uses: actions/upload-artifact@v4
with:
name: esp32-firmware
path: build/HomeKey-ESP32.bin
- name: Archive merged binary
uses: actions/upload-artifact@v4
with:
name: esp32-firmware-merged
path: build/merged-binary.bin
- uses: actions/cache@v4
with:
path: |
build
managed_components
sdkconfig
key: ${{ runner.os }}-esp32-build
esp32c3:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
fetch-tags: true
submodules: 'recursive'
- name: ESP32C3 Build
uses: espressif/esp-idf-ci-action@v1
with:
esp_idf_version: v5.3.2
target: esp32c3
path: '.'
extra_docker_args: -v ~/.ccache:/root/.ccache -e CCACHE_DIR=/root/.ccache
command: idf.py --ccache build && idf.py merge-bin
- name: Archive firmware
uses: actions/upload-artifact@v4
with:
name: esp32c3-firmware
path: build/HomeKey-ESP32.bin
- name: Archive merged binary
uses: actions/upload-artifact@v4
with:
name: esp32c3-firmare-merged
path: build/merged-binary.bin
- uses: actions/cache@v4
with:
path: |
build
managed_components
sdkconfig
key: ${{ runner.os }}-esp32c3-build
esp32s3:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
fetch-tags: true
submodules: 'recursive'
- name: ESP32S3 Build
uses: espressif/esp-idf-ci-action@v1
with:
esp_idf_version: v5.3.2
target: esp32s3
path: '.'
extra_docker_args: -v ~/.ccache:/root/.ccache -e CCACHE_DIR=/root/.ccache
command: idf.py --ccache build && idf.py merge-bin
- name: Archive firmware
uses: actions/upload-artifact@v4
with:
name: esp32s3-firmware
path: build/HomeKey-ESP32.bin
- name: Archive merged binary
uses: actions/upload-artifact@v4
with:
name: esp32s3-firmware-merged
path: build/merged-binary.bin
- uses: actions/cache@v4
with:
path: |
build
managed_components
sdkconfig
key: ${{ runner.os }}-esp32s3-build
littlefs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
sparse-checkout: 'data'
- uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Install PlatformIO Core
run: pip install littlefs-python
- name: Create LittleFS Image
run: littlefs-python create $(pwd)/data littlefs.bin -v --fs-size=0x20000 --name-max=64 --block-size=4096
- name: Archive LittleFS image
uses: actions/upload-artifact@v4
with:
name: littlefs-binary
path: littlefs.bin