name: Build on: [push, pull_request] jobs: build: strategy: fail-fast: false matrix: environments: - "rfbridge" - "rfbridge-direct" - "esp32dev-all-test" - "esp32dev-rf" - "esp32dev-pilight-cc1101" - "esp32dev-somfy-cc1101" - "esp32dev-pilight-somfy-cc1101" - "esp32dev-weatherstation" - "esp32dev-gf-sun-inverter" - "esp32dev-ir" - "esp32dev-ble" - "esp32dev-ble-mqtt-undecoded" - "esp32dev-ble-aws" - "esp32feather-ble" - "esp32-lolin32lite-ble" - "esp32-olimex-gtw-ble-eth" - "esp32-olimex-gtw-ble-poe" - "esp32-olimex-gtw-ble-poe-iso" - "esp32-wt32-eth01-ble-eth" - "esp32-olimex-gtw-ble-wifi" - "esp32-m5stick-ble" - "esp32-m5stack-ble" - "esp32-m5tough-ble" - "esp32-m5stick-c-ble" - "esp32-m5stick-cp-ble" - "esp32s3-atomS3U" - "esp32-m5atom-matrix" - "esp32-m5atom-lite" - "esp32dev-rtl_433" - "esp32doitv1-aithinker-r01-sx1278" - "heltec-rtl_433" - "heltec-rtl_433-fsk" - "heltec-ble" - "lilygo-rtl_433" - "lilygo-rtl_433-fsk" - "lilygo-ble" - "esp32dev-multi_receiver" - "esp32dev-multi_receiver-pilight" - "tinypico-ble" - "ttgo-lora32-v1" - "ttgo-lora32-v21" - "ttgo-t-beam" - "heltec-wifi-lora-32" - "shelly-plus1" - "nodemcuv2-all-test" - "nodemcuv2-fastled-test" - "nodemcuv2-2g" - "nodemcuv2-ir" - "nodemcuv2-serial" - "avatto-bakeey-ir" - "nodemcuv2-rf" - "nodemcuv2-rf-cc1101" - "nodemcuv2-somfy-cc1101" - "manual-wifi-test" - "rf-wifi-gateway" - "nodemcuv2-rf2" - "nodemcuv2-rf2-cc1101" - "nodemcuv2-pilight" - "nodemcuv2-weatherstation" - "sonoff-basic" - "sonoff-basic-rfr3" - "esp32dev-ble-datatest" - "esp32s3-dev-c1-ble" - "esp32c3-dev-m1-ble" - "airm2m_core_esp32c3" - "esp32c3_lolin_mini" - "esp32c3-m5stamp" - "thingpulse-espgateway" - "theengs-bridge" - "esp32dev-ble-idf" - "theengs-bridge-v11" - "esp32dev-ble-broker" runs-on: ubuntu-latest name: Build with PlatformIO steps: - uses: actions/checkout@v3 - name: Set up Python uses: actions/setup-python@v4 with: python-version: "3.x" - name: Install platformio run: | python -m pip install --upgrade pip pip install platformio pip install setuptools - name: Extract ESP32 platform version from platformio.ini run: | ESP32_VERSION=$(grep 'esp32_platform\s*=' platformio.ini | cut -d'@' -f2 | tr -d '[:space:]') echo "ESP32_PLATFORM_VERSION=${ESP32_VERSION}" >> $GITHUB_ENV - name: Run PlatformIO run: platformio run -e ${{ matrix.environments }} - name: Upload Assets uses: actions/upload-artifact@v3 with: name: ${{ matrix.environments }} path: | .pio/build/*/firmware.bin .pio/build/*/partitions.bin retention-days: 7 documentation: runs-on: ubuntu-latest name: Create the documentation steps: - uses: actions/checkout@v3 - name: Set up Node.js uses: actions/setup-node@v3 with: node-version: "14.x" - name: Download Common Config run: | curl -o docs/.vuepress/public/commonConfig.js https://www.theengs.io/commonConfig.js - name: Install build dependencies run: npm install - name: Build documentation run: npm run docs:build