Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 15 additions & 1 deletion ci/jobs/scripts/workflow_hooks/filter_job.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
)
from ci.jobs.scripts.workflow_hooks.pr_description import Labels
from ci.praktika.info import Info
from ci.praktika.settings import Settings


def only_docs(changed_files):
Expand Down Expand Up @@ -48,6 +49,19 @@ def only_docs(changed_files):

_info_cache = None

DOCKER_REQUIRED_ARM_JOBS = {
"Build (arm_release)",
Settings.DOCKER_BUILD_ARM_LINUX_JOB_NAME,
Settings.DOCKER_BUILD_MANIFEST_JOB_NAME,
}


def is_ci_excluded_by_tag(job_name, tag):
if tag in ("aarch64", "arm") and job_name in DOCKER_REQUIRED_ARM_JOBS:
return False

return tag in job_name.lower()


def should_skip_job(job_name):
global _info_cache
Expand Down Expand Up @@ -178,7 +192,7 @@ def should_skip_job(job_name):

ci_exclude_tags = _info_cache.get_kv_data("ci_exclude_tags") or []
for tag in ci_exclude_tags:
if tag in job_name:
if is_ci_excluded_by_tag(job_name, tag):
return True, f"Skipped, job name includes excluded tag '{tag}'"

return False, ""
Loading