mirror of
https://github.com/esphome/esphome.git
synced 2025-08-03 00:47:47 +00:00
Merge remote-tracking branch 'upstream/dev' into integration
This commit is contained in:
commit
ec3660e8ae
30
.github/workflows/ci.yml
vendored
30
.github/workflows/ci.yml
vendored
@ -345,20 +345,31 @@ jobs:
|
||||
run: script/ci-suggest-changes
|
||||
if: always()
|
||||
|
||||
clang-tidy-deps:
|
||||
name: Clang-tidy dependencies
|
||||
runs-on: ubuntu-24.04
|
||||
needs:
|
||||
- common
|
||||
- ci-custom
|
||||
- clang-format
|
||||
- pytest
|
||||
- determine-jobs
|
||||
if: |
|
||||
always() &&
|
||||
needs.determine-jobs.outputs.clang-tidy == 'true'
|
||||
steps:
|
||||
- run: echo "All clang-tidy dependencies ready"
|
||||
|
||||
clang-tidy:
|
||||
name: ${{ matrix.name }}
|
||||
runs-on: ubuntu-24.04
|
||||
needs:
|
||||
- common
|
||||
- ruff
|
||||
- ci-custom
|
||||
- clang-format
|
||||
- flake8
|
||||
- pylint
|
||||
- pytest
|
||||
- pyupgrade
|
||||
- clang-tidy-deps
|
||||
- determine-jobs
|
||||
if: needs.determine-jobs.outputs.clang-tidy == 'true'
|
||||
if: |
|
||||
always() &&
|
||||
needs.determine-jobs.outputs.clang-tidy == 'true' &&
|
||||
needs.clang-tidy-deps.result == 'success'
|
||||
env:
|
||||
GH_TOKEN: ${{ github.token }}
|
||||
strategy:
|
||||
@ -575,6 +586,7 @@ jobs:
|
||||
- pytest
|
||||
- integration-tests
|
||||
- pyupgrade
|
||||
- clang-tidy-deps
|
||||
- clang-tidy
|
||||
- determine-jobs
|
||||
- test-build-components
|
||||
|
@ -1,6 +1,13 @@
|
||||
---
|
||||
# See https://pre-commit.com for more information
|
||||
# See https://pre-commit.com/hooks.html for more hooks
|
||||
|
||||
ci:
|
||||
autoupdate_commit_msg: 'pre-commit: autoupdate'
|
||||
autoupdate_schedule: weekly
|
||||
# Skip hooks that have issues in pre-commit CI environment
|
||||
skip: [pylint, clang-tidy-hash, yamllint]
|
||||
|
||||
repos:
|
||||
- repo: https://github.com/astral-sh/ruff-pre-commit
|
||||
# Ruff version.
|
||||
|
@ -146,8 +146,11 @@ def _substitute_item(substitutions, item, path, jinja, ignore_missing):
|
||||
if sub is not None:
|
||||
item[k] = sub
|
||||
for old, new in replace_keys:
|
||||
item[new] = merge_config(item.get(old), item.get(new))
|
||||
del item[old]
|
||||
if str(new) == str(old):
|
||||
item[new] = item[old]
|
||||
else:
|
||||
item[new] = merge_config(item.get(old), item.get(new))
|
||||
del item[old]
|
||||
elif isinstance(item, str):
|
||||
sub = _expand_substitutions(substitutions, item, path, jinja, ignore_missing)
|
||||
if isinstance(sub, JinjaStr) or sub != item:
|
||||
|
@ -17,3 +17,5 @@ test_list:
|
||||
- ${undefined_var}
|
||||
- $undefined_var
|
||||
- ${ undefined_var }
|
||||
- key1: 1
|
||||
key2: 2
|
||||
|
@ -19,3 +19,5 @@ test_list:
|
||||
- ${undefined_var}
|
||||
- $undefined_var
|
||||
- ${ undefined_var }
|
||||
- key${var1}: 1
|
||||
key${var2}: 2
|
||||
|
@ -6,6 +6,7 @@ package_result:
|
||||
root file
|
||||
- Double substitution also works; the value of var7 is 79, where A is a package
|
||||
var
|
||||
- key79: Key should substitute to key79
|
||||
local_results:
|
||||
- The value of B is 5
|
||||
- 'You will see, however, that
|
||||
|
@ -1,3 +1,4 @@
|
||||
package_result:
|
||||
- The value of A*B is ${A * B}, where A is a package var and B is a substitution in the root file
|
||||
- Double substitution also works; the value of var7 is ${var$A}, where A is a package var
|
||||
- key${var7}: Key should substitute to key79
|
||||
|
Loading…
x
Reference in New Issue
Block a user