ci: Allow specifying a different kernel in LAVA jobs
To make it possible to use a kernel different from that built along with the rootfs. This can make it more convenient for other projects to reuse these scripts. Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com> Reviewed-by: Emma Anholt <emma@anholt.net> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15891>
This commit is contained in:
parent
f7713b0af0
commit
b46000f076
|
@ -14,7 +14,7 @@
|
|||
BASE_SYSTEM_MAINLINE_HOST_PATH: "${BASE_SYSTEM_HOST_PREFIX}/${FDO_UPSTREAM_REPO}/${DISTRIBUTION_TAG}/${ARCH}"
|
||||
BASE_SYSTEM_FORK_HOST_PATH: "${BASE_SYSTEM_HOST_PREFIX}/${CI_PROJECT_PATH}/${DISTRIBUTION_TAG}/${ARCH}"
|
||||
# per-job build artifacts
|
||||
MESA_BUILD_PATH: "${PIPELINE_ARTIFACTS_BASE}/${CI_PROJECT_NAME}-${ARCH}.tar.gz"
|
||||
BUILD_PATH: "${PIPELINE_ARTIFACTS_BASE}/${CI_PROJECT_NAME}-${ARCH}.tar.gz"
|
||||
JOB_ROOTFS_OVERLAY_PATH: "${JOB_ARTIFACTS_BASE}/job-rootfs-overlay.tar.gz"
|
||||
JOB_RESULTS_PATH: "${JOB_ARTIFACTS_BASE}/results.tar.gz"
|
||||
MINIO_RESULTS_UPLOAD: "${JOB_ARTIFACTS_BASE}"
|
||||
|
|
|
@ -31,8 +31,9 @@ tail -f results/lava.log &
|
|||
artifacts/lava/lava_job_submitter.py \
|
||||
--dump-yaml \
|
||||
--pipeline-info "$CI_JOB_NAME: $CI_PIPELINE_URL on $CI_COMMIT_REF_NAME ${CI_NODE_INDEX}/${CI_NODE_TOTAL}" \
|
||||
--base-system-url-prefix "https://${BASE_SYSTEM_HOST_PATH}" \
|
||||
--mesa-build-url "${FDO_HTTP_CACHE_URI:-}https://${MESA_BUILD_PATH}" \
|
||||
--rootfs-url-prefix "https://${BASE_SYSTEM_HOST_PATH}" \
|
||||
--kernel-url-prefix "https://${BASE_SYSTEM_HOST_PATH}" \
|
||||
--build-url "${FDO_HTTP_CACHE_URI:-}https://${BUILD_PATH}" \
|
||||
--job-rootfs-overlay-url "${FDO_HTTP_CACHE_URI:-}https://${JOB_ROOTFS_OVERLAY_PATH}" \
|
||||
--job-timeout ${JOB_TIMEOUT:-30} \
|
||||
--first-stage-init artifacts/ci-common/init-stage1.sh \
|
||||
|
|
|
@ -93,10 +93,10 @@ def generate_lava_yaml(args):
|
|||
'to': 'tftp',
|
||||
'os': 'oe',
|
||||
'kernel': {
|
||||
'url': '{}/{}'.format(args.base_system_url_prefix, args.kernel_image_name),
|
||||
'url': '{}/{}'.format(args.kernel_url_prefix, args.kernel_image_name),
|
||||
},
|
||||
'nfsrootfs': {
|
||||
'url': '{}/lava-rootfs.tgz'.format(args.base_system_url_prefix),
|
||||
'url': '{}/lava-rootfs.tgz'.format(args.rootfs_url_prefix),
|
||||
'compression': 'gz',
|
||||
}
|
||||
}
|
||||
|
@ -104,7 +104,7 @@ def generate_lava_yaml(args):
|
|||
deploy['kernel']['type'] = args.kernel_image_type
|
||||
if args.dtb:
|
||||
deploy['dtb'] = {
|
||||
'url': '{}/{}.dtb'.format(args.base_system_url_prefix, args.dtb)
|
||||
'url': '{}/{}.dtb'.format(args.kernel_url_prefix, args.dtb)
|
||||
}
|
||||
|
||||
# always boot over NFS
|
||||
|
@ -160,7 +160,7 @@ def generate_lava_yaml(args):
|
|||
|
||||
init_lines += [
|
||||
'mkdir -p {}'.format(args.ci_project_dir),
|
||||
'wget -S --progress=dot:giga -O- {} | tar -xz -C {}'.format(args.mesa_build_url, args.ci_project_dir),
|
||||
'wget -S --progress=dot:giga -O- {} | tar -xz -C {}'.format(args.build_url, args.ci_project_dir),
|
||||
'wget -S --progress=dot:giga -O- {} | tar -xz -C /'.format(args.job_rootfs_overlay_url),
|
||||
f'echo "export CI_JOB_JWT_FILE={args.jwt_file}" >> /set-job-env-vars.sh',
|
||||
'exec /init-stage2.sh',
|
||||
|
@ -346,8 +346,9 @@ def create_parser():
|
|||
parser = argparse.ArgumentParser("LAVA job submitter")
|
||||
|
||||
parser.add_argument("--pipeline-info")
|
||||
parser.add_argument("--base-system-url-prefix")
|
||||
parser.add_argument("--mesa-build-url")
|
||||
parser.add_argument("--rootfs-url-prefix")
|
||||
parser.add_argument("--kernel-url-prefix")
|
||||
parser.add_argument("--build-url")
|
||||
parser.add_argument("--job-rootfs-overlay-url")
|
||||
parser.add_argument("--job-timeout", type=int)
|
||||
parser.add_argument("--first-stage-init")
|
||||
|
|
Loading…
Reference in New Issue