Files
derek.holloway 7502bf64a4
CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
Flatten subprojects into a single base monorepo
2026-09-02 16:34:47 -07:00

98 lines
2.3 KiB
Python
Executable File

#!/usr/bin/env python
# Copyright Advanced Micro Devices, Inc.
# SPDX-License-Identifier: MIT
#
# TheRock Project building system pre-build diagnosis script
#
# This script doesn't raise/throw back warnings/errors.
# If running this script has errors, please report it as a new issue.
#
import sys, time
sys.dont_write_bytecode = True
from hack.env_check.utils import RepoInfo, cstring
from hack.env_check.device import SystemInfo
from hack.env_check.check_tools import *
from hack.env_check import check_therock
def main():
therock_detect_start = time.perf_counter()
device = SystemInfo()
RepoInfo.__logo__(monospace=True)
build_type = cstring(check_therock.build_project, "hint")
device.summary
print("")
print(device.section_bar(f"Start detect compoments on: {build_type}"))
print("")
check_list = [
check
for check in [
CheckOS(device_info=device),
CheckCPU(device_info=device),
CheckDisk(device_info=device),
Check_Max_PATH_LIMIT(device_info=device) if device.is_windows else None,
CheckGit(),
CheckCMake(),
CheckCCache(required=False),
CheckNinja(),
CheckGFortran(),
CheckPython(is_global_env_ok=True),
CheckUV(required=False),
]
if check is not None
]
win_only_list = [
CheckVS20XX(),
CheckMSVC(),
CheckATL(),
CheckML64(),
CheckLIB(),
CheckLINK(),
CheckRC(),
]
linux_only_list = [
CheckGCC(),
CheckGXX(),
CheckGCC_AS(),
CheckGCC_AR(),
CheckLD(),
]
if device.is_windows:
check_list += win_only_list
if device.is_linux:
check_list += linux_only_list
diag_check = check_therock.test_list(check_list).summary
print("")
print(device.section_bar(diag_check))
print("\n")
device.python_list
therock_detect_terminate = time.perf_counter()
therock_detect_time = float(therock_detect_terminate - therock_detect_start)
therock_detect_runtime = cstring(f"{therock_detect_time:.2f}", "hint")
print("\n")
print(
device.section_bar(
f" TheRock build pre-diagnosis script completed in {therock_detect_runtime} seconds "
)
)
if __name__ == "__main__":
main()