-
Notifications
You must be signed in to change notification settings - Fork 47
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Force series16 to install dependencies (#661)
* Force snapcraft.yaml for s16 to install deps There does not seem to be another way to install the dependencies using the pyproject key. This is due to the fact that there is no pip/setuptools/other backend that seem to support it on such an old version of python * Force also metabox source runs to install deps Minor: python may not be python3, call python3 * New test plan check installation * Dependency test script for metabox-provider * Add metabox scenario to validate installation * Renamed all jobs to the same name * Removed test plan * Tag test * Minor: removed empty line
- Loading branch information
Showing
6 changed files
with
136 additions
and
9 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
63 changes: 63 additions & 0 deletions
63
metabox/metabox/metabox-provider/bin/dependency_installation.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,63 @@ | ||
#!/usr/bin/env python3 | ||
# Copyright (C) 2023 Canonical Ltd. | ||
# | ||
# Authors: | ||
# Massimiliano Girardi <massimiliano.girardi@canonical.com> | ||
# | ||
# This program is free software: you can redistribute it and/or modify | ||
# it under the terms of the GNU General Public License version 3, | ||
# as published by the Free Software Foundation. | ||
# This program is distributed in the hope that it will be useful, | ||
# but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
# GNU General Public License for more details. | ||
# | ||
# You should have received a copy of the GNU General Public License | ||
# along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
|
||
|
||
""" | ||
This module imports all dependencies of checkbox-ng and checkbox-support. | ||
This allows us to verify that all dependencies are actually installed by | ||
the install process, without this modules checkbox does not work! | ||
If you have updated the dependency list of the following, update this test | ||
as well: | ||
- checkbox-ng/pyproject.toml | ||
- checkbox-support/pyproject.toml | ||
""" | ||
|
||
# Core checkbox module | ||
import checkbox_ng | ||
|
||
# checkbox-ng dependencies | ||
import jinja2 | ||
import packaging | ||
import psutil | ||
import requests | ||
import tqdm | ||
import urwid | ||
import xlsxwriter | ||
|
||
try: | ||
import importlib_metadata | ||
except ModuleNotFoundError: | ||
import importlib.metadata | ||
|
||
# Used by checkbox and providers | ||
import plainbox | ||
|
||
# Contains various help functions/scripts | ||
import checkbox_support | ||
|
||
# checkbox-support dependencies | ||
import distro | ||
import pyparsing | ||
import requests | ||
import requests | ||
import requests_unixsocket | ||
|
||
try: | ||
import importlib_metadata | ||
except ModuleNotFoundError: | ||
import importlib.metadata |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
# This file is part of Checkbox. | ||
# | ||
# Copyright 2023 Canonical Ltd. | ||
# Written by: | ||
# Massimiliano Girardi <massimiliano.girardi@canonical.com> | ||
# | ||
# Checkbox is free software: you can redistribute it and/or modify | ||
# it under the terms of the GNU General Public License version 3, | ||
# as published by the Free Software Foundation. | ||
# | ||
# Checkbox is distributed in the hope that it will be useful, | ||
# but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
# GNU General Public License for more details. | ||
# | ||
# You should have received a copy of the GNU General Public License | ||
# along with Checkbox. If not, see <http://www.gnu.org/licenses/>. | ||
|
||
from metabox.core.actions import AssertPrinted, Start | ||
from metabox.core.scenario import Scenario | ||
from metabox.core.utils import tag | ||
|
||
|
||
@tag("dependencies", "installation") | ||
class DependencyInstallation(Scenario): | ||
""" | ||
This verifies that the checkbox installation installed | ||
all that is needed | ||
""" | ||
|
||
modes = ["local"] | ||
steps = [ | ||
Start("run 2021.com.canonical.certification::dependency_installation"), | ||
AssertPrinted("Outcome: job passed"), | ||
] |