Mesa (main): ci/lava: Add validate-only mode to job submitter

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Thu Jun 10 22:48:32 UTC 2021


Module: Mesa
Branch: main
Commit: d5673dacd60c059f425b5935090945c9624736c1
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d5673dacd60c059f425b5935090945c9624736c1

Author: Daniel Stone <daniels at collabora.com>
Date:   Thu Jun 10 09:42:40 2021 +0100

ci/lava: Add validate-only mode to job submitter

Useful for development.

Signed-off-by: Daniel Stone <daniels at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11293>

---

 .gitlab-ci/lava_job_submitter.py | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/.gitlab-ci/lava_job_submitter.py b/.gitlab-ci/lava_job_submitter.py
index 19cdb74c409..6823eb74e3a 100755
--- a/.gitlab-ci/lava_job_submitter.py
+++ b/.gitlab-ci/lava_job_submitter.py
@@ -154,6 +154,12 @@ def show_job_data(proxy, job_id):
         print("{}\t: {}".format(field, value))
 
 
+def validate_job(proxy, job_file):
+    try:
+        return _call_proxy(proxy.scheduler.jobs.validate, job_file, True)
+    except:
+        return False
+
 def submit_job(proxy, job_file):
     return _call_proxy(proxy.scheduler.jobs.submit, job_file)
 
@@ -163,6 +169,14 @@ def main(args):
 
     yaml_file = generate_lava_yaml(args)
 
+    if args.validate_only:
+        ret = validate_job(proxy, yaml_file)
+        if not ret:
+            sys.exit(log_msg("Error in LAVA job definition"))
+        print("LAVA job definition validated successfully")
+        return
+
+
     while True:
         job_id = submit_job(proxy, yaml_file)
 
@@ -195,6 +209,7 @@ if __name__ == '__main__':
     parser.add_argument("--ci-node-index")
     parser.add_argument("--ci-node-total")
     parser.add_argument("--job-type")
+    parser.add_argument("--validate-only", action='store_true')
 
     parser.set_defaults(func=main)
     args = parser.parse_args()



More information about the mesa-commit mailing list