pmaports/.ci/apkbuild-linting.py
Clayton Craft 82fba2bdb2
ci/apkbuild-linting: quit if there are no apkbuilds to lint (MR 2630)
If the only changed apkbuilds are skipped, then the check would lint
*every* apkbuild in aports (calling '-q lint' with no packages
apparently causes it to do everything)

This quits if all packages were skipped. It fixes the CI failure seen on
MR !2600
2021-10-24 15:00:24 +02:00

31 lines
937 B
Python
Executable file

#!/usr/bin/env python3
# SPDX-License-Identifier: GPL-3.0-or-later
import common
import os.path
import sys
if __name__ == "__main__":
common.add_upstream_git_remote()
apkbuilds = {file for file in common.get_changed_files(removed=False)
if os.path.basename(file) == "APKBUILD"}
if len(apkbuilds) < 1:
print("No APKBUILDs to lint")
sys.exit(0)
packages = []
for apkbuild in apkbuilds:
if apkbuild.startswith("temp/") or apkbuild.startswith("cross/"):
print(f"NOTE: Skipping linting of {apkbuild}")
continue
packages.append(os.path.basename(os.path.dirname(apkbuild)))
if len(packages) < 1:
print("No APKBUILDs to lint")
sys.exit(0)
result = common.run_pmbootstrap(["-q", "lint"] + packages, output_return=True)
if len(result) > 0:
print("Linting issues found:")
print(result)
sys.exit(1)