* installer: improve error handling and logging
Co-authored-by: Bjorn Neergaard <bjorn@neersighted.com>
* installer: default to using in-built venv module
This change refactors virtual environment creation and introduces a new
wrapper to handle command execution etc. If venv module is not
available, in cases like that of the ubuntu distribution where the
module is not part of the default python install, the virtualenv
package is used by fetching the appropriate zipapp for the package for
the python runtime.
Resolves: #4089Resolves: #4093
* ci/installer: upload failure logs
* installer: preserve existing environment on failure
This change ensures that if creation of a new environment fails, any
previously existing environment is restored.
Co-authored-by: Bjorn Neergaard <bjorn@neersighted.com>