mirror of
https://github.com/saltstack/salt.git
synced 2025-04-17 10:10:20 +00:00
The nox session pre-archive-cleanup
now required Python 3.10+ to run
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
This commit is contained in:
parent
a4b5df927e
commit
b0a5d454c9
1 changed files with 18 additions and 88 deletions
106
noxfile.py
106
noxfile.py
|
@ -1249,97 +1249,27 @@ def pre_archive_cleanup(session, pkg):
|
|||
if session.posargs:
|
||||
session.error("No additional arguments can be passed to 'pre-archive-cleanup'")
|
||||
version_info = _get_session_python_version_info(session)
|
||||
if version_info >= (3, 9):
|
||||
if _upgrade_pip_setuptools_and_wheel(session):
|
||||
requirements_file = os.path.join(
|
||||
"requirements", "static", "ci", _get_pydir(session), "tools.txt"
|
||||
)
|
||||
install_command = ["--progress-bar=off", "-r", requirements_file]
|
||||
session.install(*install_command, silent=PIP_INSTALL_SILENT)
|
||||
if version_info < (3, 10):
|
||||
session.error(
|
||||
"The nox session 'pre-archive-cleanup' needs Python 3.10+ to run."
|
||||
)
|
||||
|
||||
cmdline = [
|
||||
"tools",
|
||||
"pkg",
|
||||
"pre-archive-cleanup",
|
||||
]
|
||||
if pkg:
|
||||
cmdline.append("--pkg")
|
||||
cmdline.append(".nox")
|
||||
session_run_always(session, *cmdline)
|
||||
return
|
||||
|
||||
# On windows, we still run Py3.9
|
||||
# Let's do the cleanup here, for now.
|
||||
# This is a copy of the pre_archive_cleanup function in tools/pkg.py
|
||||
|
||||
import fnmatch
|
||||
import shutil
|
||||
|
||||
try:
|
||||
import yaml
|
||||
except ImportError:
|
||||
session.error("Please install 'pyyaml'.")
|
||||
return
|
||||
|
||||
with open(str(REPO_ROOT / "pkg" / "common" / "env-cleanup-rules.yml")) as rfh:
|
||||
patterns = yaml.safe_load(rfh.read())
|
||||
if _upgrade_pip_setuptools_and_wheel(session):
|
||||
requirements_file = os.path.join(
|
||||
"requirements", "static", "ci", _get_pydir(session), "tools.txt"
|
||||
)
|
||||
install_command = ["--progress-bar=off", "-r", requirements_file]
|
||||
session.install(*install_command, silent=PIP_INSTALL_SILENT)
|
||||
|
||||
cmdline = [
|
||||
"tools",
|
||||
"pkg",
|
||||
"pre-archive-cleanup",
|
||||
]
|
||||
if pkg:
|
||||
patterns = patterns["pkg"]
|
||||
else:
|
||||
patterns = patterns["ci"]
|
||||
|
||||
if IS_WINDOWS:
|
||||
patterns = patterns["windows"]
|
||||
elif IS_DARWIN:
|
||||
patterns = patterns["darwin"]
|
||||
else:
|
||||
patterns = patterns["linux"]
|
||||
|
||||
dir_patterns = set()
|
||||
for pattern in patterns["dir_patterns"]:
|
||||
if isinstance(pattern, list):
|
||||
dir_patterns.update(set(pattern))
|
||||
continue
|
||||
dir_patterns.add(pattern)
|
||||
|
||||
file_patterns = set()
|
||||
for pattern in patterns["file_patterns"]:
|
||||
if isinstance(pattern, list):
|
||||
file_patterns.update(set(pattern))
|
||||
continue
|
||||
file_patterns.add(pattern)
|
||||
|
||||
for root, dirs, files in os.walk(
|
||||
str(REPO_ROOT / ".nox"), topdown=True, followlinks=False
|
||||
):
|
||||
for dirname in dirs:
|
||||
path = pathlib.Path(root, dirname).resolve()
|
||||
if not path.exists():
|
||||
continue
|
||||
match_path = path.as_posix()
|
||||
for pattern in dir_patterns:
|
||||
if fnmatch.fnmatch(str(match_path), pattern):
|
||||
session.log(
|
||||
f"Deleting directory: {match_path}; Matching pattern: {pattern!r}"
|
||||
)
|
||||
shutil.rmtree(str(path))
|
||||
break
|
||||
for filename in files:
|
||||
path = pathlib.Path(root, filename).resolve()
|
||||
if not path.exists():
|
||||
continue
|
||||
match_path = path.as_posix()
|
||||
for pattern in file_patterns:
|
||||
if fnmatch.fnmatch(str(match_path), pattern):
|
||||
session.log(
|
||||
f"Deleting file: {match_path}; Matching pattern: {pattern!r}"
|
||||
)
|
||||
try:
|
||||
os.remove(str(path))
|
||||
except FileNotFoundError:
|
||||
pass
|
||||
break
|
||||
cmdline.append("--pkg")
|
||||
cmdline.append(".nox")
|
||||
session_run_always(session, *cmdline)
|
||||
|
||||
|
||||
@nox.session(python="3", name="combine-coverage")
|
||||
|
|
Loading…
Add table
Reference in a new issue