Commit 92f9141f authored by Antonio Caggiano's avatar Antonio Caggiano 🦀 Committed by Marge Bot
Browse files

ci/freedreno: Test with non-redistributable traces

Add a job to test with traces that we cannot redistribute, listed in a
separate file. Since those traces might not be accessible by everyone,
this job is created only when the pipeline is triggered by `marge-bot`.

This job is optional because otherwise it could be blocking a merge
request of someone who cannot really debug the issue due to lack of
access to these traces.

The documentation available under `docs/ci` goes into more details
explaining the rationale behind optional traces.
Signed-off-by: Antonio Caggiano's avatarAntonio Caggiano <>
Signed-off-by: Tomeu Vizoso's avatarTomeu Vizoso <>
Reviewed-by: Emma Anholt's avatarEmma Anholt <>
Part-of: <!6441>
parent b88fd3cc
......@@ -1265,7 +1265,7 @@ debian-mingw32-x86_64:
PIGLIT_REPLAY_EXTRA_ARGS: --keep-image --db-path ${CI_PROJECT_DIR}/replayer-db/
PIGLIT_REPLAY_EXTRA_ARGS: --keep-image --db-path ${CI_PROJECT_DIR}/replayer-db/ --minio_bucket=mesa-tracie-public --role-session-name=${CI_PROJECT_PATH}:${CI_JOB_ID} --jwt=${CI_JOB_JWT}
......@@ -212,6 +212,10 @@ fi
FAILURE_MESSAGE=$(printf "%s" "Unexpected change in results:")
if [ "x$PIGLIT_PROFILES" = "xreplay" ]; then
ci-fairy minio login $MINIO_ARGS $CI_JOB_JWT
eval $RUN_CMD
if [ $? -ne 0 ]; then
......@@ -237,8 +241,6 @@ mkdir -p .gitlab-ci/piglit
if [ "x$PIGLIT_PROFILES" = "xreplay" ] \
&& [ ${PIGLIT_REPLAY_UPLOAD_TO_MINIO:-0} -eq 1 ]; then
ci-fairy minio login $MINIO_ARGS $CI_JOB_JWT
......@@ -52,6 +52,41 @@ The three GitLab CI systems currently integrated are:
Application traces replay
The CI replays application traces with various drivers in two different jobs. The first
job replays traces listed in ``src/<driver>/ci/traces-<driver>.yml`` files and if any
of those traces fail the pipeline fails as well. The second job replays traces listed in
``src/<driver>/ci/restricted-traces-<driver>.yml`` and it is allowed to fail. This second
job is only created when the pipeline is triggered by `marge-bot` or any other user that
has been granted access to these traces.
A traces YAML file also includes a ``download-url`` pointing to a MinIO
instance where to download the traces from. While the first job should always work with
publicly accessible traces, the second job could point to an url with restricted access.
Restricted traces are those that have been made available to Mesa developers without a
license to redistribute at will, and thus should not be exposed to the public. Failing to
access that URL would not prevent the pipeline to pass, therefore forks made by
contributors without permissions to download non-redistributable traces can be merged
without friction.
As an aside, only maintainers of such non-redistributable traces are responsible for
ensuring that replays are successful, since other contributors would not be able to
download and test them by themselves.
Those Mesa contributors that believe they could have permission to access such
non-redistributable traces can request permission to Daniel Stone <>. accounts that are to be granted access to these traces will be
added to the OPA policy for the MinIO repository as per .
So the jobs are created in personal repositories, the name of the user's account needs
to be added to the rules attribute of the Gitlab CI job that accesses the restricted
Intel CI
PRIVATE_TRACES_COMMITTERS: "/^(robclark|anholt|flto|cwabbott0|Danil|tomeu)$/"
- .baremetal-test
......@@ -279,3 +282,18 @@ a630-traces:
# missing.
- a630-traces
PIGLIT_REPLAY_DESCRIPTION_FILE: "/install/restricted-traces-freedreno.yml"
PIGLIT_REPLAY_EXTRA_ARGS: --keep-image --db-path ${CI_PROJECT_DIR}/replayer-db/ --minio_bucket=mesa-tracie-private --role-session-name=${CI_PROJECT_PATH}:${CI_JOB_ID} --jwt=${CI_JOB_JWT}
when: on_success
- if: '($GITLAB_USER_LOGIN == "marge-bot") &&
when: on_success
- when: never
allow_failure: true
download-url: ""
# Crashes
# - path: alien-isolation/AlienIsolation.bin.1-trim--k-f2000-v20201203.trace
# expectations:
# - device: freedreno-a630
# checksum: 4ae01533a347796097e3cefff10b029e
- path: civilization-v/CivilizationV-trim--s705-761-f762-v20201203.trace
- device: freedreno-a630
checksum: ae376491202642d29498285e463538fa
- path: golf-with-your-friends/GolfWithYourFriends-trim--f1070-v20201203.trace
- device: freedreno-a630
checksum: 7b08782ff6a54a3d088729363080c5b6
- path: hollow-knight/HollowKnight-trim--f2020-v20201203.trace
- device: freedreno-a630
checksum: e72925568412a8ebdbac68c929972a55
# Crashes
# - path: ksp/KSP-trim--f4800-v20201203.trace
# expectations:
# - device: freedreno-a630
# checksum: 59da6ef5c9509616d595d1613fdac42e
- path: overcooked2/Overcooked2-trim--f3301-v20201203.trace
- device: freedreno-a630
checksum: a45f37ca95f54eb3255f5ca24e2c14cb
# Crashes
# - path: plaugue-inc-evolved/PlagueIncEvolved-trim--f1200-v20201203.trace
# expectations:
# - device: freedreno-a630
# checksum: 59da6ef5c9509616d595d1613fdac42e
- path: portal2/Portal2-trim--f1020-v20201203.trace
- device: freedreno-a630
checksum: 4df1b02310aa08d1e0118240d1f4ae05
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment