mirror of
https://github.com/HASwitchPlate/openHASP.git
synced 2025-04-19 12:57:19 +00:00
169 lines
6.2 KiB
YAML
169 lines
6.2 KiB
YAML
name: Build branch
|
|
|
|
on:
|
|
release:
|
|
types: [published]
|
|
push:
|
|
branches:
|
|
- master
|
|
paths-ignore:
|
|
- "**.md"
|
|
- "**.yml"
|
|
- "**.yaml"
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
build_esp32:
|
|
runs-on: ubuntu-latest
|
|
#runs-on: ubuntu-24.04
|
|
|
|
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 -e lanbon_l9
|
|
- 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-2432s028r_v2_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 -e ws_esp32_s3_touch_lcd_4p3"
|
|
- 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/upload-release-assets@v3.0
|
|
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
|