Skip to content

Commit

Permalink
Merge pull request #179 from mathieucarbou/ci-matrix
Browse files Browse the repository at this point in the history
A better CI matrix for Psychic
  • Loading branch information
mathieucarbou authored Sep 12, 2024
2 parents ba508e3 + 30bf914 commit 8ca6141
Show file tree
Hide file tree
Showing 6 changed files with 72 additions and 32 deletions.
4 changes: 4 additions & 0 deletions .github/workflows/arduino.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,10 @@ on:
schedule:
- cron: "0 1 * * 6" # Every Saturday at 1AM

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

jobs:
lint:
runs-on: ubuntu-latest
Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/esp-idf.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,10 @@ on:
schedule:
- cron: "0 1 * * 6" # Every Saturday at 1AM

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

jobs:

build:
Expand Down
58 changes: 41 additions & 17 deletions .github/workflows/platformio.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,37 +6,61 @@ on:
pull_request:
branches: []
schedule:
- cron: "0 1 * * 6" # Every Saturday at 1AM
- cron: "0 1 * * 6" # Every Saturday at 1AM

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

jobs:
build:
name: "pio:${{ matrix.board }}:${{ matrix.platform }}:${{ matrix.flags }}"
runs-on: ubuntu-latest

strategy:
fail-fast: false
matrix:
feature: ["arduino2", "arduino2-ssl", "arduino2-regex", "arduino3", "arduino3-ssl", "arduino3-regex"]

runs-on: ubuntu-latest
name: Build ${{ matrix.feature }}
flags: ["-DPSY_ENABLE_SSL", "-DPSY_ENABLE_REGEX"]
platform: [
"51.03.04",
"53.03.10%2Brc1"
]
board:
[
"esp32dev",
"esp32-s2-saola-1",
"esp32-s3-devkitc-1",
"esp32-c3-devkitc-02",
"esp32-c6-devkitc-1",
]

steps:
- uses: actions/checkout@v4

- name: Set up Pythonf
uses: actions/setup-python@v4
- name: Cache PlatformIO
uses: actions/cache@v4
with:
key: ${{ runner.os }}-pio
path: |
~/.cache/pip
~/.platformio
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.x"

- name: Install Platform IO
run:
|
pip install -U platformio
platformio update
run: |
python -m pip install --upgrade pip
pip install --upgrade platformio
- name: Install Checked out PsychicHttp
run:
pio lib -g install $GITHUB_WORKSPACE
run: pio lib -g install $GITHUB_WORKSPACE

- name: Build ${{ matrix.feature }}
run:
|
- name: Prepare Secret
run: |
cd examples/platformio
cp src/secret.h src/_secret.h
pio run -e ${{ matrix.feature }}
- run: PIO_BOARD=${{ matrix.board }} PIO_PLATFORM="https://github.com/pioarduino/platform-espressif32/releases/download/${{ matrix.platform }}/platform-espressif32.zip" PLATFORMIO_BUILD_FLAGS="${{ matrix.flags }}" pio run -e ci
15 changes: 3 additions & 12 deletions examples/platformio/platformio.ini
Original file line number Diff line number Diff line change
Expand Up @@ -37,23 +37,14 @@ platform = [email protected]
build_flags = -D PSY_ENABLE_REGEX

[env:arduino3]
platform = espressif32
platform_packages=
platformio/framework-arduinoespressif32 @ https://github.com/espressif/arduino-esp32.git#3.0.4
platformio/framework-arduinoespressif32-libs @ https://github.com/espressif/arduino-esp32/releases/download/3.0.4/esp32-arduino-libs-3.0.4.zip
platform = https://github.com/pioarduino/platform-espressif32/releases/download/51.03.04/platform-espressif32.zip

[env:arduino3-ssl]
platform = espressif32
platform_packages=
platformio/framework-arduinoespressif32 @ https://github.com/espressif/arduino-esp32.git#3.0.4
platformio/framework-arduinoespressif32-libs @ https://github.com/espressif/arduino-esp32/releases/download/3.0.4/esp32-arduino-libs-3.0.4.zip
platform = https://github.com/pioarduino/platform-espressif32/releases/download/51.03.04/platform-espressif32.zip
build_flags = -D PSY_ENABLE_SSL

[env:arduino3-regex]
platform = espressif32
platform_packages=
platformio/framework-arduinoespressif32 @ https://github.com/espressif/arduino-esp32.git#3.0.4
platformio/framework-arduinoespressif32-libs @ https://github.com/espressif/arduino-esp32/releases/download/3.0.4/esp32-arduino-libs-3.0.4.zip
platform = https://github.com/pioarduino/platform-espressif32/releases/download/51.03.04/platform-espressif32.zip
build_flags = -D PSY_ENABLE_REGEX

[env:waveshare-4-3-touchscreen]
Expand Down
7 changes: 7 additions & 0 deletions partitions-4MB.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Name ,Type ,SubType ,Offset ,Size ,Flags
nvs ,data ,nvs ,36K ,20K ,
otadata ,data ,ota ,56K ,8K ,
app0 ,app ,ota_0 ,64K ,1856K ,
app1 ,app ,ota_1 ,1920K ,1856K ,
fs ,data ,spiffs ,3776K ,256K ,
coredump ,data ,coredump ,4032K ,64K ,
16 changes: 13 additions & 3 deletions platformio.ini
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ framework = arduino
board = esp32-s3-devkitc-1
monitor_speed = 115200
monitor_filters = esp32_exception_decoder
board_build.partitions = partitions-4MB.csv
board_build.filesystem = littlefs
lib_deps =
bblanchon/ArduinoJson
Expand All @@ -50,18 +51,18 @@ platform = [email protected]

[env:arduino2-ssl]
platform = [email protected]
build_flags = -D PSY_ENABLE_SSL
build_flags = -DPSY_ENABLE_SSL

[env:arduino2-regex]
platform = [email protected]
build_flags = -D PSY_ENABLE_REGEX
build_flags = -DPSY_ENABLE_REGEX

[env:arduino3]
platform = https://github.com/pioarduino/platform-espressif32/releases/download/51.03.04/platform-espressif32.zip

[env:arduino3-ssl]
platform = https://github.com/pioarduino/platform-espressif32/releases/download/51.03.04/platform-espressif32.zip
build_flags = -D PSY_ENABLE_SSL
build_flags = -DPSY_ENABLE_SSL

[env:arduino3-regex]
platform = https://github.com/pioarduino/platform-espressif32/releases/download/51.03.04/platform-espressif32.zip
Expand All @@ -82,6 +83,11 @@ board = esp32-c6-devkitc-1
[env:mathieu]
platform = https://github.com/pioarduino/platform-espressif32/releases/download/53.03.10%%2Brc1/platform-espressif32.zip
board = esp32dev
lib_deps = ${env.lib_deps}
; bblanchon/ArduinoTrace@^1.2.0
build_flags = ${env.build_flags}
; -D PSY_DEVMODE
-D PSY_ENABLE_REGEX

[env:hoeken]
platform = https://github.com/pioarduino/platform-espressif32/releases/download/51.03.04/platform-espressif32.zip
Expand All @@ -90,3 +96,7 @@ lib_deps = ${env.lib_deps}
bblanchon/ArduinoTrace@^1.2.0
build_flags = ${env.build_flags}
-D PSY_DEVMODE

[env:ci]
platform = ${sysenv.PIO_PLATFORM}
board = ${sysenv.PIO_BOARD}

0 comments on commit 8ca6141

Please sign in to comment.