Commit Graph

29 Commits

Author SHA1 Message Date
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
e91086a9bd [DOC] Sort firmware dropdown lists alphabetically (#2258)
Sort the web uploader firmware selection dropdowns alphabetically
for better user experience. Applies to both dev and release builds.

🤖 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:45:07 -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
Ivan Kravets
bb491af421 [SYS] Use configured "packages_dir" (#1917) 2024-03-23 08:45:10 -05:00
Florian
24e3ef07eb [CI] Fix development deployment (#1866)
Containing unwanted files like libraries
2024-01-13 15:43:18 -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
8fa47d2bde [BOARD] Add Web Upload for ESP32-C3 family (#1861) 2024-01-09 17:35:41 -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
cf21aed90c [BOARD] Add Theengs Bridge (#1799) 2023-11-13 17:14:58 -06:00
Florian
03105651aa [CI] Add new boards into web upload release production and dev (#1685) 2023-06-14 12:48:33 -05:00
Florian
8d1488e4c1 [OTA] Fix invalid json (#1568) 2023-03-23 10:43:30 -05:00
Florian
c12f51ee0e [OTA] Remove version_tag from title (#1546)
To avoid redundancy in the display
2023-03-17 16:10:51 -05: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
f9d1d0ad6a [CI] Change environments ini name (#1414)
Remove unecessary macros,
modify datatest environment to be continuous
change scan duration to 3s for continuous scan environments
2023-01-23 10:31:21 -06:00
Florian
5297dff7bb [DOCS] - Generate board documentation automaticaly from platformio.ini (#1405)
* [DOCS] - Generate board documentation automaticaly from platformio.ini

To reduce maintenance effort

* [CI] Differentiate boards from platformio.ini

So that only one line can be commented to use customs environments
2023-01-20 09:04:18 -06:00
Florian
31ffdf1e2b Add SHELLY PLUS 1 board with support of relay, switch, BT gateway (#1349)
So that you know, the overtemperature protection is not implemented in the firmware.
2023-01-10 07:18:59 -06:00
Florian
ba70d364b1 [CI and DOC] Add LilyGO RTL 433 (#1373)
board to documentation and web upload script
2022-12-26 13:56:24 -06:00
Charles
edb8d1a591 Added Thingpulse ESP32 gateways (#1369)
* added thingspulse gateways

* added thingspulse gateways, RGB  LED for tinypico

* Added some LED and Birghtness options

* Requested Changes

* fixed format
2022-12-16 21:38:13 -06:00
Florian
d73696e68d [CI] Fix bootloader and partition links (#1366)
Currently not available in the master so point to the last version
2022-12-15 15:29:04 -06:00
Florian
a85a98c43f [DOCS] Update firmware_build dev path (#1355)
So as to link properly to the manifest

Make the website name more explicit

so as to avoid confusion with the production one
2022-12-09 13:40:23 -06:00
Florian
818a091e14 Add capability to build docs to a dev folder (#1351)
To enable the web upload from dev versions
2022-12-08 12:59:13 -06:00
Dave
149712b573 add script to compress firmware before ota upload (#1065)
* add script to compress firmware before ota upload

* add examples for OTA flashing/updating Sonoff RF Bridge

- use compress script to save space uploading firmware
- use "board_build.ldscript = eagle.flash.1m64.ld" to free some additional space for OTA flashing.
2021-08-29 06:27:23 -05:00
h2zero
2601d72017 Add uploading from documentation option. (#1048)
This allows for directly uploading OMG to ESP32 and ESp8266 devices from the upload section of the documentation.

This will upload the latest release binary for the device selected in the dropdown menu on the webpage.

A script has been added to generate the upload page when a new release is issued.
2021-08-02 15:50:19 -05:00
Florian
046a251b0c [CI] Enable test env removing during the publish process 2020-09-09 16:19:18 -05:00
Leon Kiefer
b7a4591518 updated prepare deploy script to exclude some envs (#707) 2020-07-24 08:45:29 -05:00
Leon Kiefer
95a3f8e0b6 replace travis with GitHub Actions close #626 (#629)
added GitHub Actions to documentation
2020-06-12 18:44:34 -05:00
Florian
b4e65aef6f Arduino IDE library packaging modification
#579
Update doc to reflect necessary manual changes
Implement a part of these changes to automatic script
2020-04-27 12:35:42 -05:00
1technophile
34d31600ee Correct vuepress config error and add code auto deployment 2019-11-08 22:44:48 +01:00
Florian
c0204de40f automate libraries deployment for arduino IDE (#488)
make the use of arduino IDE easier by automating the libraries deposit into github releases
2019-11-08 21:35:28 +01:00