YunoHost / package_check

Shell script which check package actions: install, remove, upgrade, backup, restore…
GNU General Public License v3.0
21 stars 25 forks source link

Abort early if no manifest.toml #168

Open selfhoster1312 opened 2 months ago

selfhoster1312 commented 2 months ago

Running package check against the wrong repo, like one with manifest.json will just keep going and produce more errors...

$ ./package_check.sh https://github.com/YunoHost-Apps/reel2bits_ynh                                                                            Testing package https://github.com/YunoHost-Apps/reel2bits_ynh
 on branch master
 (commit 0429b6e45f34e489bf373a8ab7fca182d82d3592)
grep: /tmp/package_check.lUpPY5/app_folder/manifest.toml: No such file or directory
Traceback (most recent call last):
  File "/home/user/Prog/selfhoster1312/package_check/./lib/parse_tests_toml.py", line 170, in <module>
    main()
  File "/home/user/Prog/selfhoster1312/package_check/./lib/parse_tests_toml.py", line 161, in main
    test_list = build_test_list(args.app)
  File "/home/user/Prog/selfhoster1312/package_check/./lib/parse_tests_toml.py", line 140, in build_test_list
    test_manifest = toml.load((basedir / "tests.toml").open("r"))
  File "/usr/lib/python3.10/pathlib.py", line 1119, in open
    return self._accessor.open(self, mode, buffering, encoding, errors,
FileNotFoundError: [Errno 2] No such file or directory: '/tmp/package_check.lUpPY5/app_folder/tests.toml'
cat: '/tmp/package_check.lUpPY5/tests/*.json': No such file or directory
Launching new LXC ynh-appci-bullseye-amd64-stable-test-0 ...
Container started successfully. Now waiting for internet access.

 > YunoHost versions

yunohost:
  repo: stable
  version: 11.2.28
yunohost-admin:
  repo: stable
  version: 11.2.8
moulinette:
  repo: stable
  version: 11.2.1
ssowat:
  repo: stable
  version: 11.2.1.1

 ============================================
 Package linter
 ============================================

    [YunoHost App Package Linter]

 App packaging documentation - https://yunohost.org/en/contribute/packaging_apps
 App package example         - https://github.com/YunoHost/example_ynh
 Official helpers            - https://yunohost.org/en/contribute/packaging_apps/helpers
 Experimental helpers        - https://github.com/YunoHost-Apps/Experimental_helpers

 If you believe this linter returns false negative (warnings / errors which shouldn't happen),
 please report them on https://github.com/YunoHost/package_linter/issues

  Analyzing app /tmp/package_check.lUpPY5/app_folder ...
Traceback (most recent call last):
  File "/home/user/Prog/selfhoster1312/package_check/./package_linter/package_linter.py", line 2865, in <module>
    main()
  File "/home/user/Prog/selfhoster1312/package_check/./package_linter/package_linter.py", line 2860, in main
    app = App(app_path)
  File "/home/user/Prog/selfhoster1312/package_check/./package_linter/package_linter.py", line 494, in __init__
    self.manifest_ = Manifest(self.path)
  File "/home/user/Prog/selfhoster1312/package_check/./package_linter/package_linter.py", line 1598, in __init__
    self.raw_manifest = open(manifest_path, encoding="utf-8").read()
FileNotFoundError: [Errno 2] No such file or directory: '/tmp/package_check.lUpPY5/app_folder/manifest.toml'
Creating initial snapshot ynh-appci-bullseye-amd64-stable-test-0 ...
lib/lxc.sh: line 236: 18372 Killed                  timeout -k 45 40 $lxc exec "$1" -- timeout 35 systemctl isolate multi-user.target > /dev/null 2> /dev/null
parse error: Invalid numeric literal at line 1, column 10
parse error: Invalid numeric literal at line 1, column 10