Merge branch 'master' of https://github.com/HASwitchPlate/openHASP #1255
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build branch | |
on: | |
release: | |
types: [published] | |
push: | |
branches: | |
- master | |
paths-ignore: | |
- "**.md" | |
- "**.yml" | |
- "**.yaml" | |
workflow_dispatch: | |
jobs: | |
build_esp32: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
environment: | |
- out: adafruit | |
env: "huzzah32-featherwing-24 -e huzzah32-featherwing-35 -e huzzah32-featherwing-24-v2 -e huzzah32-featherwing-35-v2 -e huzzah32-v2-featherwing-24-v2 -e huzzah32-v2-featherwing-35-v2" | |
- out: az-touch | |
env: "az-touch-mod-esp32_ili9341_4MB -e az-touch-mod-esp32_ili9341_8MB" | |
- env: d1-mini-esp32_ili9341 | |
out: d1-mini-esp32 | |
- out: d1-r32-espduino32 | |
env: "d1-r32-waveshare_ili9486 -e d1-r32-unoshield_ili9341_adc -e d1-r32-unoshield_ili9486_adc" | |
- out: dustinwatts | |
env: "freetouchdeck_4MB -e freetouchdeck_8MB -e esp32-touchdown" | |
- out: elecrow | |
env: "esp32-terminal-rgb_16MB -e esp32-terminal-spi_16MB -e elecrow-s3-8048c050_4MB -e elecrow-s3-8048c070_4MB" | |
- out: globalsecurity | |
env: gs-t3e_16MB | |
- out: guition | |
env: esp32-s3-4848s040_16MB -e guition-jc4827w543c_4MB | |
- out: lanbon | |
env: lanbon_l8 | |
- out: lilygo-ttgo | |
env: "lilygo-lily-pi_st7796 -e lilygo-lily-pi_ili9481 -e ttgo-t7-v1_5_ili9341_4MB -e ttgo-t7-v1_5_ili9341_16MB" | |
- out: lolin | |
env: lolin-d32-pro_ili9341 | |
- out: m5stack | |
env: m5stack-core2 | |
- out: makerfabs | |
env: "makerfabs-tft35-cap_4MB -e makerfabs-tft35-cap_16MB -e makerfabs-s3-tft35-spi -e makerfabs-s3-tft40-rgb -e makerfabs-s3-tft43-rgb" | |
- out: panlee | |
env: "panlee-zw3d95ce01s-ar-4848_16MB -e panlee-zw3d95ce01s-ur-4848_16MB -e panlee-zw3d95ce01s-tr-4848_16MB" | |
- out: seeed-studios | |
env: "sensecap-indicator-d1_8MB" | |
- out: sunton | |
env: "esp32-2432s028r_4MB -e esp32-2432s028r-ili9342_4MB -e esp32-2432s032c_4MB -e esp32-3248s035c_4MB -e esp32-3248s035r_4MB -e sunton-4827s043c_16MB -e sunton-8048s043c_16MB -e sunton-8048s050c_16MB -e sunton-8048s070c_16MB" | |
- out: waveshare | |
env: "esp32-one_ili9486 -e esp32-one_st7796" | |
- out: wireless-tag | |
env: "wt32-sc01_4MB -e wt32-sc01_16MB -e wt-86-32-3zw1 -e wt32-sc01-plus_8MB -e wt32-sc01-plus_16MB" | |
- out: yeacreate | |
env: yeacreate-nscreen32 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: "true" | |
- 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.x" | |
- name: Install PlatformIO | |
run: | | |
python -m pip install --upgrade pip | |
pip install --upgrade platformio | |
- name: Install Setuptools | |
run: | | |
pip install --upgrade setuptools | |
- name: Enable ESP32 platforms from platformio_override-template.ini | |
run: | | |
sed 's/; user_setups\/esp32/user_setups\/esp32/g' platformio_override-template.ini > platformio_override.ini | |
- name: List all files in current folder | |
run: | | |
ls -la | |
- name: Cat platformio_override.ini | |
run: | | |
cat platformio_override.ini | |
- name: Run PlatformIO | |
run: pio run -e ${{ matrix.environment.env }} | |
- name: Upload output file | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ matrix.environment.out }} | |
path: build_output/firmware/*.*n | |
## Release only: | |
- name: Zip artifact for deployment | |
if: github.ref != 'refs/heads/master' | |
run: | | |
zip ${{ matrix.environment.out }}.zip build_output/firmware/*.bin -r | |
- name: On Release, upload assets to that Release | |
if: github.ref != 'refs/heads/master' | |
uses: AButler/[email protected] | |
with: | |
files: ${{ matrix.environment.out }}.zip | |
repo-token: ${{ secrets.GITHUB_TOKEN }} | |
linux_build: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: "true" | |
- 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.x" | |
- name: Install PlatformIO | |
run: | | |
python -m pip install --upgrade pip | |
pip install --upgrade platformio | |
- name: Enable Linux platform from platformio_override.ini | |
run: | | |
sed 's/; user_setups\/linux/user_setups\/linux/g' platformio_override-template.ini > platformio_override.ini | |
mkdir -p .pio/libdeps/linux_sdl/paho/src | |
- name: Install SDL2 library | |
run: | | |
sudo apt-get update | |
sudo apt-get install libsdl2-dev | |
- name: List all files in current folder | |
run: | | |
ls -la | |
- name: Cat platformio_override.ini | |
run: | | |
cat platformio_override.ini | |
- name: Enable Linux platform from platformio_override.ini | |
run: | | |
sed -i 's/; user_setups\/linux/user_setups\/linux/g' platformio_override.ini | |
mkdir -p .pio/libdeps/linux_sdl/paho/src | |
- name: Install SDL2 library | |
run: | | |
sudo apt-get update | |
sudo apt-get install libsdl2-dev | |
- name: Run PlatformIO | |
run: pio run -e linux_sdl |