diff --git a/.github/scripts/conformance-client.py b/.github/scripts/conformance-client.py index bc9054fafc..34ed29156d 100755 --- a/.github/scripts/conformance-client.py +++ b/.github/scripts/conformance-client.py @@ -5,6 +5,7 @@ # SPDX-License-Identifier: MIT OR Apache-2.0 import argparse +import logging import os import shutil import sys @@ -49,7 +50,8 @@ def download_target( target_info = updater.get_targetinfo(target_name) if not target_info: raise RuntimeError(f"{target_name} not found in repository") - updater.download_target(target_info) + if not updater.find_cached_target(target_info): + updater.download_target(target_info) def main() -> int: @@ -61,6 +63,7 @@ def main() -> int: parser.add_argument("--target-name", required=False) parser.add_argument("--target-dir", required=False) parser.add_argument("--target-base-url", required=False) + parser.add_argument("-v", "--verbose", action="count", default=0) sub_command = parser.add_subparsers(dest="sub_command") init_parser = sub_command.add_parser( @@ -81,6 +84,15 @@ def main() -> int: command_args = parser.parse_args() + if command_args.verbose <= 1: + loglevel = logging.WARNING + elif command_args.verbose == 2: + loglevel = logging.INFO + else: + loglevel = logging.DEBUG + + logging.basicConfig(level=loglevel) + # initialize the TUF Client Example infrastructure if command_args.sub_command == "init": init(command_args.metadata_dir, command_args.trusted_root) diff --git a/.github/workflows/conformance.yml b/.github/workflows/conformance.yml index a634b02d9f..f8453d66c7 100644 --- a/.github/workflows/conformance.yml +++ b/.github/workflows/conformance.yml @@ -17,6 +17,6 @@ jobs: uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - name: Run test suite - uses: theupdateframework/tuf-conformance@dee4e23533d7a12a6394d96b59b3ea0aa940f9bf # v2.2.0 + uses: theupdateframework/tuf-conformance@9bfc222a371e30ad5511eb17449f68f855fb9d8f # v2.3.0 with: entrypoint: ".github/scripts/conformance-client.py"