Skip to content

mathieucarbou/ESPAsyncWebServer @ 3.4.3 #643

mathieucarbou/ESPAsyncWebServer @ 3.4.3

mathieucarbou/ESPAsyncWebServer @ 3.4.3 #643

Workflow file for this run

# yaml-language-server: $schema=https://json.schemastore.org/github-workflow.json
name: Build
on:
workflow_dispatch:
push:
pull_request:
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
cpplint:
name: cpplint
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Cache
uses: actions/cache@v4
with:
key: ${{ runner.os }}-cpplint
path: ~/.cache/pip
- name: Pyhton
uses: actions/setup-python@v5
with:
python-version: "3.x"
- name: cpplint
run: |
python -m pip install --upgrade pip
pip install --upgrade cpplint
cpplint \
--repository=. \
--recursive \
--filter=-whitespace/line_length,-whitespace/braces,-whitespace/comments,-runtime/indentation_namespace,-whitespace/indent,-readability/braces,-whitespace/newline,-readability/todo,-build/c++11 \
src
platformio:
name: "pio:${{ matrix.env }}:${{ matrix.board }}"
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
# - env: ci-arduino-2
# board: esp32dev
# - env: ci-arduino-2
# board: esp32-s2-saola-1
# - env: ci-arduino-2
# board: esp32-s3-devkitc-1
# - env: ci-arduino-2
# board: esp32-c3-devkitc-02
- env: ci-arduino-3
board: esp32dev
- env: ci-arduino-3
board: esp32-s2-saola-1
- env: ci-arduino-3
board: esp32-s3-devkitc-1
- env: ci-arduino-3
board: esp32-c3-devkitc-02
- env: ci-arduino-3
board: esp32-c6-devkitc-1
- env: ci-arduino-310
board: esp32dev
- env: ci-arduino-310
board: esp32-s2-saola-1
- env: ci-arduino-310
board: esp32-s3-devkitc-1
- env: ci-arduino-310
board: esp32-c3-devkitc-02
- env: ci-arduino-310
board: esp32-c6-devkitc-1
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Cache PlatformIO
uses: actions/cache@v4
with:
key: ${{ runner.os }}-pio
path: |
~/.cache/pip
~/.platformio
- name: Python
uses: actions/setup-python@v5
with:
python-version: "3.x"
- name: Build
run: |
python -m pip install --upgrade pip
pip install --upgrade platformio
- name: Build Read
run: PLATFORMIO_SRC_DIR="examples/Read" PIO_BOARD=${{ matrix.board }} pio run -e ${{ matrix.env }}
- name: Build ReadAsync
run: PLATFORMIO_SRC_DIR="examples/ReadAsync" PIO_BOARD=${{ matrix.board }} pio run -e ${{ matrix.env }}
- name: Build EnergyReset
run: PLATFORMIO_SRC_DIR="examples/EnergyReset" PIO_BOARD=${{ matrix.board }} pio run -e ${{ matrix.env }}
- name: Build EnergyResetAsync
run: PLATFORMIO_SRC_DIR="examples/EnergyResetAsync" PIO_BOARD=${{ matrix.board }} pio run -e ${{ matrix.env }}
- name: Build SetMaxSpeed
run: PLATFORMIO_SRC_DIR="examples/SetMaxSpeed" PIO_BOARD=${{ matrix.board }} pio run -e ${{ matrix.env }}
- name: Build PerfTest1
run: PLATFORMIO_SRC_DIR="examples/PerfTest1" PIO_BOARD=${{ matrix.board }} pio run -e ${{ matrix.env }}
- name: Build PerfTest2
run: PLATFORMIO_SRC_DIR="examples/PerfTest2" PIO_BOARD=${{ matrix.board }} pio run -e ${{ matrix.env }}
- name: Build Callback
run: PLATFORMIO_SRC_DIR="examples/Callback" PIO_BOARD=${{ matrix.board }} pio run -e ${{ matrix.env }}
- name: Build CallbackAsync
run: PLATFORMIO_SRC_DIR="examples/CallbackAsync" PIO_BOARD=${{ matrix.board }} pio run -e ${{ matrix.env }}
- name: Build Remote UDP Listener
run: PIO_BOARD=${{ matrix.board }} pio run -e ci -d examples/RemoteUDP/Listener
sender:
name: JSYRemoteUDPSender-${{ matrix.board }}.bin
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
board:
[
# "denky_d4",
"esp32-c3-devkitc-02",
"esp32-c6-devkitc-1",
"esp32-gateway",
"esp32-poe-iso",
"esp32-poe",
"esp32-s2-saola-1",
"esp32-s3-devkitc-1",
# "esp32-solo1",
"esp32dev",
"esp32s3box",
"tinypico",
"wipy3",
"wt32-eth01"
]
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Get Tags
run: git fetch --force --tags origin
- name: Cache PlatformIO
uses: actions/cache@v4
with:
key: ${{ runner.os }}-pio
path: |
~/.cache/pip
~/.platformio
- name: Python
uses: actions/setup-python@v5
with:
python-version: "3.x"
- name: Build
run: |
python -m pip install --upgrade pip
pip install --upgrade platformio
PIO_BOARD=${{ matrix.board }} pio run -e ci -d examples/RemoteUDP/Sender
cp examples/RemoteUDP/Sender/.pio/build/ci/firmware.bin ./JSYRemoteUDPSender-${{ matrix.board }}.OTA.bin
cp examples/RemoteUDP/Sender/.pio/build/ci/firmware.factory.bin ./JSYRemoteUDPSender-${{ matrix.board }}.FACTORY.bin
- name: Upload
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.board }}
if-no-files-found: error
path: |
*.bin
release:
name: Release
if: ${{ github.repository_owner == 'mathieucarbou' && github.event_name != 'pull_request' && ( github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/tags/v') ) }}
runs-on: ubuntu-latest
needs: [platformio, sender]
permissions:
contents: write
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Download
uses: actions/download-artifact@v4
with:
path: artifacts/
- name: Move
run: |
ls -R artifacts
find artifacts -name '*.bin' -exec mv {} artifacts/ \;
- name: Pre-Release
if: ${{ github.ref == 'refs/heads/main' }}
uses: mathieucarbou/marvinpinto-action-automatic-releases@latest
with:
repo_token: "${{ secrets.ACCESS_TOKEN }}"
automatic_release_tag: latest
prerelease: true
title: Pre-release Builds
files: |
artifacts/*.bin
tools/factory.py
- name: Changelog
if: ${{ startsWith(github.ref, 'refs/tags/v') }}
id: github_release
uses: mikepenz/release-changelog-builder-action@v5
with:
failOnError: true
commitMode: true
configuration: ".github/workflows/release-notes-config.json"
env:
GITHUB_TOKEN: ${{ secrets.ACCESS_TOKEN }}
- name: Release
if: ${{ startsWith(github.ref, 'refs/tags/v') }}
uses: softprops/action-gh-release@v2
with:
body: ${{steps.github_release.outputs.changelog}}
append_body: true
draft: false
files: |
artifacts/*.bin
tools/factory.py
env:
GITHUB_TOKEN: ${{ secrets.ACCESS_TOKEN }}