Files
hao-ai-lab-FastVideo/tests/test_fasth3_packaging.py
T

39 lines
1.6 KiB
Python

# SPDX-License-Identifier: Apache-2.0
from __future__ import annotations
import tomllib
from pathlib import Path
from packaging.requirements import Requirement
from packaging.version import Version
REPO_ROOT = Path(__file__).resolve().parents[1]
def test_fasth3_extra_and_root_kernel_pin_match_source_release():
root_project = tomllib.loads((REPO_ROOT / "pyproject.toml").read_text(encoding="utf-8"))
kernel_project = tomllib.loads((REPO_ROOT / "fastvideo-kernel" / "pyproject.toml").read_text(encoding="utf-8"))
kernel_version = kernel_project["project"]["version"]
dependencies = root_project["project"]["dependencies"]
kernel_requirement = next(Requirement(value) for value in dependencies if value.startswith("fastvideo-kernel"))
assert Version(kernel_version) in kernel_requirement.specifier
fasth3_extra = root_project["project"]["optional-dependencies"]["fasth3"]
assert "flash-attn-4" in fasth3_extra
assert any(value.startswith("fastvideo-kernel") for value in fasth3_extra)
kernel_sources = root_project["tool"]["uv"]["sources"]["fastvideo-kernel"]
assert {
"path": "fastvideo-kernel",
"marker": "platform_machine == 'x86_64'",
"extra": "fasth3",
} in kernel_sources
def test_kernel_release_matrix_can_publish_sm100a_wheels():
workflow = (REPO_ROOT / ".github" / "workflows" / "publish-kernel.yml").read_text(encoding="utf-8")
assert 'TORCH_CUDA_ARCH_LIST="9.0a;10.0a;12.0a"' in workflow
assert 'TORCH_CUDA_ARCH_LIST="10.0a;12.0a"' in workflow
assert "patchelf==0.17.2.4" in workflow