mirror of
https://github.com/esphome/esphome.git
synced 2026-05-19 03:01:49 +08:00
5e3c44d48f
CI / Create common environment (push) Has been cancelled
CI / Check pylint (push) Has been cancelled
CI / Run script/ci-custom (push) Has been cancelled
CI / Run pytest (macOS-latest, 3.11) (push) Has been cancelled
CI / Run pytest (macOS-latest, 3.14) (push) Has been cancelled
CI / Run pytest (ubuntu-latest, 3.11) (push) Has been cancelled
CI / Run pytest (ubuntu-latest, 3.13) (push) Has been cancelled
CI / Run pytest (ubuntu-latest, 3.14) (push) Has been cancelled
CI / Run pytest (windows-latest, 3.11) (push) Has been cancelled
CI / Run pytest (windows-latest, 3.14) (push) Has been cancelled
CI / Determine which jobs to run (push) Has been cancelled
CI / Run integration tests (push) Has been cancelled
CI / Run C++ unit tests (push) Has been cancelled
CI / Run script/clang-tidy for ESP32 IDF (push) Has been cancelled
CI / Run script/clang-tidy for ESP8266 (push) Has been cancelled
CI / Run script/clang-tidy for ZEPHYR (push) Has been cancelled
CI / Run script/clang-tidy for ESP32 Arduino (push) Has been cancelled
CI / Run script/clang-tidy for ESP32 Arduino 1/4 (push) Has been cancelled
CI / Run script/clang-tidy for ESP32 Arduino 2/4 (push) Has been cancelled
CI / Run script/clang-tidy for ESP32 Arduino 3/4 (push) Has been cancelled
CI / Run script/clang-tidy for ESP32 Arduino 4/4 (push) Has been cancelled
CI / Test components batch (${{ matrix.components }}) (push) Has been cancelled
CI / pre-commit.ci lite (push) Has been cancelled
CI / Build target branch for memory impact (push) Has been cancelled
CI / Build PR branch for memory impact (push) Has been cancelled
CI / Comment memory impact (push) Has been cancelled
CI / CI Status (push) Has been cancelled
CI for docker images / Build docker containers (docker, ubuntu-24.04) (push) Has been cancelled
CI for docker images / Build docker containers (docker, ubuntu-24.04-arm) (push) Has been cancelled
CI for docker images / Build docker containers (ha-addon, ubuntu-24.04) (push) Has been cancelled
CI for docker images / Build docker containers (ha-addon, ubuntu-24.04-arm) (push) Has been cancelled
Synchronise Device Classes from Home Assistant / Sync Device Classes (push) Has been cancelled
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
62 lines
1.9 KiB
Python
Executable File
62 lines
1.9 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
|
|
from __future__ import annotations
|
|
|
|
import argparse
|
|
from pathlib import Path
|
|
import subprocess
|
|
import sys
|
|
import tempfile
|
|
|
|
from esphome.components.rp2040 import RECOMMENDED_ARDUINO_FRAMEWORK_VERSION
|
|
from esphome.components.rp2040.generate_boards import generate
|
|
from esphome.helpers import write_file_if_changed
|
|
|
|
ver = RECOMMENDED_ARDUINO_FRAMEWORK_VERSION
|
|
version_tag: str = f"{ver.major}.{ver.minor}.{ver.patch}"
|
|
root: Path = Path(__file__).parent.parent
|
|
boards_file_path: Path = root / "esphome" / "components" / "rp2040" / "boards.py"
|
|
|
|
|
|
def main(check: bool) -> None:
|
|
with tempfile.TemporaryDirectory() as tempdir:
|
|
subprocess.run(
|
|
[
|
|
"git",
|
|
"clone",
|
|
"-q",
|
|
"-c",
|
|
"advice.detachedHead=false",
|
|
"--depth",
|
|
"1",
|
|
"--branch",
|
|
version_tag,
|
|
"https://github.com/earlephilhower/arduino-pico",
|
|
tempdir,
|
|
],
|
|
check=True,
|
|
)
|
|
|
|
content: str = generate(Path(tempdir))
|
|
|
|
if check:
|
|
existing_content: str = boards_file_path.read_text(encoding="utf-8")
|
|
if existing_content != content:
|
|
print("esphome/components/rp2040/boards.py is not up to date.")
|
|
print("Please run `script/generate-rp2040-boards.py`")
|
|
sys.exit(1)
|
|
print("esphome/components/rp2040/boards.py is up to date")
|
|
elif write_file_if_changed(boards_file_path, content):
|
|
print("RP2040 boards updated successfully.")
|
|
|
|
|
|
if __name__ == "__main__":
|
|
parser: argparse.ArgumentParser = argparse.ArgumentParser()
|
|
parser.add_argument(
|
|
"--check",
|
|
help="Check if the boards.py file is up to date.",
|
|
action="store_true",
|
|
)
|
|
args: argparse.Namespace = parser.parse_args()
|
|
main(args.check)
|