mirror of
https://github.com/rstrouse/ESPSomfy-RTS.git
synced 2025-12-13 19:12:10 +01:00
commit
cc418c63ff
1 changed files with 134 additions and 0 deletions
134
.github/workflows/ci.yaml
vendored
Normal file
134
.github/workflows/ci.yaml
vendored
Normal file
|
|
@ -0,0 +1,134 @@
|
|||
name: ESPSomfy-RTS
|
||||
|
||||
on: [push, pull_request]
|
||||
|
||||
env:
|
||||
ARDUINO_BOARD_MANAGER_ADDITIONAL_URLS: "https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_dev_index.json"
|
||||
LITTLEFS_VERSION: "v2.5.1"
|
||||
MKLITTLEFS_VERSION: "3.1.0"
|
||||
PYTHON_VERSION: "3.10"
|
||||
|
||||
jobs:
|
||||
littlefs:
|
||||
name: LittleFS
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Check out code
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Checkout mklittlefs
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
repository: earlephilhower/mklittlefs
|
||||
path: mklittlefs
|
||||
ref: ${{ env.MKLITTLEFS_VERSION }}
|
||||
|
||||
- name: Checkout LittleFS
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
repository: littlefs-project/littlefs
|
||||
path: mklittlefs/littlefs
|
||||
ref: ${{ env.LITTLEFS_VERSION }}
|
||||
|
||||
- name: Build mklittlefs
|
||||
run: |
|
||||
make -C mklittlefs
|
||||
|
||||
- name: Create LittleFS
|
||||
run: |
|
||||
./mklittlefs/mklittlefs --create data --size 1441792 SomfyController.littlefs.bin
|
||||
|
||||
- name: Upload binaries
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: LittleFS
|
||||
path: SomfyController.littlefs.bin
|
||||
retention-days: 5
|
||||
|
||||
arduino:
|
||||
name: ${{ matrix.name }}
|
||||
needs: [littlefs]
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
board: [esp32, lolin_s2_mini]
|
||||
include:
|
||||
- board: esp32
|
||||
chip: ESP32
|
||||
flash_size: 4MB
|
||||
fqbn: esp32:esp32:esp32
|
||||
name: ESP32
|
||||
- board: lolin_s2_mini
|
||||
chip: ESP32-S2
|
||||
flash_size: 4MB
|
||||
fqbn: esp32:esp32:lolin_s2_mini
|
||||
name: LOLIN-S2-mini
|
||||
|
||||
steps:
|
||||
- name: Check out code
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
path: SomfyController
|
||||
|
||||
- name: Get LittleFS
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: LittleFS
|
||||
|
||||
- name: Install Python ${{ env.PYTHON_VERSION }}
|
||||
uses: actions/setup-python@v4
|
||||
with:
|
||||
python-version: ${{ env.PYTHON_VERSION }}
|
||||
|
||||
- name: Upgrade pip
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
pip --version
|
||||
|
||||
- name: Install ESPTool
|
||||
run: |
|
||||
pip install esptool
|
||||
|
||||
- name: Install Arduino CLI
|
||||
uses: arduino/setup-arduino-cli@v1
|
||||
|
||||
- name: Configure Arduino CLI
|
||||
run: |
|
||||
arduino-cli core update-index
|
||||
arduino-cli core install esp32:esp32
|
||||
|
||||
- name: Configure Arduino Libraries
|
||||
run: |
|
||||
arduino-cli lib install ArduinoJson
|
||||
arduino-cli lib install PubSubClient
|
||||
arduino-cli lib install SmartRC-CC1101-Driver-Lib
|
||||
arduino-cli lib install WebSockets
|
||||
|
||||
- name: Build ${{ matrix.name }}
|
||||
run: |
|
||||
mkdir -p build
|
||||
arduino-cli compile --clean --output-dir build --fqbn ${{ matrix.fqbn }} ./SomfyController
|
||||
|
||||
- name: ${{ matrix.name }} Image
|
||||
run: |
|
||||
python -m esptool --chip ${{ matrix.chip }} \
|
||||
merge_bin -o build/SomfyController.onboard.bin \
|
||||
--flash_size ${{ matrix.flash_size }} \
|
||||
0x1000 build/SomfyController.ino.bootloader.bin \
|
||||
0x8000 build/SomfyController.ino.partitions.bin \
|
||||
0x10000 build/SomfyController.ino.bin \
|
||||
0x290000 SomfyController.littlefs.bin
|
||||
|
||||
- name: Upload ${{ matrix.name }}
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: ${{ matrix.name }}
|
||||
path: |
|
||||
build/SomfyController.ino.bin
|
||||
build/SomfyController.ino.bootloader.bin
|
||||
build/SomfyController.ino.partitions.bin
|
||||
build/SomfyController.onboard.bin
|
||||
retention-days: 5
|
||||
Loading…
Add table
Add a link
Reference in a new issue