From 6e82e83b9e7ce2868226938a88e044edc2b36d88 Mon Sep 17 00:00:00 2001 From: Simon J Stuart Date: Thu, 20 Aug 2026 20:07:33 +0200 Subject: [PATCH 1/3] ci: fetch Observable headers without configuring ESP-IDF component --- tests/CMakeLists.txt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 0131149..1c72b36 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -11,7 +11,10 @@ FetchContent_Declare( GIT_TAG 3.0.1 GIT_SHALLOW TRUE ) -FetchContent_MakeAvailable(ESPressioObservable) +FetchContent_GetProperties(ESPressioObservable) +if(NOT espressioobservable_POPULATED) + FetchContent_Populate(ESPressioObservable) +endif() set(ESPRESSIO_OBSERVABLE_INCLUDE ${espressioobservable_SOURCE_DIR}/src) add_executable(Security test_security.cpp) From 805adf2d9ee884b9030336a490de78d8cd5c4207 Mon Sep 17 00:00:00 2001 From: Simon J Stuart Date: Thu, 20 Aug 2026 20:07:43 +0200 Subject: [PATCH 2/3] ci: validate Observable dependency for host and ESP32 builds --- .github/workflows/host-tests.yml | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/.github/workflows/host-tests.yml b/.github/workflows/host-tests.yml index b336146..f1e782b 100644 --- a/.github/workflows/host-tests.yml +++ b/.github/workflows/host-tests.yml @@ -2,7 +2,9 @@ name: Tests on: push: - branches: [main] + branches: + - main + - feature/observable-callback-coverage pull_request: branches: [main] @@ -22,6 +24,12 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 + - name: Checkout ESPressio Observable 3.0.1 + uses: actions/checkout@v4 + with: + repository: Flowduino/ESPressio-Observable + ref: 3.0.1 + path: deps/ESPressio-Observable - name: Install PlatformIO run: pip install platformio - name: Compile BasicSecurePayload @@ -29,6 +37,7 @@ jobs: pio ci examples/BasicSecurePayload/BasicSecurePayload.ino --board esp32dev --lib . + --lib deps/ESPressio-Observable --project-option="build_flags=-std=gnu++17" --project-option="build_unflags=-std=gnu++11" - name: Compile MbedTLSAlgorithms @@ -36,5 +45,6 @@ jobs: pio ci examples/MbedTLSAlgorithms/MbedTLSAlgorithms.ino --board esp32dev --lib . + --lib deps/ESPressio-Observable --project-option="build_flags=-std=gnu++17" --project-option="build_unflags=-std=gnu++11" From 94178b54458452d2b2a11ec928fcc270bb916b63 Mon Sep 17 00:00:00 2001 From: Simon J Stuart Date: Thu, 20 Aug 2026 20:10:06 +0200 Subject: [PATCH 3/3] ci: enable RTTI for Observable-backed ESP32 builds --- .github/workflows/host-tests.yml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/.github/workflows/host-tests.yml b/.github/workflows/host-tests.yml index f1e782b..9004f21 100644 --- a/.github/workflows/host-tests.yml +++ b/.github/workflows/host-tests.yml @@ -24,8 +24,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - name: Checkout ESPressio Observable 3.0.1 - uses: actions/checkout@v4 + - uses: actions/checkout@v4 with: repository: Flowduino/ESPressio-Observable ref: 3.0.1 @@ -39,7 +38,7 @@ jobs: --lib . --lib deps/ESPressio-Observable --project-option="build_flags=-std=gnu++17" - --project-option="build_unflags=-std=gnu++11" + --project-option="build_unflags=-std=gnu++11 -fno-rtti" - name: Compile MbedTLSAlgorithms run: >- pio ci examples/MbedTLSAlgorithms/MbedTLSAlgorithms.ino @@ -47,4 +46,4 @@ jobs: --lib . --lib deps/ESPressio-Observable --project-option="build_flags=-std=gnu++17" - --project-option="build_unflags=-std=gnu++11" + --project-option="build_unflags=-std=gnu++11 -fno-rtti"