From 675f757ffb6307ff463230bf00b4e2e9219467fc Mon Sep 17 00:00:00 2001 From: David Heidelberg Date: Thu, 9 Mar 2023 12:36:25 +0100 Subject: [PATCH] ci/lava: implement the priority MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Before: kernelci 38; Mesa3D 75 Priority now: - 38 ‒ kernelci - 40 ‒ after merge and performance - 50 ‒ user runs - 75 ‒ marge-bot (MUST be prioritized) Reviewed-by: Guilherme Gallo Reviewed-by: Daniel Stone Signed-off-by: David Heidelberg Part-of: --- .gitlab-ci.yml | 6 ++++++ .gitlab-ci/lava/lava_job_submitter.py | 9 +++++++-- .gitlab-ci/test-source-dep.yml | 3 +++ 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 318d6a0..b9162b9 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -3,6 +3,12 @@ workflow: - if: $GITLAB_USER_LOGIN == "marge-bot" && $CI_COMMIT_BRANCH == null variables: MESA_CI_PERFORMANCE_ENABLED: 1 + - if: $GITLAB_USER_LOGIN == "marge-bot" && $CI_COMMIT_BRANCH + variables: + LAVA_JOB_PRIORITY: 40 + - if: $GITLAB_USER_LOGIN != "marge-bot" + variables: + LAVA_JOB_PRIORITY: 50 - when: always variables: diff --git a/.gitlab-ci/lava/lava_job_submitter.py b/.gitlab-ci/lava/lava_job_submitter.py index ea3cb10..5feb468 100755 --- a/.gitlab-ci/lava/lava_job_submitter.py +++ b/.gitlab-ci/lava/lava_job_submitter.py @@ -1,6 +1,6 @@ #!/usr/bin/env python3 # -# Copyright (C) 2020 - 2022 Collabora Limited +# Copyright (C) 2020 - 2023 Collabora Limited # Authors: # Gustavo Padovan # Guilherme Gallo @@ -61,6 +61,11 @@ NUMBER_OF_RETRIES_TIMEOUT_DETECTION = int(getenv("LAVA_NUMBER_OF_RETRIES_TIMEOUT # How many attempts should be made when a timeout happen during LAVA device boot. NUMBER_OF_ATTEMPTS_LAVA_BOOT = int(getenv("LAVA_NUMBER_OF_ATTEMPTS_LAVA_BOOT", 3)) +# Supports any integers in [0, 100]. +# The scheduler considers the job priority when ordering the queue +# to consider which job should run next. +JOB_PRIORITY = int(getenv("LAVA_JOB_PRIORITY", 75)) + def generate_lava_yaml_payload(args) -> dict[str, Any]: # General metadata and permissions, plus also inexplicably kernel arguments @@ -68,7 +73,7 @@ def generate_lava_yaml_payload(args) -> dict[str, Any]: 'job_name': 'mesa: {}'.format(args.pipeline_info), 'device_type': args.device_type, 'visibility': { 'group': [ args.visibility_group ] }, - 'priority': 75, + 'priority': JOB_PRIORITY, 'context': { 'extra_nfsroot_args': ' init=/init rootwait usbcore.quirks=0bda:8153:k' }, diff --git a/.gitlab-ci/test-source-dep.yml b/.gitlab-ci/test-source-dep.yml index c03649f..ac6a784 100644 --- a/.gitlab-ci/test-source-dep.yml +++ b/.gitlab-ci/test-source-dep.yml @@ -330,6 +330,7 @@ - !reference [.freedreno-manual-rules, rules] allow_failure: true # see comment in .performance-rules, which we don't inherit this line from. variables: + LAVA_JOB_PRIORITY: 40 MINIO_ARTIFACT_NAME: "mesa-arm64-rel" needs: - job: debian/arm64_test @@ -556,6 +557,7 @@ when: manual allow_failure: true # see comment in .performance-rules, which we don't inherit this line from. variables: + LAVA_JOB_PRIORITY: 40 MINIO_ARTIFACT_NAME: "mesa-amd64-rel" needs: - kernel+rootfs_amd64 @@ -685,6 +687,7 @@ when: manual allow_failure: true # see comment in .performance-rules, which we don't inherit this line from. variables: + LAVA_JOB_PRIORITY: 40 MINIO_ARTIFACT_NAME: "mesa-amd64-rel" needs: - kernel+rootfs_amd64 -- 2.7.4