On Mon, Jun 29, 2026 at 6:37 PM Patrick Robb <[email protected]>
wrote:

> In the UNH jenkins repo, please read the jenkinsfile for running the
> dts-check-format script, check which image it is pulling, and check how it
> meets dependencies. I can't remember if the dependencies are met at runtime
> or build time, or even if it uses poetry or not. So, there is a risk that
> the checks in CI could continue to run with older dependency versions even
> after this patch hits main. Let me know if you have questions.
>

According to the check format jenkinsfile in the UNH jenkins repo, the
dependencies are resolved using poetry. As the patch updates the
pyproject.toml and poetry.lock files, the updated tool versions should
reflect in CI as well.


> On Thu, Jun 25, 2026 at 1:22 PM Koushik Bhargav Nimoji <
> [email protected]> wrote:
>
>>
>>
>> +Tar_modes: TypeAlias = Literal["w:gz", "w:bz2", "w:xz", "w:tar"]
>> +
>>
>
> Should this be tar_modes (snake case)?
>

Tar_modes is of type TypeAlias, which is a user-defined type. Keeping it
uppercase matches the naming convention for type aliases.


>>  def expand_range(range_str: str) -> list[int]:
>>      """Process `range_str` into a list of integers.
>> @@ -154,7 +156,11 @@ def extension(self) -> str:
>>          For other compression formats, the extension will be in the
>> format
>>          'tar.{compression format}'.
>>          """
>> -        return f"{self.value}" if self == self.none else
>> f"{type(self).none.value}.{self.value}"
>> +        return (
>> +            f"{self.value}"
>> +            if self == self.none
>> +            else f"{TarCompressionFormat.none.value}.{self.value}"
>> +        )
>>
>>
>>  def convert_to_list_of_string(value: Any | list[Any]) -> list[str]:
>> @@ -207,7 +213,8 @@ def filter_func(tarinfo: tarfile.TarInfo) ->
>> tarfile.TarInfo | None:
>>          return None
>>
>>      target_tarball_path =
>> dir_path.with_suffix(f".{compress_format.extension}")
>> -    with tarfile.open(target_tarball_path, f"w:{compress_format.value}")
>> as tar:
>> +    tarball_mode = cast(Tar_modes, f"w:{compress_format.value}")
>> +    with tarfile.open(target_tarball_path, tarball_mode) as tar:
>>
>
> Have you completed a testrun which flexes create_tarball(), i.e. running a
> DTS testrun which copies over a normal DPDK dir (instead of defining a
> tarball in test_run.yaml you define a normal dpdk dir source) to the SUT,
> i.e. it actually has to create the tarball?
>
>
>>          tar.add(dir_path, arcname=dir_path.name,
>> filter=create_filter_function(exclude))
>>
>>
I have tested create_tarball(), with DTS copying over a dpdk tree from the
DTS host. The dpdk tree was properly compressed into a tarball, copied over
to the SUT node, and unpacked on the SUT node before continuing DTS
execution.

Reply via email to