mirror of
https://github.com/saymrwulf/onnxruntime.git
synced 2026-07-06 04:28:32 +00:00
This change adds a new pipeline for checking Python code. Currently this pipeline only runs flake8. flake8 is also run as part of the CMake project builds, but we can switch over completely to the new pipeline later. The .flake8 config file was also updated to make it easier to run standalone (flake8 --config ./.flake8) and some Python formatting issues were addressed in files that were not previously scanned.
98 lines
3.3 KiB
Python
98 lines
3.3 KiB
Python
#!/usr/bin/env python3
|
|
|
|
import json
|
|
import os
|
|
import subprocess
|
|
import sys
|
|
import re
|
|
|
|
SCRIPT_DIR = os.path.dirname(os.path.realpath(__file__))
|
|
REPO_DIR = os.path.normpath(os.path.join(SCRIPT_DIR, "..", ".."))
|
|
|
|
package_name = None
|
|
package_filename = None
|
|
package_url = None
|
|
|
|
registrations = []
|
|
|
|
with open(os.path.join(REPO_DIR, 'tools', 'ci_build', 'github', 'linux', 'docker', 'Dockerfile.manylinux2014_cuda11'),
|
|
"r") as f:
|
|
for line in f:
|
|
if not line.strip():
|
|
package_name = None
|
|
package_filename = None
|
|
package_url = None
|
|
if package_filename is None:
|
|
m = re.match(r"RUN\s+export\s+(.+?)_ROOT=(\S+).*", line)
|
|
if m is not None:
|
|
package_name = m.group(1)
|
|
package_filename = m.group(2)
|
|
else:
|
|
m = re.match(r"RUN\s+export\s+(.+?)_VERSION=(\S+).*", line)
|
|
if m is not None:
|
|
package_name = m.group(1)
|
|
package_filename = m.group(2)
|
|
elif package_url is None:
|
|
m = re.match(r"(.+?)_DOWNLOAD_URL=(\S+)", line)
|
|
if m is not None:
|
|
package_url = m.group(2)
|
|
if package_name == 'LIBXCRYPT':
|
|
package_url = m.group(2) + "/v" + \
|
|
package_filename + ".tar.gz"
|
|
elif package_name == 'CMAKE':
|
|
package_url = m.group(
|
|
2) + "/v" + package_filename + "/cmake-" + package_filename + ".tar.gz"
|
|
else:
|
|
package_url = m.group(2) + "/" + \
|
|
package_filename + ".tar.gz"
|
|
registration = {
|
|
"Component": {
|
|
"Type": "other",
|
|
"other": {
|
|
"Name": package_name.lower(),
|
|
"Version": package_filename.split("-")[-1],
|
|
"DownloadUrl": package_url,
|
|
},
|
|
"comments": "manylinux dependency"
|
|
}
|
|
}
|
|
registrations.append(registration)
|
|
package_name = None
|
|
package_filename = None
|
|
package_url = None
|
|
|
|
|
|
def normalize_path_separators(path):
|
|
return path.replace(os.path.sep, "/")
|
|
|
|
|
|
proc = subprocess.run(
|
|
["git", "submodule", "foreach", "--quiet", "--recursive", "{} {} $toplevel/$sm_path".format(
|
|
normalize_path_separators(sys.executable),
|
|
normalize_path_separators(os.path.join(SCRIPT_DIR, "print_submodule_info.py")))],
|
|
check=True,
|
|
cwd=REPO_DIR,
|
|
stdout=subprocess.PIPE,
|
|
stderr=subprocess.PIPE,
|
|
universal_newlines=True)
|
|
|
|
|
|
submodule_lines = proc.stdout.splitlines()
|
|
for submodule_line in submodule_lines:
|
|
(absolute_path, url, commit) = submodule_line.split(" ")
|
|
registration = {
|
|
"component": {
|
|
"type": "git",
|
|
"git": {
|
|
"commitHash": commit,
|
|
"repositoryUrl": url,
|
|
},
|
|
"comments": "git submodule at {}".format(
|
|
normalize_path_separators(os.path.relpath(absolute_path, REPO_DIR)))
|
|
}
|
|
}
|
|
registrations.append(registration)
|
|
|
|
cgmanifest = {"Version": 1, "Registrations": registrations}
|
|
|
|
print(json.dumps(cgmanifest, indent=2))
|