[Mesa-dev] How to merge Mesa changes which require corresponding piglit changes

Michel Dänzer michel at daenzer.net
Fri Nov 15 11:20:30 UTC 2019


Now that the GitLab CI pipeline tests a snapshot of piglit with llvmpipe
(https://gitlab.freedesktop.org/mesa/mesa/merge_requests/2468), the
question has come up how to deal with inter-dependent Mesa/piglit
changes (where merging only one or the other causes some piglit
regressions).


First of all, let it be clear that just merging the Mesa changes as-is
and breaking the GitLab CI pipeline is not acceptable.


>From the Mesa POV, the easiest solution is:

1. Merge the piglit changes
2. In the Mesa MR (merge request), add a commit which updates piglit[0]
3. If the CI pipeline is green, the MR can be merged


In case one wants to avoid alarms from external CI systems, another
possibility is:

1. In the Mesa MR, add a commit which disables the piglit tests broken
by the Mesa changes.
2. If the CI pipeline is green, the MR can be merged
3. Merge the piglit changes
4. Create another Mesa MR which updates piglit[0] and re-enables the
tests disabled in step 1


I hope that covers it, don't hesitate to ask questions if something's
still unclear.


[0] How to update piglit in the CI pipeline:

* Change the commit hash on the "git checkout" line in
.gitlab-ci/debian-test-install.sh[1] to a later commit from the piglit
master branch
* Bump DEBIAN_TEST_TAG[1] in .gitlab-ci.yml to the current date
* May also need to update .gitlab-ci/piglit/*.txt to match any expected
changes in test results

See https://gitlab.freedesktop.org/mesa/mesa/merge_requests/2748 for an
example.


[1] Might soon be .gitlab-ci/container/x86_test.sh and DEBIAN_TAG in the
x86_test job definition, respectively, once
https://gitlab.freedesktop.org/mesa/mesa/merge_requests/2722 is merged.


-- 
Earthling Michel Dänzer               |               https://redhat.com
Libre software enthusiast             |             Mesa and X developer


More information about the mesa-dev mailing list