Publish curated Unraid-AppOps-Gateway source from a506550ef83ef2d81651e37c98a89f7ee330c730
This commit is contained in:
1 parent
2facb8de34
commit
767e66921e
68 files changed
+15924
-313
No files matched your search
@@ -0,0 +1,90 @@
|
||||
from __future__ import annotations
|
||||
|
||||
import importlib.util
|
||||
import sys
|
||||
from pathlib import Path
|
||||
|
||||
|
||||
ROOT = Path(__file__).resolve().parents[2]
|
||||
PROFILES_PATH = ROOT / "ops" / "gitea-deploy-broker" / "runner_profiles.py"
|
||||
|
||||
|
||||
def _profiles_module():
|
||||
spec = importlib.util.spec_from_file_location("appops_runner_profiles_test", PROFILES_PATH)
|
||||
assert spec and spec.loader
|
||||
module = importlib.util.module_from_spec(spec)
|
||||
sys.modules[spec.name] = module
|
||||
spec.loader.exec_module(module)
|
||||
return module
|
||||
|
||||
|
||||
def test_fixed_profiles_expose_stable_names_labels_and_resource_envelopes():
|
||||
profiles = _profiles_module()
|
||||
|
||||
assert tuple(profiles.RUNNER_PROFILES) == (
|
||||
"checks",
|
||||
"backend",
|
||||
"frontend",
|
||||
"security",
|
||||
"browser",
|
||||
"build",
|
||||
)
|
||||
assert [profile.display_name for profile in profiles.RUNNER_PROFILES.values()] == [
|
||||
"ITWorx CI · Checks",
|
||||
"ITWorx CI · Backend",
|
||||
"ITWorx CI · Frontend",
|
||||
"ITWorx CI · Security",
|
||||
"ITWorx CI · Browser",
|
||||
"ITWorx CI · Build",
|
||||
]
|
||||
assert [profile.container_name for profile in profiles.RUNNER_PROFILES.values()] == [
|
||||
"itworx-ci-checks",
|
||||
"itworx-ci-backend",
|
||||
"itworx-ci-frontend",
|
||||
"itworx-ci-security",
|
||||
"itworx-ci-browser",
|
||||
"itworx-ci-build",
|
||||
]
|
||||
assert [
|
||||
(profile.cpu_milli, profile.memory_mib, profile.heavy)
|
||||
for profile in profiles.RUNNER_PROFILES.values()
|
||||
] == [
|
||||
(1000, 1536, False),
|
||||
(3000, 5120, False),
|
||||
(3000, 5120, False),
|
||||
(1000, 2048, False),
|
||||
(3000, 6144, True),
|
||||
(4000, 6144, True),
|
||||
]
|
||||
assert (profiles.BASE_OVERHEAD_CPU_MILLI, profiles.BASE_OVERHEAD_MEMORY_MIB) == (
|
||||
1000,
|
||||
2048,
|
||||
)
|
||||
assert (profiles.HOST_CPU_BUDGET_MILLI, profiles.HOST_MEMORY_BUDGET_MIB) == (
|
||||
8000,
|
||||
16384,
|
||||
)
|
||||
assert (profiles.MAX_ACTIVE_CLAIMS, profiles.MAX_HEAVY_ACTIVE) == (2, 1)
|
||||
|
||||
|
||||
def test_shared_legacy_labels_only_admit_backend_and_frontend_profiles():
|
||||
profiles = _profiles_module()
|
||||
|
||||
assert [
|
||||
profile.id for profile in profiles.profiles_for_labels(["linux-validation"])
|
||||
] == ["backend", "frontend"]
|
||||
assert [
|
||||
profile.id for profile in profiles.profiles_for_labels(["ubuntu-latest"])
|
||||
] == ["backend", "frontend"]
|
||||
assert profiles.profiles_for_labels(["itworx-ci-security"])[0].id == "security"
|
||||
assert profiles.profiles_for_labels(["linux-validation", "itworx-ci-security"]) == ()
|
||||
assert profiles.profile_for_container("itworx-ci-browser").id == "browser"
|
||||
assert profiles.profile_for_container("itworx-ci-unknown") is None
|
||||
|
||||
|
||||
def test_legacy_docker_jobs_use_only_the_fixed_heavy_build_profile():
|
||||
profiles = _profiles_module()
|
||||
assert [profile.id for profile in profiles.profiles_for_labels(["docker-validation"])] == ["build"]
|
||||
assert profiles.RUNNER_PROFILES['build'].heavy
|
||||
assert profiles.profiles_for_labels(["docker-validation", "linux-validation"]) == ()
|
||||
assert profiles.profiles_for_labels(["docker-validation", "unraid-deploy"]) == ()
|
||||
Reference in new issue
Block a user