From cc7592ebf1e9116b7bc503e9c400c47e2296dff2 Mon Sep 17 00:00:00 2001 From: Douglas Raillard Date: Wed, 5 Apr 2023 11:40:17 +0100 Subject: [PATCH 1/5] lisa._kmod: Bump to Alpine v3.17.3 FEATURE --- lisa/_kmod.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lisa/_kmod.py b/lisa/_kmod.py index df1b0f226..05e62c10b 100644 --- a/lisa/_kmod.py +++ b/lisa/_kmod.py @@ -174,7 +174,7 @@ def _subprocess_log(*args, env=None, extra_env=None, **kwargs): @destroyablecontextmanager -def _make_chroot(make_vars, bind_paths=None, alpine_version='3.17.1', overlay_backend=None): +def _make_chroot(make_vars, bind_paths=None, alpine_version='3.17.3', overlay_backend=None): """ Create a chroot folder ready to be used to build a kernel. """ -- GitLab From 41e7791a16e187182362b9679b58c69bf1f77f7e Mon Sep 17 00:00:00 2001 From: Douglas Raillard Date: Wed, 5 Apr 2023 12:46:26 +0100 Subject: [PATCH 2/5] lisa.target: Restore compat with non-async devlib FIX Ensure compatibilty with older versions of devlib, which includes what is currently published on PyPI. --- lisa/target.py | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/lisa/target.py b/lisa/target.py index b7033c259..c76a3058c 100644 --- a/lisa/target.py +++ b/lisa/target.py @@ -49,6 +49,14 @@ from lisa._kmod import KernelTree, DynamicKmod from lisa.platforms.platinfo import PlatformInfo +try: + import devlib.utils.asyn +except ImportError: + _DEVLIB_HAS_ASYNC = False +else: + _DEVLIB_HAS_ASYNC = True + + class PasswordKeyDesc(KeyDesc): def pretty_format(self, v): return '' @@ -818,9 +826,17 @@ class Target(Loggable, HideExekallID, ExekallTaggable, Configurable): connection_settings=conn_settings, working_directory=workdir, connect=False, - max_async=max_async, ) + connect_kwargs = dict( + check_boot_completed=wait_boot, + timeout=wait_boot_timeout, + ) + + if _DEVLIB_HAS_ASYNC: + devlib_kwargs['max_async'] = max_async + connect_kwargs['max_async'] = max_async + devlib_kwargs = { k: v for k, v in devlib_kwargs.items() @@ -829,7 +845,7 @@ class Target(Loggable, HideExekallID, ExekallTaggable, Configurable): target = devlib_target_cls(**devlib_kwargs) - target.connect(check_boot_completed=wait_boot, timeout=wait_boot_timeout, max_async=max_async) + target.connect(**connect_kwargs) logger.debug(f'Target info: {dict(abi=target.abi, cpuinfo=target.cpuinfo, workdir=target.working_directory)}') target.setup() logger.info(f"Connected to target {(name or '')}") -- GitLab From 979e0a5e8030cef5e9554bc7b3c161922f911938 Mon Sep 17 00:00:00 2001 From: Douglas Raillard Date: Wed, 5 Apr 2023 12:50:08 +0100 Subject: [PATCH 3/5] doc/changes.rst: Add devlib version check to release checklist --- doc/changes.rst | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/doc/changes.rst b/doc/changes.rst index 8244a286b..54ed9cc66 100644 --- a/doc/changes.rst +++ b/doc/changes.rst @@ -124,26 +124,28 @@ Making a new release involves the following steps: * Android SDK installed by ``install_base.sh`` * Java version used by Android SDK in ``install_base.sh`` - 3. Create a ``vX.Y.Z`` tag. + 3. Ensure LISA can work with currently published version of devlib. - 4. Make the Python wheel. See ``tools/make-release.sh`` for some + 4. Create a ``vX.Y.Z`` tag. + + 5. Make the Python wheel. See ``tools/make-release.sh`` for some indications on that part. - 5. Install that wheel in a _fresh_ :ref:`Vagrant VM`. Ensure + 6. Install that wheel in a _fresh_ :ref:`Vagrant VM`. Ensure that the VM is reinstalled from scratch and that the vagrant box in use is up to date. - 6. Run ``tools/tests.sh`` in the VM and ensure no deprecated item scheduled + 7. Run ``tools/tests.sh`` in the VM and ensure no deprecated item scheduled for removal in the new version is still present in the sources (should result in import-time exceptions). - 7. Ensure all CIs in use are happy. + 8. Ensure all CIs in use are happy. - 8. Push the ``vX.Y.Z`` tag in the main repo + 9. Push the ``vX.Y.Z`` tag in the main repo - 9. Update the ``release`` branch to be at the same commit as the ``vX.Y.Z`` tag. + 10. Update the ``release`` branch to be at the same commit as the ``vX.Y.Z`` tag. - 10. Upload the wheel on PyPI. + 11. Upload the wheel on PyPI. ****************************** -- GitLab From 413bbbe78f88e5ca88a8e733fa02ad9efee50a35 Mon Sep 17 00:00:00 2001 From: Douglas Raillard Date: Wed, 5 Apr 2023 13:19:31 +0100 Subject: [PATCH 4/5] tools/make-release: Add warning on dirty git trees --- tools/make-release | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tools/make-release b/tools/make-release index a34482cab..f285c26ad 100755 --- a/tools/make-release +++ b/tools/make-release @@ -1,5 +1,7 @@ #! /usr/bin/env bash +# ENSURE THE GIT TREE DOES NOT CONTAIN ANY EXTRA FILE, AS THEY MIGHT BE +# INCLUDED IN THE WHEEL (especially in lisa/_assets/) # Inspired by: https://packaging.python.org/tutorials/packaging-projects/ set -e -- GitLab From e9d2a99f3961a2388d2ef9143b30918da5298e8e Mon Sep 17 00:00:00 2001 From: Douglas Raillard Date: Wed, 5 Apr 2023 11:40:34 +0100 Subject: [PATCH 5/5] lisa.version: Bump to v3.1.0 --- lisa/version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lisa/version.py b/lisa/version.py index 97c898f26..979d1cbb1 100644 --- a/lisa/version.py +++ b/lisa/version.py @@ -21,7 +21,7 @@ from subprocess import CalledProcessError from lisa._git import get_sha1, get_uncommited_patch -version_tuple = (3, 0, 1) +version_tuple = (3, 1, 0) def format_version(version): return '.'.join(str(part) for part in version) -- GitLab