J. Nick Koston
b8c6bd69c9
[ci] Cache importtime-waterfall in the shared venv
...
The import-time job previously did a `pip install` on every run (~1s
and some noisy output). Moving the pin to `requirements_test.txt` bakes
it into the venv that `common` already builds and caches, so the job
restores it from the cache and skips the install step.
2026-04-23 14:42:18 -05:00
J. Nick Koston
0dd2a57ba4
[ci] Add import-time regression check for esphome.__main__
...
Adds a CI gate that runs `python -X importtime -c "import esphome.__main__"`
via importtime-waterfall's best-of-N harness, compares the root cumulative
time against a checked-in budget (script/import_time_budget.json, seeded
at 75.2ms with a 15% margin), and fails the build when top-level imports
regress.
The CLI pays this cost on every invocation before the requested command
even runs, so silently adding a top-level dep chain (the recent zeroconf
move in #13135 being the motivating case) hurts every user. The check
gives us a signal without waiting for user reports.
- script/check_import_time.py: --check / --update / --har PATH modes.
On regression, prints a ranked top-15 offenders table by self-time.
- script/import_time_budget.json: baseline + margin_pct.
- script/determine-jobs.py: should_run_import_time() gates the job on
esphome/**/*.py, requirements.txt, requirements_dev.txt, pyproject.toml,
or changes to the check itself.
- .github/workflows/ci.yml: new import-time job, runs when gated and
uploads a waterfall HAR artifact (14-day retention) for inspection.
2026-04-23 14:13:01 -05:00
dependabot[bot]
a8bd035b62
Bump CodSpeedHQ/action from 4.13.1 to 4.14.0 ( #15880 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-21 04:44:25 +02:00
dependabot[bot]
ce6bffb65c
Bump actions/cache from 5.0.4 to 5.0.5 ( #15713 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-13 11:00:24 -10:00
dependabot[bot]
ae96f82b82
Bump actions/upload-artifact from 7.0.0 to 7.0.1 ( #15631 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-10 10:20:04 -10:00
J. Nick Koston
8f6d489a9a
[ci] Use --base-only for memory impact builds ( #15598 )
2026-04-09 11:48:33 -04:00
dependabot[bot]
62d84db5a4
Bump CodSpeedHQ/action from 4.13.0 to 4.13.1 ( #15577 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-08 09:38:17 -10:00
Clyde Stubbs
6f05e3d204
[ci] Run ci-custom.py as a pre-commit check ( #15411 )
2026-04-03 12:54:44 +11:00
dependabot[bot]
64e836f9c8
Bump CodSpeedHQ/action from 4.12.1 to 4.13.0 ( #15340 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-31 10:49:17 -10:00
dependabot[bot]
3152642571
Bump codecov/codecov-action from 5.5.3 to 6.0.0 ( #15194 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-26 09:48:06 -10:00
dependabot[bot]
7257bed1e9
Bump CodSpeedHQ/action from 4.11.1 to 4.12.1 ( #15024 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-20 10:41:20 -10:00
dependabot[bot]
ef3afe3e21
Bump codecov/codecov-action from 5.5.2 to 5.5.3 ( #14928 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-18 09:33:29 -10:00
dependabot[bot]
89066e3e20
Bump actions/cache from 5.0.3 to 5.0.4 ( #14929 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-18 09:33:00 -10:00
J. Nick Koston and Copilot Autofix powered by AI
77b7201eb8
[ci] Run CodSpeed benchmarks on push to dev for baseline ( #14899 )
...
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-03-17 13:08:45 -10:00
J. Nick Koston
1670f04a87
[core] Add CodSpeed C++ benchmarks for protobuf, main loop, and helpers ( #14878 )
2026-03-17 12:29:38 -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]
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
dependabot[bot]
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]
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
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]
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
dependabot[bot]
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]
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]
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]
2b40af3459
Bump actions/cache from 4.3.0 to 5.0.1 ( #12450 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-12 13:16:29 -06:00
dependabot[bot]
b3e967a233
Bump actions/download-artifact from 6.0.0 to 7.0.0 ( #12449 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-12 13:15:41 -06:00
dependabot[bot]
26a08e3ae3
Bump actions/upload-artifact from 5.0.0 to 6.0.0 ( #12452 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-12 13:15:28 -06:00
dependabot[bot]
1f0a27b181
Bump codecov/codecov-action from 5.5.1 to 5.5.2 ( #12408 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-10 22:34:24 +01:00
J. Nick Koston
5919355d18
[ci] Allow memory impact target branch build to fail without blocking CI ( #12381 )
2025-12-10 00:26:24 +01:00
Jesse Hills
8caaf53ef0
[CI] Update renamed action repo ( #12290 )
2025-12-05 12:53:13 +13:00
dependabot[bot]
708496c101
Bump actions/checkout from 6.0.0 to 6.0.1 ( #12259 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-02 13:45:38 -06:00
dependabot[bot]
70df4ecaa9
Bump actions/setup-python from 6.0.0 to 6.1.0 ( #12106 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-25 13:35:40 -06:00
dependabot[bot]
01addeae08
Bump actions/checkout from 5.0.1 to 6.0.0 ( #12022 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-20 13:11:41 -06:00
dependabot[bot]
23f85162d0
Bump actions/checkout from 5.0.0 to 5.0.1 ( #11957 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-17 15:39:01 -06:00
J. Nick Koston
060bb4159f
[ci] Cache component dependency graph for up to 3.4x faster determine-jobs ( #11648 )
2025-11-04 17:38:57 +13:00
J. Nick Koston
08aae39ea4
[ci] Consolidate component splitting into determine-jobs ( #11614 )
2025-10-30 14:27:28 +13:00
J. Nick Koston
03fd114371
[ci] Restore parallel execution for clang-tidy split mode ( #11613 )
2025-10-30 14:26:37 +13:00
dependabot[bot]
7549ca4d39
Bump actions/download-artifact from 5.0.0 to 6.0.0 ( #11521 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-29 00:20:13 -05:00
dependabot[bot]
33e7a2101b
Bump actions/upload-artifact from 4.6.2 to 5.0.0 ( #11520 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-29 00:20:05 -05:00
J. Nick Koston
78d780105b
[ci] Change upper Python version being tested to 3.13 ( #11587 )
2025-10-28 19:24:37 -05:00
ae50a09b4e
C++ components unit test framework ( #9284 )
...
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
Co-authored-by: J. Nick Koston <nick@koston.org >
2025-10-21 22:21:22 +00:00
J. Nick Koston and Copilot
ffb0e854b6
[ci] Optimize clang-tidy for small PRs by avoiding unnecessary job spitting ( #11402 )
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-10-21 10:24:46 +13:00
dependabot[bot]
426511e78d
Bump actions/download-artifact from 4.3.0 to 5.0.0 ( #11419 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-20 11:11:15 -10:00
862bbb7fe1
[ci] Fix memory impact analysis failing on fork PRs ( #11380 )
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
2025-10-19 13:09:09 -10:00
a0922bc8b0
[ci] Add automated memory impact analysis for pull requests ( #11242 )
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
2025-10-20 07:43:38 +13:00
J. Nick Koston and Jesse Hills
14d76e9e4e
[ci] Merge components with different buses to reduce CI time ( #11251 )
...
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com >
2025-10-16 16:36:03 +13:00
J. Nick Koston
7f8ca5ddef
[ci] Add Python 3.14 testing and streamline version matrix ( #11238 )
2025-10-14 19:49:48 -10:00
J. Nick Koston
1b0ca3360e
[ci] Group all PR builds, isolate direct changes for full validation on dev ( #11193 )
2025-10-14 19:49:14 -10:00