Files
default/scripts/check/manifest.py
T
Joakim Sørensen 9e8788c060 Add preflight (#490)
* Add preflight

* fix syntax

* move check

* get event

* print

* return event

* use path

* tt

* move to helper

* add issue_comment

* remove should run

* check owner

* add more information to the logs

* test

* add finished

* move keys

* Update errors

* remove repo

* fix JQ run

* filter
2020-05-28 16:53:45 +02:00

39 lines
1.3 KiB
Python

from scripts.changed.category import get_category
from scripts.helpers.manifest import get_manifest
from scripts.helpers.integration_path import get_integration_path
def check():
print("Information: https://hacs.xyz/docs/publish/include#check-manifest")
if get_category() != "integration":
print("Only integrations are checked.")
return
fail = "::error::Missing required value for key '{key}' in {path}"
integration = get_integration_path()
path = f"{integration.replace('/tmp/repositories/addition/', '')}/manifest.json"
manifest = get_manifest()
issues = []
if manifest.get("domain") is None or manifest.get("domain") == "":
issues.append(fail.format(key="domain", path=path))
if manifest.get("documentation") is None or manifest.get("documentation") == "":
issues.append(fail.format(key="documentation", path=path))
if manifest.get("issue_tracker") is None or manifest.get("issue_tracker") == "":
issues.append(fail.format(key="issue_tracker", path=path))
if manifest.get("codeowners") is None:
issues.append(fail.format(key="codeowners", path=path))
if issues:
for issue in issues:
print(issue)
exit(1)
if __name__ == "__main__":
check()