Skip to content

Pipeline collate results and prepare a expectations update patch

Sergi Blanch Torné requested to merge sergi/ci-uprev:collate_patch into main

From the request #41 (closed), we can extend the already existing collate subcommand in the ci-uprev tool to generate a patch with the expectations to update based on the failures.csv files of the jobs in the pipeline.

This ci-uprev tool uses environment variables (unlike ci-collate, which has a more user-friendly CLI), so it requires a tricky setup of variables to work. Even variables not related to this task.

As an example, to prepare a patch from a pipeline that belongs to gfx-ci-bot when it did an uprev of piglit, one has to specify some variables:

export TARGET_PROJECT_PATH="mesa/mesa"; \
export export FORK_PROJECT_PATH="gfx-ci-bot/mesa"; \
export DEP_PROJECT_PATH="mesa/piglit"; \
python ci-uprev.py collate 842927 --patch

It outputs in the console, like if it is called without the --patch argument, a dictionary summarizing the information gathered from failures.csv files in those jobs.

{"('iris-kbl-piglit', 'intel')": {'glx@glx-make-current': ['UnexpectedPass']}, 
 "('panfrost-g52-piglit-gles2:arm64', 'arm')": {'glx@glx-make-current': ['UnexpectedPass']}, 
 "('radeonsi-raven-piglit-quick_gl:amd64', 'amd')": {'glx@glx-make-current': ['UnexpectedPass']}, 
 "('radeonsi-stoney-gl:amd64 3/11', 'amd')": {'glx@glx-make-current': ['UnexpectedPass']}, 
 "('v3d-rpi4-piglit:armhf', 'broadcom')": {'glx@glx-make-current': ['UnexpectedPass']}, 
 "('vc4-rpi3-piglit-quick_gl:armhf', 'broadcom')": {'glx@glx-make-current': ['UnexpectedPass']}}

But it also creates a patch file {{ pipeline_id }}_expectations_update.diff. See 842927_expectations_update.diff


Depends on !55 (merged)

Solves #41 (closed)

Merge request reports