diff --git a/.gitlab-ci/lava/lava-gitlab-ci.yml b/.gitlab-ci/lava/lava-gitlab-ci.yml index e641933eac9..09b0d78635e 100755 --- a/.gitlab-ci/lava/lava-gitlab-ci.yml +++ b/.gitlab-ci/lava/lava-gitlab-ci.yml @@ -36,6 +36,8 @@ variables: - $RUNNER_TAG after_script: - curl -L --retry 4 -f --retry-all-errors --retry-delay 60 -s "https://${JOB_RESULTS_PATH}" | tar --zstd -x + needs: + - alpine/x86_64_lava_ssh_client .lava-test:arm32: variables: @@ -50,6 +52,7 @@ variables: - .lava-test - .use-kernel+rootfs-arm needs: + - !reference [.lava-test, needs] - kernel+rootfs_arm32 - debian/x86_64_build - debian-arm32 @@ -75,6 +78,7 @@ variables: dependencies: - debian-arm64 needs: + - !reference [.lava-test, needs] - kernel+rootfs_arm64 - debian/x86_64_build - debian-arm64 @@ -98,6 +102,7 @@ variables: - .lava-test - .use-kernel+rootfs-x86_64 needs: + - !reference [.lava-test, needs] - kernel+rootfs_x86_64 - debian-testing diff --git a/.gitlab-ci/lava/lava-submit.sh b/.gitlab-ci/lava/lava-submit.sh index 2632626808e..0baeca24cf6 100755 --- a/.gitlab-ci/lava/lava-submit.sh +++ b/.gitlab-ci/lava/lava-submit.sh @@ -57,4 +57,5 @@ PYTHONPATH=artifacts/ artifacts/lava/lava_job_submitter.py \ --lava-tags "${LAVA_TAGS}" \ --mesa-job-name "$CI_JOB_NAME" \ --structured-log-file "results/lava_job_detail.json" \ + --ssh-client-image "${LAVA_SSH_CLIENT_IMAGE}" \ >> results/lava.log diff --git a/.gitlab-ci/lava/lava_job_submitter.py b/.gitlab-ci/lava/lava_job_submitter.py index 92923fcf271..e8f1aefecba 100755 --- a/.gitlab-ci/lava/lava_job_submitter.py +++ b/.gitlab-ci/lava/lava_job_submitter.py @@ -378,6 +378,7 @@ class LAVAJobSubmitter(PathResolver): visibility_group: str = None # Only affects LAVA farm maintainers job_rootfs_overlay_url: str = None structured_log_file: pathlib.Path = None # Log file path with structured LAVA log + ssh_client_image: str = None # x86_64 SSH client image to follow the job's output __structured_log_context = contextlib.nullcontext() # Structured Logger context def __post_init__(self) -> None: diff --git a/.gitlab-ci/lava/utils/ssh_job_definition.py b/.gitlab-ci/lava/utils/ssh_job_definition.py index cc2acc66507..1308e5ca92a 100644 --- a/.gitlab-ci/lava/utils/ssh_job_definition.py +++ b/.gitlab-ci/lava/utils/ssh_job_definition.py @@ -30,11 +30,12 @@ script after sourcing "dut-env-vars.sh" again for the second SSH test case. from pathlib import Path from typing import Any + from .lava_job_definition import ( - artifact_download_steps, - to_yaml_block, - generate_metadata, NUMBER_OF_ATTEMPTS_LAVA_BOOT, + artifact_download_steps, + generate_metadata, + to_yaml_block, ) # Very early SSH server setup. Uses /dut_ready file to flag it is done. @@ -134,7 +135,7 @@ def generate_docker_test(args): } ], "docker": { - "image": "registry.gitlab.collabora.com/lava/health-check-docker:wip-laura-ping-ssh-support", + "image": args.ssh_client_image, }, } diff --git a/src/freedreno/ci/gitlab-ci.yml b/src/freedreno/ci/gitlab-ci.yml index d73b7974a10..45777568955 100644 --- a/src/freedreno/ci/gitlab-ci.yml +++ b/src/freedreno/ci/gitlab-ci.yml @@ -135,6 +135,8 @@ a530-traces: PIGLIT_RESULTS: "freedreno-a530-replay" .a618-test: + extends: + .lava-test:arm64 variables: FLAKES_CHANNEL: "#freedreno-ci" BOOT_METHOD: depthcharge @@ -259,6 +261,9 @@ a618-traces-performance: # Always use the same device # a618 tag starts with cbg-1 (not cbg-0) for some reason LAVA_TAGS: "cbg-1" + needs: + - !reference [a618-traces, needs] + - !reference [.piglit-performance:arm64, needs] .lava-sm8350-hdk: variables: diff --git a/src/gallium/drivers/zink/ci/gitlab-ci.yml b/src/gallium/drivers/zink/ci/gitlab-ci.yml index 870ebd7cce7..afdb70deae7 100644 --- a/src/gallium/drivers/zink/ci/gitlab-ci.yml +++ b/src/gallium/drivers/zink/ci/gitlab-ci.yml @@ -136,6 +136,9 @@ zink-tu-a618-traces-performance: # Always use the same device # a618 tag starts with cbg-1 (not cbg-0) for some reason LAVA_TAGS: "cbg-1" + needs: + - !reference [zink-tu-a618-traces, needs] + - !reference [.piglit-performance:arm64, needs] .zink-freedreno-a630-traces: extends: