diff options
author | xengineering <me@xengineering.eu> | 2025-07-26 19:15:06 +0200 |
---|---|---|
committer | xengineering <me@xengineering.eu> | 2025-07-26 19:15:06 +0200 |
commit | 11078651756014631166cb8f0bf2d8bce18e56d1 (patch) | |
tree | d2e7e262d5f7dbbec4a41b5d86c1955b73b6a1c2 /tools | |
parent | d3e7f19f1f87b03e9a7c8a170b9c4351ac565268 (diff) | |
parent | 376a2f91964527bfb6b57661a9e81a4d5544f288 (diff) | |
download | iot-contact-11078651756014631166cb8f0bf2d8bce18e56d1.tar iot-contact-11078651756014631166cb8f0bf2d8bce18e56d1.tar.zst iot-contact-11078651756014631166cb8f0bf2d8bce18e56d1.zip |
Merge implementation of tar archive deployment
Deploying all build artifacts in a single tar archive file makes
deployment easier. The bundle stays consistent, GPG signatures can later
easily provided too, the archive and its top-level directory can have
the same and long name and the further paths in the archive can stay
short.
Diffstat (limited to 'tools')
-rwxr-xr-x | tools/deploy.py.in (renamed from tools/deploy.py) | 11 | ||||
-rw-r--r-- | tools/meson.build | 8 |
2 files changed, 13 insertions, 6 deletions
diff --git a/tools/deploy.py b/tools/deploy.py.in index 26048e8..8eeecda 100755 --- a/tools/deploy.py +++ b/tools/deploy.py.in @@ -7,8 +7,8 @@ import pathlib SCRIPT = pathlib.Path(__file__) -SOURCE_ROOT = SCRIPT.parent.parent.resolve() -ARTIFACTS_DEFAULT = SOURCE_ROOT / "build" / "artifacts" +BUILD_ROOT = SCRIPT.parent.parent.resolve() +ARTIFACTS_DEFAULT = BUILD_ROOT / "@PROJECT_VERSION_STRING@.tar.zst" def main() -> None: @@ -20,7 +20,7 @@ def main() -> None: "-a", "--artifacts", default=ARTIFACTS_DEFAULT, - help="local path to artifacts folder", + help="local path to artifacts archive file", ) parser.add_argument( "-H", "--host", default="cloud", help="target `Host` name from ~/.ssh/config" @@ -28,7 +28,7 @@ def main() -> None: parser.add_argument( "-p", "--path", - default="/srv/http/deploy.xengineering.eu/public/git/iot-contact/main/", + default="/srv/http/deploy.xengineering.eu/public/git/iot-contact/", help="remote path to destination folder on server", ) parser.add_argument( @@ -43,8 +43,7 @@ def main() -> None: command = [ "rsync", "-av", - "--delete", - f"{str(pathlib.Path(args.artifacts).resolve())}/", + f"{str(pathlib.Path(args.artifacts).resolve())}", f"{args.host}:{args.path}", ] diff --git a/tools/meson.build b/tools/meson.build index f58c54b..2a33d0e 100644 --- a/tools/meson.build +++ b/tools/meson.build @@ -1,3 +1,11 @@ configure_zephyr = meson.current_source_dir() / 'configure_zephyr.py' build_zephyr = meson.current_source_dir() / 'build_zephyr.py' make_factory_image = meson.current_source_dir() / 'make_factory_image.py' + +configure_file( + configuration : { + 'PROJECT_VERSION_STRING': project_version_string, + }, + input : 'deploy.py.in', + output : 'deploy.py', +) |