-
Notifications
You must be signed in to change notification settings - Fork 183
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Automate the creation of Linux environments for Dangerzone testing #286
Comments
A way to implement this feature could be to run these environments in separate containers. This approach has the following benefits:
The drawbacks in this approach are the following:
For (1), we can make the first containerization layer as privileged as the user in the host. Security-wise this should not be much of an issue, since it's an improvement from building Dangerzone directly on the host. For (2), we need to mount the X11 / Wayland sockets to the container, and we can document how it works. |
Some notes on running Podman within another container:
|
Introduce `dev_scripts/env.py`, which is a script for building Dangerzone environments for various Linux distros, and running commands in them. Closes #286
Add a design document for `dev_scripts/env.py`, which is a script that creates Dangerzone environments for various Linux distros. In this design document, we explain various architectural decisions that we have taken for this script, as well as how it works under the hood, what are its shortcomings, etc. Refs #286
Ignore the `dev_scripts/envs` folder when running tests or linting code, as it may contain files that are not owned by the current user. In this case, we've seen that pytest/black etc. fail. This typically happens when the user has run Dangerzone in a containerized environment (see #286), and Podman created a directory with files owned by the user in the nested container.
Introduce `dev_scripts/env.py`, which is a script for building Dangerzone environments for various Linux distros, and running commands in them. Closes #286
Add a design document for `dev_scripts/env.py`, which is a script that creates Dangerzone environments for various Linux distros. In this design document, we explain various architectural decisions that we have taken for this script, as well as how it works under the hood, what are its shortcomings, etc. Refs #286
Ignore the `dev_scripts/envs` folder when running tests or linting code, as it may contain files that are not owned by the current user. In this case, we've seen that pytest/black etc. fail. This typically happens when the user has run Dangerzone in a containerized environment (see #286), and Podman created a directory with files owned by the user in the nested container.
Introduce `dev_scripts/env.py`, which is a script for building Dangerzone environments for various Linux distros, and running commands in them. Closes #286
Add a design document for `dev_scripts/env.py`, which is a script that creates Dangerzone environments for various Linux distros. In this design document, we explain various architectural decisions that we have taken for this script, as well as how it works under the hood, what are its shortcomings, etc. Refs #286
Ignore the `dev_scripts/envs` folder when running tests or linting code, as it may contain files that are not owned by the current user. In this case, we've seen that pytest/black etc. fail. This typically happens when the user has run Dangerzone in a containerized environment (see #286), and Podman created a directory with files owned by the user in the nested container.
Introduce `dev_scripts/env.py`, which is a script for building Dangerzone environments for various Linux distros, and running commands in them. Closes #286
Add a design document for `dev_scripts/env.py`, which is a script that creates Dangerzone environments for various Linux distros. In this design document, we explain various architectural decisions that we have taken for this script, as well as how it works under the hood, what are its shortcomings, etc. Refs #286
Ignore the `dev_scripts/envs` folder when running tests or linting code, as it may contain files that are not owned by the current user. In this case, we've seen that pytest/black etc. fail. This typically happens when the user has run Dangerzone in a containerized environment (see #286), and Podman created a directory with files owned by the user in the nested container.
Add a design document for `dev_scripts/env.py`, which is a script that creates Dangerzone environments for various Linux distros. In this design document, we explain various architectural decisions that we have taken for this script, as well as how it works under the hood, what are its shortcomings, etc. Refs #286
Ignore the `dev_scripts/envs` folder when running tests or linting code, as it may contain files that are not owned by the current user. In this case, we've seen that pytest/black etc. fail. This typically happens when the user has run Dangerzone in a containerized environment (see #286), and Podman created a directory with files owned by the user in the nested container.
Dangerzone is a multi-platform application, currently available on Windows, MacOS, and several Linux flavors. In order to test new Dangerzone features on these environments, we need to have access to them. Typically, this requires dedicated hardware, and some time to provision (and possibly deprovision) these environments.
This issue focuses on the Linux environments that we need to support. Windows and MacOS environments are still a hard problem, mainly because they require nested virtualization, if the user does not have dedicated hardware.
As of writing this, we are supporting 8 Linux environments (source):
Our QA requirements for adequately testing these environments are the following:
BUILD.md
, which includes installing build tools, Poetry, and installing the project's dependencies..deb
/.rpm
package for Dangerzone. This step requires a dev environment (see 1).The text was updated successfully, but these errors were encountered: