mirror of
https://github.com/raspberrypi/pico-sdk.git
synced 2024-09-29 03:28:49 +08:00
56 lines
1.5 KiB
Python
Executable File
56 lines
1.5 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
#
|
|
# Copyright (c) 2024 Raspberry Pi (Trading) Ltd.
|
|
#
|
|
# SPDX-License-Identifier: BSD-3-Clause
|
|
#
|
|
# Runs all Bazel checks.
|
|
|
|
import sys
|
|
|
|
from bazel_build import build_all_configurations
|
|
from bazel_common import setup_logging, print_framed_string, parse_common_args
|
|
from compare_build_systems import compare_build_systems
|
|
from check_source_files_in_bazel_build import check_sources_in_bazel_build
|
|
|
|
|
|
def main():
|
|
setup_logging()
|
|
failed_steps = []
|
|
|
|
args = parse_common_args()
|
|
|
|
steps = (
|
|
{
|
|
"description": "Bazel build",
|
|
"action": lambda : build_all_configurations(args.picotool_dir),
|
|
},
|
|
{
|
|
"description": "Ensure build system configurations options match",
|
|
"action": compare_build_systems,
|
|
},
|
|
{
|
|
"description": "Ensure source files are present in Bazel build",
|
|
"action": lambda : check_sources_in_bazel_build(args.picotool_dir),
|
|
},
|
|
)
|
|
|
|
for step in steps:
|
|
print_framed_string(f"{step['description']}...")
|
|
returncode = step["action"]()
|
|
if returncode != 0:
|
|
failed_steps.append(step["description"])
|
|
print()
|
|
|
|
if failed_steps:
|
|
print_framed_string("ERROR: One or more steps failed.")
|
|
for build in failed_steps:
|
|
print(f" * FAILED: {build}")
|
|
return 1
|
|
|
|
print_framed_string("All checks successfully passed!")
|
|
|
|
|
|
if __name__ == "__main__":
|
|
sys.exit(main())
|