about summary refs log tree commit diff
path: root/src/ci/scripts/calculate-job-matrix.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/ci/scripts/calculate-job-matrix.py')
-rwxr-xr-xsrc/ci/scripts/calculate-job-matrix.py25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/ci/scripts/calculate-job-matrix.py b/src/ci/scripts/calculate-job-matrix.py
new file mode 100755
index 00000000000..9b1e74c23c3
--- /dev/null
+++ b/src/ci/scripts/calculate-job-matrix.py
@@ -0,0 +1,25 @@
+#!/usr/bin/env python3
+
+"""
+This script serves for generating a matrix of jobs that should
+be executed on CI.
+
+It reads job definitions from `src/ci/github-actions/jobs.yml`
+and filters them based on the event that happened on CI.
+
+Currently, it only supports PR builds.
+"""
+
+import json
+from pathlib import Path
+
+import yaml
+
+JOBS_YAML_PATH = Path(__file__).absolute().parent.parent / "github-actions" / "jobs.yml"
+
+
+if __name__ == "__main__":
+    with open(JOBS_YAML_PATH) as f:
+        jobs = yaml.safe_load(f)
+    job_output = jobs["pr"]
+    print(f"jobs={json.dumps(job_output)}")