J. Nick Koston
6b88820400
Remove debug logging now that CodSpeed is working
2026-03-16 21:59:36 -10:00
J. Nick Koston
baafecd0b2
Enable CodSpeed debug logging to diagnose 0 benchmarks issue
2026-03-16 21:50:04 -10:00
J. Nick Koston
637180a628
Fix review issues: boolean comparison, missing trigger, constants
...
- Fix benchmarks CI condition: 'true' not 'True' (jq outputs lowercase)
- Add script/setup_codspeed_lib.py to benchmark infrastructure triggers
- Extract BENCHMARK_INFRASTRUCTURE_FILES and BENCHMARKS_COMPONENTS_PATH
as top-level constants in determine-jobs.py
- Fix extra_include_dirs docstring
2026-03-16 21:30:00 -10:00
J. Nick Koston
f13513239d
Fix CodSpeed instrumentation with PlatformIO
...
- Use CodSpeed's codspeed-cpp fork with proper instrumentation for
simulation mode benchmark detection
- setup_codspeed_lib.py creates a flat PlatformIO-compatible library
by combining google_benchmark sources, codspeed core, and
instrument-hooks into a single library directory
- Renames .cc to .cpp (PlatformIO doesn't compile .cc by default)
- Adds all required defines: CODSPEED_ENABLED, CODSPEED_SIMULATION,
CODSPEED_VERSION, CODSPEED_ROOT_DIR, CODSPEED_MODE_DISPLAY
- Output JSON config consumed by cpp_benchmark.py via env var
2026-03-16 21:21:44 -10:00
J. Nick Koston
ff39fcbb94
Move CodSpeed library setup to Python script
...
Extract inline shell from CI workflow into script/setup_codspeed_lib.py.
Pins codspeed-cpp to a specific commit SHA for reproducibility.
2026-03-16 21:02:39 -10:00
J. Nick Koston
5cd2f58582
Use CodSpeed's codspeed-cpp fork for simulation mode
...
- Clone CodSpeed's codspeed-cpp repo (pinned to SHA) in CI
- Create PlatformIO-compatible library.json combining google_benchmark
and codspeed core sources for proper instrumentation
- Pass library path via BENCHMARK_LIB env var to cpp_benchmark.py
- Use simulation mode for reproducible CPU instruction counting
- Locally, vanilla google/benchmark is used (no CodSpeed instrumentation)
2026-03-16 21:01:31 -10:00
J. Nick Koston
9c148da76a
Add core benchmarks dir, fix core pseudo-component, use simulation mode
...
- Move scheduler/loop/helpers benchmarks to tests/benchmarks/components/core/
- Add random_float and random_uint32 benchmarks (from ol.yaml)
- Fix core pseudo-component crash: skip components where get_component()
returns None when adding dependencies to config
- Use CodSpeed simulation mode (CPU instruction counting) for reproducible
CI results instead of walltime
2026-03-16 20:49:48 -10:00
J. Nick Koston
d9cab03c09
Move benchmarks into ci.yml with determine-jobs integration
...
- Add should_run_benchmarks() to determine-jobs.py that checks if
directly changed components have benchmark files (no dependency
expansion - changing sensor won't trigger api benchmarks)
- Move benchmark job from separate workflow into ci.yml
- Pin CodSpeed action to full commit SHA
- Delete separate ci-benchmarks.yml
2026-03-16 20:44:37 -10:00
J. Nick Koston
38ff332fec
[core] Add CodSpeed C++ benchmarks for protobuf and main loop
...
Add automated benchmarks using Google Benchmark to prevent performance
regressions in the API protobuf encoding/decoding and core loop paths.
Benchmarks cover:
- Protobuf encode: SensorState, BinarySensorState, HelloResponse,
LightState, DeviceInfoResponse (20 nested devices + 20 areas)
- Protobuf decode: HelloRequest, SwitchCommand, LightCommand
- Protobuf calculate_size and full calc+encode send path
- Varint parse/encode/size for various value ranges
- Scheduler call/next_schedule_in with idle and active timers
- Application loop component dispatch and blocking guard overhead
Infrastructure:
- Extract shared build logic from cpp_unit_test.py into test_helpers.py
- Add cpp_benchmark.py mirroring the unit test build pattern
- Support benchmark.yaml per component dir for declaring dependencies
- Add CodSpeed CI workflow triggered on api/core changes
- Fix ProtoMessage protected destructor on host platform
2026-03-16 19:25:46 -10:00
dependabot[bot] and dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
5ee3e94ca1
Bump actions/create-github-app-token from 2.2.1 to 3.0.0 ( #14868 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-16 09:57:33 -10:00
dependabot[bot] and dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
037f75e0ff
Bump github/codeql-action from 4.32.6 to 4.33.0 ( #14869 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-16 09:57:17 -10:00
Jonathan Swoboda
9362d9745e
[ci] Fix clang-tidy hash check 403 error on fork PRs ( #14860 )
2026-03-16 09:41:21 -10:00
J. Nick Koston and Copilot Autofix powered by AI
5e3c44d48f
[rp2040] Add CI check for boards.py freshness ( #14754 )
...
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-03-13 13:28:55 -10:00
J. Nick Koston
56f7b3e61b
[ci] Only run integration tests for changed components ( #14776 )
2026-03-13 13:20:35 -10:00
dependabot[bot] and dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
a060f175ad
Bump actions/download-artifact from 8.0.0 to 8.0.1 ( #14705 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-11 09:28:46 -10:00
Jesse Hills
b6ff7185e7
[ci] Dont run codeowners workflows on release or beta PRs ( #14703 )
2026-03-12 08:04:07 +13:00
J. Nick Koston
928f6f1866
[ci] Add PR title check for unescaped angle brackets ( #14701 )
2026-03-12 07:57:43 +13:00
J. Nick Koston
dadbdd0f7b
[ci] Make codeowner label update non-fatal for fork PRs ( #14668 )
2026-03-09 12:34:31 -10:00
J. Nick Koston
ad5811280a
[ci] Add medium-pr label for PRs with ≤100 lines changed ( #14628 )
2026-03-08 10:59:43 -10:00
dependabot[bot] and dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
c26c5935b6
Bump github/codeql-action from 4.32.5 to 4.32.6 ( #14566 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-06 12:12:19 -10:00
J. Nick Koston
6e3bc7b1dd
[ci] Use pull_request_target for codeowner approved label workflow ( #14561 )
2026-03-06 07:33:05 -10:00
dependabot[bot] and dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
99a805cba6
Bump the docker-actions group across 1 directory with 2 updates ( #14520 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-05 09:52:10 -10:00
J. Nick Koston and Claude Opus 4.6
0ff5270632
[ci] Fix codeowner approval label workflow for fork PRs ( #14490 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-04 16:57:19 -10:00
J. Nick Koston and Copilot
61ea6c3b2f
[ci] Add missing issues: write permission to codeowner approval workflow ( #14477 )
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-03-04 17:46:26 -05:00
J. Nick Koston
95544dddf8
[ci] Add code-owner-approved label workflow ( #14421 )
2026-03-03 07:11:47 -10:00
Jonathan Swoboda and Claude Opus 4.6
7a87348855
[ci] Skip PR title check for dependabot PRs ( #14418 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-02 16:49:14 -05:00
dependabot[bot] and dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
727fa07377
Bump github/codeql-action from 4.32.4 to 4.32.5 ( #14416 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-02 11:44:53 -10:00
Jonathan Swoboda and Copilot
f6755aabae
[ci] Add PR title format check ( #14345 )
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-02-27 15:18:07 -05:00
dependabot[bot] and dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
edd63e3d2d
Bump actions/download-artifact from 7.0.0 to 8.0.0 ( #14327 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-27 14:43:10 -05:00
J. Nick Koston
317dd5b2da
[ci] Skip memory impact target branch build when tests don't exist ( #14316 )
2026-02-27 08:42:08 -10:00
dependabot[bot] and dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
07406c96e1
Bump actions/upload-artifact from 6.0.0 to 7.0.0 ( #14326 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-26 21:35:15 -10:00
dependabot[bot] and dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
b85a49cdb3
Bump github/codeql-action from 4.32.3 to 4.32.4 ( #14161 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-20 13:27:15 -06:00
dependabot[bot] and dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
5bb863f7da
Bump actions/stale from 10.1.1 to 10.2.0 ( #14036 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-17 13:24:39 -06:00
dependabot[bot] and dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
931b47673c
Bump github/codeql-action from 4.32.2 to 4.32.3 ( #13981 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-13 16:22:26 -06:00
Jonathan Swoboda and Claude Opus 4.6
db6aea8969
Allow Python 3.14 ( #13945 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-11 22:11:48 -05:00
dependabot[bot] and dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
6decdfad26
Bump github/codeql-action from 4.32.1 to 4.32.2 ( #13781 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-06 10:05:10 +01:00
dependabot[bot] and dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
efecea9450
Bump github/codeql-action from 4.32.0 to 4.32.1 ( #13726 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-03 02:27:34 +01:00
dependabot[bot] and dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
cd43f8474e
Bump actions/cache from 5.0.2 to 5.0.3 ( #13621 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-29 14:35:32 -06:00
Clyde Stubbs
6d8294c2d3
[workflows] Refactor auto-label-pr script into modular JS ( #13582 )
2026-01-29 09:42:55 +13:00
dependabot[bot] and dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
6f22509883
Bump docker/login-action from 3.6.0 to 3.7.0 in the docker-actions group ( #13606 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-28 09:42:05 -10:00
dependabot[bot] and dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
dd91039ff1
Bump github/codeql-action from 4.31.11 to 4.32.0 ( #13559 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-26 15:43:16 -10:00
dependabot[bot] and dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
42e50ca178
Bump github/codeql-action from 4.31.10 to 4.31.11 ( #13488 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-23 16:26:11 -10:00
dependabot[bot] and dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
04e102f344
Bump actions/setup-python from 6.1.0 to 6.2.0 ( #13454 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-22 11:16:27 -10:00
dependabot[bot] and dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
bb67b1ca1e
Bump actions/checkout from 6.0.1 to 6.0.2 ( #13452 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-22 11:16:15 -10:00
dependabot[bot] and dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
673f46f761
Bump peter-evans/create-pull-request from 8.0.0 to 8.1.0 ( #13430 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-21 09:37:18 -10:00
dependabot[bot] and dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
bc78f80f77
Bump actions/cache from 5.0.1 to 5.0.2 ( #13276 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-16 09:36:29 -10:00
dependabot[bot] and dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
5890cdf69a
Bump github/codeql-action from 4.31.9 to 4.31.10 ( #13173 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-12 16:31:51 -10:00
dependabot[bot] and dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
59b38d79b4
Bump docker/setup-buildx-action from 3.11.1 to 3.12.0 in the docker-actions group ( #12574 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-19 09:18:52 -10:00
dependabot[bot] and dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1b5af7d21d
Bump github/codeql-action from 4.31.8 to 4.31.9 ( #12524 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-17 15:22:19 -10:00
dependabot[bot] and dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
4993bb2f49
Bump github/codeql-action from 4.31.7 to 4.31.8 ( #12451 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-12 13:16:41 -06:00