Skip to content

Add ESP-IDF 5.4 build helper #18

Add ESP-IDF 5.4 build helper

Add ESP-IDF 5.4 build helper #18

Workflow file for this run

name: Build ESP32
on:
push:
paths-ignore:
- 'docs/**'
- 'manage/**'
- 'assets/**'
- 'README.md'
pull_request:
paths-ignore:
- 'examples/**'
- 'assets/**'
- 'README.md'
- 'ci/*unix*.sh'
- '.github/workflows/build_unix.yml'
- 'docs/**'
- 'manage/**'
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
board_type: [
'MICROLITE',
# 'MICROLITE_C3',
# 'MICROLITE_C3_USB',
# 'MICROLITE_S2_SPIRAM',
# 'MICROLITE_S3',
# 'MICROLITE_S3_SPIRAM',
# 'MICROLITE_S3_SPIRAM_OCTAL',
# 'MICROLITE_SPIRAM',
# 'MICROLITE_SPIRAM_16M',
# 'MICROLITE_SPIRAM_CAM'
]
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Prepare to Build Tensorflow Micropython Firmware for ESP32
run: |
git submodule init
git submodule update --recursive
cd third_party/micropython
git submodule update --init lib/axtls
git submodule update --init lib/berkeley-db-1.xx
cd ports/esp32
make BOARD= submodules
cd ../../../
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: 3.10.16
- name: Setup IDF
run: |
source ./third_party/micropython/tools/ci.sh && ci_esp32_idf_setup
- name: Setup Build for Tensorflow
run: |
source ./esp-idf/export.sh
pip3 install Pillow numpy Wave
- name: Build micropython cross compiler
run: |
source ./esp-idf/export.sh
cd ./third_party/micropython
make -C mpy-cross V=1 clean all
- name: Build Firmware
run: |
source ./esp-idf/export.sh
cd ./boards/${{ matrix.board_type }}
rm -rf build
idf.py clean build
chmod +x ../../scripts/assemble-unified-image-esp.sh
- name: Archive Firmware
uses: actions/upload-artifact@v4
with:
name: microlite-esp32-${{ matrix.board_type }}-firmware
path: |
./boards/${{ matrix.board_type }}/build/bootloader/bootloader.bin
./boards/${{ matrix.board_type }}/build/partition_table/partition-table.bin
./boards/${{ matrix.board_type }}/build/micropython.bin
./boards/${{ matrix.board_type }}/build/micropython.elf