Scope engine image builds and verification by release target
All checks were successful
Build and verify Qwen2.5 compatibility engines / docker (push) Successful in 1m59s
All checks were successful
Build and verify Qwen2.5 compatibility engines / docker (push) Successful in 1m59s
This commit is contained in:
66
tests/test_release_plan.py
Normal file
66
tests/test_release_plan.py
Normal file
@@ -0,0 +1,66 @@
|
||||
import tempfile
|
||||
import unittest
|
||||
from pathlib import Path
|
||||
|
||||
from release_plan import GPU_GROUPS, plan_for_tag, write_gitea_env
|
||||
|
||||
|
||||
class ReleasePlanTests(unittest.TestCase):
|
||||
def test_one_vendor_tag_builds_only_that_image_and_gpu(self):
|
||||
plan = plan_for_tag("v0.3.0-metax-c500")
|
||||
self.assertEqual(plan.target, "metax-c500")
|
||||
self.assertEqual(plan.image_targets, ("metax-c500",))
|
||||
self.assertEqual(plan.gpu_types, ("MetaX_c-500",))
|
||||
self.assertEqual(plan.verification_pairs, (("MetaX_c-500", "metax-c500"),))
|
||||
|
||||
def test_cambricon_cards_reuse_one_image(self):
|
||||
plan = plan_for_tag("v0.3.0-cambricon-mlu370")
|
||||
self.assertEqual(plan.image_targets, ("cambricon-mlu370",))
|
||||
self.assertEqual(
|
||||
plan.gpu_types,
|
||||
("Cambricon_mlu-370-x4", "Cambricon_mlu-370-x8"),
|
||||
)
|
||||
self.assertEqual(
|
||||
plan.verification_pairs,
|
||||
(
|
||||
("Cambricon_mlu-370-x4", "cambricon-mlu370"),
|
||||
("Cambricon_mlu-370-x8", "cambricon-mlu370"),
|
||||
),
|
||||
)
|
||||
|
||||
def test_all_requires_explicit_suffix(self):
|
||||
plan = plan_for_tag("v0.3.0-all")
|
||||
self.assertEqual(plan.image_targets, tuple(GPU_GROUPS))
|
||||
self.assertEqual(len(plan.gpu_types), 5)
|
||||
self.assertEqual(len(set(plan.gpu_types)), 5)
|
||||
|
||||
def test_unscoped_or_unknown_tag_cannot_default_to_all(self):
|
||||
for tag in (
|
||||
"v0.3.0",
|
||||
"v0.3.0-unknown",
|
||||
"v0.3.0-metax-c500-extra",
|
||||
"v0.3.0-all",
|
||||
"latest",
|
||||
):
|
||||
with self.subTest(tag=tag), self.assertRaises(ValueError):
|
||||
plan_for_tag(tag)
|
||||
|
||||
def test_gitea_env_contains_only_selected_targets(self):
|
||||
with tempfile.TemporaryDirectory() as directory:
|
||||
path = Path(directory) / "gitea_env"
|
||||
path.write_text("FRAMEWORK=vllm_qwen25_compat\n", encoding="utf-8")
|
||||
write_gitea_env(plan_for_tag("v0.3.0-vastai-va16"), path)
|
||||
self.assertEqual(
|
||||
path.read_text(encoding="utf-8").splitlines(),
|
||||
[
|
||||
"FRAMEWORK=vllm_qwen25_compat",
|
||||
"RELEASE_TARGET=vastai-va16",
|
||||
"IMAGE_TARGETS=vastai-va16",
|
||||
"GPU_TYPES=Vastai_va16",
|
||||
"VERIFY_PAIRS=Vastai_va16:vastai-va16",
|
||||
],
|
||||
)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
Reference in New Issue
Block a user