Skip to content

Commit

Permalink
Merge pull request #38 from ESP32Async/examples
Browse files Browse the repository at this point in the history
Split SimpleServer in multiple examples
  • Loading branch information
mathieucarbou authored Jan 30, 2025
2 parents a1e7550 + 809c1f8 commit 0c54634
Show file tree
Hide file tree
Showing 36 changed files with 2,605 additions and 1,542 deletions.
25 changes: 25 additions & 0 deletions .github/workflows/arduino-lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# yaml-language-server: $schema=https://json.schemastore.org/github-workflow.json

name: Arduino Lint

on:
workflow_dispatch:
push:
branches:
- main
- release/*
pull_request:

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true

jobs:
arduino-lint:
name: Arduino Lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: arduino/arduino-lint-action@v2
with:
library-manager: update
139 changes: 139 additions & 0 deletions .github/workflows/build-arduino.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,139 @@
# yaml-language-server: $schema=https://json.schemastore.org/github-workflow.json

name: Build (Arduino)

on:
workflow_dispatch:
push:
branches:
- main
- release/*
pull_request:

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true

jobs:
arduino-esp32:
name: Arduino ESP32
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- core: esp32:esp32
board: esp32:esp32:esp32
index_url: https://espressif.github.io/arduino-esp32/package_esp32_index.json
# - core: esp32:esp32
# board: esp32:esp32:esp32
# index_url: https://espressif.github.io/arduino-esp32/package_esp32_dev_index.json

steps:
- name: Install arduino-cli
run: curl -fsSL https://raw.githubusercontent.com/arduino/arduino-cli/master/install.sh | BINDIR=/usr/local/bin sh

- name: Update core index
run: arduino-cli core update-index --additional-urls "${{ matrix.index_url }}"

- name: Install core
run: arduino-cli core install --additional-urls "${{ matrix.index_url }}" ${{ matrix.core }}

- name: Install ArduinoJson
run: arduino-cli lib install ArduinoJson

- name: Install AsyncTCP (ESP32)
if: ${{ matrix.core == 'esp32:esp32' }}
run: ARDUINO_LIBRARY_ENABLE_UNSAFE_INSTALL=true arduino-cli lib install --git-url https://github.com/ESP32Async/AsyncTCP#v3.3.3

- name: Checkout
uses: actions/checkout@v4

- name: Build Examples
run: |
for i in `ls examples`; do
echo "============================================================="
echo "Building examples/$i..."
echo "============================================================="
arduino-cli compile --library . --warnings none -b ${{ matrix.board }} "examples/$i/$i.ino"
done
arduino-esp8266:
name: Arduino ESP8266
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- core: esp8266:esp8266
board: esp8266:esp8266:huzzah
index_url: https://arduino.esp8266.com/stable/package_esp8266com_index.json

steps:
- name: Install arduino-cli
run: curl -fsSL https://raw.githubusercontent.com/arduino/arduino-cli/master/install.sh | BINDIR=/usr/local/bin sh

- name: Update core index
run: arduino-cli core update-index --additional-urls "${{ matrix.index_url }}"

- name: Install core
run: arduino-cli core install --additional-urls "${{ matrix.index_url }}" ${{ matrix.core }}

- name: Install ArduinoJson
run: arduino-cli lib install ArduinoJson

- name: Install ESPAsyncTCP (ESP8266)
if: ${{ matrix.core == 'esp8266:esp8266' }}
run: ARDUINO_LIBRARY_ENABLE_UNSAFE_INSTALL=true arduino-cli lib install --git-url https://github.com/ESP32Async/ESPAsyncTCP#v2.0.0

- name: Checkout
uses: actions/checkout@v4

- name: Build Examples
run: |
for i in `ls examples`; do
echo "============================================================="
echo "Building examples/$i..."
echo "============================================================="
arduino-cli compile --library . --warnings none -b ${{ matrix.board }} "examples/$i/$i.ino"
done
arduino-rp2040:
name: Arduino RP2040
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- name: package_rp2040_index.json
core: rp2040:rp2040
board: rp2040:rp2040:rpipicow
index_url: https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json
steps:
- name: Install arduino-cli
run: curl -fsSL https://raw.githubusercontent.com/arduino/arduino-cli/master/install.sh | BINDIR=/usr/local/bin sh

- name: Update core index
run: arduino-cli core update-index --additional-urls "${{ matrix.index_url }}"

- name: Install core
run: arduino-cli core install --additional-urls "${{ matrix.index_url }}" ${{ matrix.core }}

- name: Install ArduinoJson
run: arduino-cli lib install ArduinoJson

- name: Install AsyncTCP (RP2040)
if: ${{ matrix.core == 'rp2040:rp2040' }}
run: ARDUINO_LIBRARY_ENABLE_UNSAFE_INSTALL=true arduino-cli lib install --git-url https://github.com/khoih-prog/AsyncTCP_RP2040W#v1.2.0

- name: Checkout
uses: actions/checkout@v4

- name: Build Examples
run: |
for i in `ls examples`; do
echo "============================================================="
echo "Building examples/$i..."
echo "============================================================="
arduino-cli compile --library . --warnings none -b ${{ matrix.board }} "examples/$i/$i.ino"
done
226 changes: 226 additions & 0 deletions .github/workflows/build-pioarduino.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,226 @@
# yaml-language-server: $schema=https://json.schemastore.org/github-workflow.json

name: Build (pioarduino)

on:
workflow_dispatch:
push:
branches:
- main
- release/*
pull_request:

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true

jobs:
platformio-esp32-arduino-3:
name: PIO Arduino 3
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
board:
- esp32dev
- esp32-s2-saola-1
- esp32-s3-devkitc-1
- esp32-c3-devkitc-02
- esp32-c6-devkitc-1
- esp32-h2-devkitm-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: Install PIO
run: |
python -m pip install --upgrade pip
pip install --upgrade platformio
- name: Build Examples
run: |
for i in `ls examples`; do
echo "============================================================="
echo "Building examples/$i..."
echo "============================================================="
PLATFORMIO_SRC_DIR=examples/$i PIO_BOARD=${{ matrix.board }} pio run -e ci-arduino-3
done
platformio-esp32-arduino2:
name: PIO Arduino 2
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
board:
- esp32dev
- esp32-s2-saola-1
- esp32-s3-devkitc-1
- esp32-c3-devkitc-02

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: Install PIO
run: |
python -m pip install --upgrade pip
pip install --upgrade platformio
- name: Build Examples
run: |
for i in `ls examples`; do
echo "============================================================="
echo "Building examples/$i..."
echo "============================================================="
PLATFORMIO_SRC_DIR=examples/$i PIO_BOARD=${{ matrix.board }} pio run -e ci-arduino-2
done
platformio-specials:
name: PIO No Json
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
env:
- ci-arduino-3-latest-asynctcp
- ci-arduino-3-no-json

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: Install PIO
run: |
python -m pip install --upgrade pip
pip install --upgrade platformio
- name: Build Examples
run: |
for i in `ls examples`; do
echo "============================================================="
echo "Building examples/$i..."
echo "============================================================="
PLATFORMIO_SRC_DIR=examples/$i PIO_BOARD=esp32dev pio run -e ${{ matrix.env }}
done
platformio-esp8266:
name: PIO ESP8266
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
board:
- huzzah
- d1_mini

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: Install PIO
run: |
python -m pip install --upgrade pip
pip install --upgrade platformio
- name: Build Examples
run: |
for i in `ls examples`; do
echo "============================================================="
echo "Building examples/$i..."
echo "============================================================="
PLATFORMIO_SRC_DIR=examples/$i PIO_BOARD=${{ matrix.board }} pio run -e ci-esp8266
done
platformio-rp2040:
name: PIO RP2040
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
board:
- rpipicow

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: Install PIO
run: |
python -m pip install --upgrade pip
pip install --upgrade platformio
- name: Build Examples
run: |
for i in `ls examples`; do
echo "============================================================="
echo "Building examples/$i..."
echo "============================================================="
PLATFORMIO_SRC_DIR=examples/$i PIO_BOARD=${{ matrix.board }} pio run -e ci-raspberrypi
done
Loading

0 comments on commit 0c54634

Please sign in to comment.