Commit Graph

68 Commits

Author SHA1 Message Date
Florian
5fe77e9c85 [CI] Remove Claude Code GitHub Actions workflows (#2283)
* [CI] Fix Claude review action failing on fork PRs

Use pull_request_target instead of pull_request so OIDC tokens and
secrets are available when reviewing PRs from external contributors.
Explicitly checkout the PR head SHA to review the actual changes.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* [CI] Harden review workflow against prompt injection from forks

Checkout the base branch instead of the PR head to prevent CLAUDE.md
poisoning and code-level prompt injection. Claude uses gh pr diff to
review changes without exposing the runner to untrusted fork code.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* [CI] Remove Claude auto-review workflow on PRs

Remove the pull_request_target review workflow due to prompt injection
risks from fork PRs. Claude can still be invoked on-demand via @claude
mentions through the claude.yml workflow, which is safer as it requires
a trusted maintainer to trigger.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* [CI] Restrict @claude trigger to repo owner only

Add actor check so only 1technophile can invoke Claude via @claude
mentions. Prevents untrusted users from triggering the action and
consuming API credits or attempting prompt injection via comments.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* [CI] Remove Claude @mention workflow

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Florian <1technophile@users.noreply.github.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 15:56:44 -06:00
Alessandro Staniscia
134c03362c [CI] Refactor GitHub Actions workflows for build, documentation, and linting (#2260)
* Refactor GitHub Actions workflows for build, documentation, and linting

- Consolidated build logic into reusable workflows (`task-build.yml` and `task-docs.yml`) to reduce duplication across multiple workflows.
- Introduced `environments.json` to centralize the list of PlatformIO build environments, improving maintainability and clarity.
- Updated `build.yml` and `build_and_docs_to_dev.yml` to utilize the new reusable workflows and environment definitions.
- Enhanced `release.yml` to streamline the release process and integrate documentation generation.
- Created reusable linting workflow (`task-lint.yml`) to standardize code formatting checks across the repository.
- Simplified manual documentation workflow by leveraging the new reusable documentation workflow.
- Improved artifact management and retention policies across workflows.
- Updated dependencies and versions in workflows to ensure compatibility and performance.

* CI/CD pipeline agnostic of Workflow Engine and integrated on github actions

- Implemented ci.sh for orchestrating the complete build pipeline.
- Created ci_00_config.sh for centralized configuration of build scripts.
- Created ci_build_firmware.sh for building firmware for specified PlatformIO environments.
- Created ci_prepare_artifacts.sh for preparing firmware artifacts for upload or deployment.
- Created ci_set_version.sh for updating version tags in firmware configuration files.
- Created ci_build.sh to orchestrate the complete build pipeline.
- Created ci_qa.sh for code linting and formatting checks using clang-format.
- Created ci_site.sh for building and deploying VuePress documentation with version management.
- Implemented checks for required tools and dependencies in the new scripts.
- Updated common_wu.py, compressFirmware.py, gen_wu.py, generate_board_docs.py, and prepare_deploy.sh with descriptive comments.

Refactor CI/CD scripts for improved modularity and clarity

- Consolidated build steps in task-build.yml to utilize ci.sh for version tagging, building, and artifact preparation.
- Updated task-lint.yml to use ci.sh for code formatting checks instead of ci_qa.sh.
- Enhanced CI_SCRIPTS.md documentation to reflect changes in script usage, command structure, and output organization.
- Improved internal scripts for better error handling and logging.
- Streamlined the output structure for build artifacts and documentation.
2026-02-15 14:58:58 -06:00
Florian
0c2884c392 [CI] Configure Claude GitHub Actions to use Opus model (#2267)
* [CI] Configure Claude GitHub Actions to use Opus model

- Add --model opus flag to claude.yml workflow
- Add --model opus flag to claude-code-review.yml workflow
- Ensures advanced reasoning capabilities for complex firmware codebase

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

* Fix model ID to use full Claude Opus identifier

---------

Co-authored-by: Florian <1technophile@users.noreply.github.com>
Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-05 07:58:05 -06:00
Florian
5c401f6d02 [CI] Add Claude GitHub actions (#2266)
* "Claude PR Assistant workflow"

* "Claude Code Review workflow"

* Add CLAUDE md for context

---------

Co-authored-by: Florian <1technophile@users.noreply.github.com>
2026-01-03 10:54:31 -06:00
Florian
5f969bf26b [CI] Fix nightly build failures (#2257)
- Convert nightly workflow to matrix builds to fix FRAMEWORK_DIR issues
  caused by platform_packages conflicts when building sequentially
- Each environment now builds on its own runner, matching build.yml
- Add deploy job that collects all artifacts and deploys docs
- Add extra_scripts to esp32dev-pilight environment to fix implicit
  function declaration error with newer GCC toolchain

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Florian <1technophile@users.noreply.github.com>
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-07 16:03:30 -06:00
Ryan Powell
75f9d30919 [SYS] Update to Arduino 3.3.3 and use custom libs (#2248)
* Update Arduino core to v3.3.2 and use custom Arduino libs

* Update Python version and install uv in build.yml (#2247)

Updated Python version and added uv installation step.

---------

Co-authored-by: Ryan Powell <ryan@nable-embedded.io>

* fix builds

* Update scripts/add_c_flags.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Fetch archives instead of cloning libraries

* Update to Arduino 3.3.3

---------

Co-authored-by: h2zero <powellperalata@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-11-10 07:36:09 -06:00
Tom Roush
b8b427555a [BOARD] Support lilygo-t3-s3 (#2160)
* Support lilygo-t3-s3

* Add to CI list

* Use espressif32@6.10.0 platform
2025-06-28 14:42:12 -05:00
PLCHome
9b6e835afb [RF] An FSK version for esp32dev-rtl_433 has been added (#2195)
* An FSK version for esp32dev-rtl_433 has been added to handle the Bresser 5-in-1 weather station with a standard 868 MHz c1101

* Change platform and DGateway_Name
2025-05-23 19:29:14 -05:00
Florian
5b6cf44662 [CI] Update python version to 3.11 (#2151)
Co-authored-by: Florian <1technophile@users.noreply.github.com>
2025-01-14 07:23:41 -06:00
Michael Haberler
f86d89db85 [BOARD] add esp32s3-m5stack-stamps3 (#2088)
* [BOARD] add esp32s3-m5stack-stamps3

https://docs.m5stack.com/en/core/StampS3

* [BOARD] add esp32c3u-m5stamp

button long-press reset verified to work

* add build environments for addional M5Stack targets

esp32s3-m5stack-stamps3
esp32c3u-m5stamp

---------

Co-authored-by: Michael Haberler <git@mah.priv.at>
2024-10-15 06:42:58 -05:00
Florian
026fb4a337 [BOARD] Add Theengs Plug environment (#2065)
Co-authored-by: Florian <1technophile@users.noreply.github.com>
2024-09-24 10:11:05 -05:00
Florian
0999563095 [CI] Update Github actions versions (#2047)
* [CI] Update Github actions

* Update setup-node

---------

Co-authored-by: Florian <1technophile@users.noreply.github.com>
2024-09-04 10:30:05 -05:00
Florian
8a28bb2cf8 [SERIAL][BREAKING] RS232 change to SERIAL GATEWAY (#2008)
Make the RS232 more generic by converting it to a Serial Gateway
Add the capability to decode BLE data coming through Serial
2024-08-16 11:23:39 -05:00
Michał Leśniewski
8537b7498d [SYS] Introduce MQTT Broker mode (#1988) 2024-07-27 17:40:47 -05:00
Florian
a74a6ebc06 [SYS] Add serial self test feature (#1964)
Add self testing for Theengs Bridge v1.1 (TBRIDGE02)
This feature enables factory testing
2024-06-12 08:02:34 -05:00
Florian
f98474bed0 [SYS] Multiple connections management (#1947)
Enable the management of different connections at runtime with a set of certs for each.
Add parameters to the WiFi Manager onboarding, client certificates, and certificate validation
2024-05-20 09:30:49 -05:00
Florian
2065d57e11 [BOARDS] Remove Arduino boards (#1929) 2024-04-10 15:48:05 -05:00
Florian
bf70508318 [DOCS] Use Node 16 (#1925)
* [DOCS] Downgrade Node to 16.x and page speed criteria to 60
2024-04-04 20:04:06 -05:00
Florian
369eb0447b [DOCS] Page Speed criteria update (#1924)
* [CI] Page speed test adjustment

Page speed test adjustment to 65, to avoid development build and artifacts upload fails

* Update build_and_docs_to_dev.yml

---------

Co-authored-by: DigiH <github@digih.net>
2024-04-04 11:37:49 -05:00
h2zero
ffe88feddc [SYS] Add Blufi support (#1913)
* First build with IDF, tested with esp32dev-ble only.

* Fix frameworks for non-esp32 boards

* Add blufi support.

* Adds an environment to use esp-idf and Arduino as a component to facilitate incorporating blufi for onboarding and configuration.

---------

Co-authored-by: h2zero <powellperalata@gmail.com>
2024-03-15 07:53:13 -05:00
Florian
95e1dd9c50 [CI] Add page speed measurement in the CI (#1891) 2024-02-07 16:47:13 -06:00
Florian
d7d5d0879f [CI] Web upload factorizing and ESP Web Tools update (#1862)
Update esp web tools
Simplify scripts
Add serial console
2024-01-10 18:54:42 -06:00
Florian
f1f27cc83e [DEV] Add automatic BT lib replacement for BLE environments (#1860)
So that the replacement is done locally on the development environments but also with the CI
2024-01-09 12:52:59 -06:00
Florian
2c3d98729a [DOCS] Factorize documentation configuration into one file (#1856) 2024-01-09 09:57:08 -06:00
Florian
107bcf4d99 [BOARD] Add M5Stamp C3 (#1857) 2024-01-08 17:03:07 -06:00
Florian
7db2e93c28 [RTL_433][BREAKING] Beta support for FSK modulation, webUI frequency and active receiver change (#1812)
* [FSK] Add Lilygo Heltec environment with FSK modulation

Enable RTL_433 frequency and active receiver change with WebUI
Add FSK environment for Heltec and Lilygo
2023-12-01 13:16:03 -06:00
Florian
eb5b8fa291 [SYS/BT] Semaphores and new BT Controller (#1819)
Add semaphore to the enqueue calls to avoid concurrency issues
Add new BT controller to avoid scan evt timeout bug
2023-12-01 07:15:07 -06:00
Florian
cf21aed90c [BOARD] Add Theengs Bridge (#1799) 2023-11-13 17:14:58 -06:00
Florian
5e01f40829 [BOARD] Differentiate Pilight from multi receiver environment (#1785) 2023-10-28 14:28:38 -05:00
Florian
dfa94588d6 [CI] Need to wait for the v4 of the gh action for deploying to support both of these options (#1775) 2023-10-15 17:41:32 -05:00
Florian
cbec4292de [CI] Keep existing gh-pages file when doing dev deployments (#1774) 2023-10-14 09:30:09 -05:00
Florian
8c06c66338 [CI] Publish doc gh-page branch with only the latest commit (#1773) 2023-10-13 15:14:50 -05:00
Florian
c4a84651d4 [CI] update stale trigger to 90d (#1768) 2023-10-05 19:53:14 -05:00
Florian
dd5e565788 [SYS] Configuration portal for Ethernet board and HA link to config (#1761)
* [SYS] Configuration portal for Ethernet board

Enable Wifi Manager as a configuration portal for Ethernet boards, also leverage the Wifi Access point as a fallback connectivity method

Add link to the WebUI from HA and reduce key length

* Remove unnecessary environment

Now that one environment cans support wifi and ethernet, merge the 2
2023-10-03 07:33:47 -05:00
Florian
246423a8a8 [LORA] Improvements, change frequency, webUI, Oled support, add boards (#1742)
* [LORA] Capability to change LORA frequency and Add OLED

Merge of the 2 environments for TTGO V1

* Merge messages keys with upper level json

* Id as a sub topic

* Add display and state measures

* Add frequency configuration through WebUI

* Add parameters

* Add auto discovery

* Add node example for ttgo lora32 v1

* Add environments and fix scope

* Support for sync word as a byte

* Fix TX Power setting

* Add LoRa gateway description

* Add onlyknown filter
2023-09-27 11:12:55 -05:00
Florian
f974f24411 [BOARD] Add M5Stack AtomS3U (#1740) 2023-09-21 20:53:44 -05:00
Florian
61d6a8b879 [DOCS] Create stale workflow (#1739) 2023-08-30 17:48:18 -05:00
Florian
6e23ca029b [DISC] Add runtime configuration for OpenHAB (#1658)
* [DISC] Add runtime configuration for OpenHAB

Add an MQTT configurable system key "ohdiscovery" for OpenHAB auto discovery

* Docs and environments update
2023-05-31 11:35:35 -05:00
Florian
5cd13e0d0d [OTA] Add version_tag automatic replacement to workflow (#1578) 2023-03-26 17:19:16 -05:00
Argafal
5394e5b1c7 [NEW BOARD] Add environment for board Wemos Lolin C3 mini (#1512)
* Add environment for board Wemos Lolin C3 mini

* Lolin C3 mini: disable serial output as a default

---------

Co-authored-by: Argafal <dev.omg@argafal.de>
2023-03-09 09:02:46 -06:00
DigiH
c77a16867d [SSD1306] BLE devices display - Take 2 (#1492)
* BLE Display - THB, THBX, PLANT, AIR, BATT, BODY

* SCALE

* BBQ

* Filter MS-CDP, GAEN and IBEACON

* Mopeka & Smart Dry

* ACEL

ACEL sensor, as most also have temp and hum, but no acceleration info display included so far.

* Only display when properties are present

Only display when properties are present, to avoid model only display for devices which require active scanning at a larger interval, e.g. Mi Band and similar.

* LilyGo-BLE environment

* BLE display relocated

BLE display relocated to have pubadvdata "type" in message, required for the different type display functions.
2023-03-01 15:09:45 -06:00
Florian
454a062b3b [OTA] Enable 2 clicks OTA update / one simple MQTT command (#1485)
* [OTA] Add automatic OTA updates

This feature will enable to update the gateway with one button or a simple MQTT command.

* [CI] Enable automatic OTA for nightly development builds

And integrate the latest_version file creation into the CI

Enable to specify a particular version
and switch between dev and production builds
2023-02-27 12:54:30 -06:00
Florian
d09f13bf86 [CI] Add build as a prerequisite of the documentation (#1457)
So as to avoid empty upload page
2023-02-13 16:39:48 -06:00
Florian
f283327998 [BT] - Adaptive scan (#1440)
* [BT] Adaptive scan

Add adaptive scan to avoid users setting parameters and deduct automatically the scan requirements from the list of devices

---------
Co-authored-by: DigiH <github@digih.net>
2023-02-07 17:36:18 -06:00
Florian
2ab603e1be (CI) Only build doc and binaries on owner repository (#1434)
This will avoid nightly errors on forks
2023-02-02 21:12:35 -05:00
Frank Zhang
2c759408c3 Added board AirM2M CORE ESP32C3 (#1429)
* update: Add board Airm2m Core ESP32C3

* update: added custom description
2023-01-31 20:23:15 -06:00
Florian
660271a8ee [CI] Update actions versions (#1420) 2023-01-25 11:53:09 -06:00
Florian
bacc2250ba [CI] Run development portal building every night (#1415)
Added to manual dispatch
2023-01-23 11:40:55 -06:00
Die Peter Pan
9687f605c8 Added board ESP32 DOIT DevKit V1 with SX1278 module Ai-Thinker Ra01 (#1411)
* Added board ESP32 DOIT DevKit V1 with SX1278 module Ai-Thinker Ra01

Gateway using RTL_433_ESP library, need SX1278
ESP32 DOIT DevKit V1 & external Ai Thinker Ra01 Loraboard SX1278 on VPSI and (DIO0=15, DIO1=4, DIO2=16 and RST=17)
2023-01-23 11:40:27 -06:00
Florian
a43f0605ed [CI] Enable sub workflow call (#1406)
Remove duplicates of actions for documentation
2023-01-20 09:42:55 -06:00