mirror of
https://github.com/esphome/esphome.git
synced 2025-09-01 19:02:18 +01:00
Refactor docker build system and workflows (#2023)
This commit is contained in:
@@ -1,50 +0,0 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
import argparse
|
||||
import re
|
||||
import sys
|
||||
|
||||
|
||||
def sub(path, pattern, repl, expected_count=1):
|
||||
with open(path) as fh:
|
||||
content = fh.read()
|
||||
content, count = re.subn(pattern, repl, content, flags=re.MULTILINE)
|
||||
if expected_count is not None:
|
||||
assert count == expected_count, f"Pattern {pattern} replacement failed!"
|
||||
with open(path, "wt") as fh:
|
||||
fh.write(content)
|
||||
|
||||
|
||||
def write_version(version: str):
|
||||
for p in [
|
||||
".github/workflows/ci-docker.yml",
|
||||
".github/workflows/release-dev.yml",
|
||||
".github/workflows/release.yml",
|
||||
]:
|
||||
sub(p, r'base_version=".*"', f'base_version="{version}"')
|
||||
|
||||
sub(
|
||||
"docker/Dockerfile",
|
||||
r"ARG BUILD_FROM=esphome/esphome-base-amd64:.*",
|
||||
f"ARG BUILD_FROM=esphome/esphome-base-amd64:{version}",
|
||||
)
|
||||
sub(
|
||||
"docker/Dockerfile.lint",
|
||||
r"FROM esphome/esphome-lint-base:.*",
|
||||
f"FROM esphome/esphome-lint-base:{version}",
|
||||
)
|
||||
|
||||
|
||||
def main():
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument("new_version", type=str)
|
||||
args = parser.parse_args()
|
||||
|
||||
version = args.new_version
|
||||
print(f"Bumping to {version}")
|
||||
write_version(version)
|
||||
return 0
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
sys.exit(main() or 0)
|
@@ -50,16 +50,10 @@ def sub(path, pattern, repl, expected_count=1):
|
||||
|
||||
|
||||
def write_version(version: Version):
|
||||
sub(
|
||||
"esphome/const.py", r"^MAJOR_VERSION = \d+$", f"MAJOR_VERSION = {version.major}"
|
||||
)
|
||||
sub(
|
||||
"esphome/const.py", r"^MINOR_VERSION = \d+$", f"MINOR_VERSION = {version.minor}"
|
||||
)
|
||||
sub(
|
||||
"esphome/const.py",
|
||||
r"^PATCH_VERSION = .*$",
|
||||
f'PATCH_VERSION = "{version.full_patch}"',
|
||||
r"^__version__ = .*$",
|
||||
f'__version__ = "{version}"',
|
||||
)
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user