Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Split SimpleServer in multiple examples #38

Merged
merged 2 commits into from
Jan 30, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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