Tomeu Vizoso
bea34a0853
ci: Upload reference images for traces
...
After a trace succeeds, check if the rendered image already exists in
the repository of reference images, and upload it if it doesn't.
This image will be used for comparing with failed retraces.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Reviewed-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6113 >
2020-07-30 13:18:35 +02:00
Tomeu Vizoso
735ad2d211
ci: Always print status code of HTTP uploads in tracie
...
I'm seeing occasional unexpected 403 errors when uploading artifacts.
Print the response in case MinIO is telling us why.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Reviewed-by: Daniel Stone <daniels@collabora.com >
Reviewed-by: Rohan Garg <rohan.garg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6101 >
2020-07-29 14:25:30 +02:00
Tomeu Vizoso
429ec827d4
ci: Namespace trace artifacts to the job number
...
Put artifacts in a per-job folder, because if a job is retried then it
will try to upload a file to the same key and fail with the following
error:
403 Client Error: Forbidden for url:
https://minio-packet.freedesktop.org/artifacts/daenzer/mesa/180609/gl-panfrost-t860/results.yml
Also, to prevent in the future similar clashes if several trace files
share the same name, upload the images with their checksums as their
names. This will also make it easier to fetch images for comparison with
the references.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Reviewed-by: Andres Gomez <agomez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6029 >
2020-07-23 09:04:33 +00:00
Tomeu Vizoso
87e0b2c1c2
ci: Prefix tracie artifacts with the device name
...
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Reviewed-by: Andres Gomez <agomez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6008 >
2020-07-22 05:57:41 +00:00
Tomeu Vizoso
a1947f059f
gitlab-ci: Upload tracie artifacts to MinIO
...
Upload failed images and the results.yml file to MinIO, to facilitate
debugging.
Also, fix version checking when git is installed as Mesa is going to
output a different renderer string if git is installed.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Reviewed-by: Daniel Stone <daniels@collabora.com >
Reviewed-By: Rohan Garg <rohan.garg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5472 >
2020-07-21 09:22:19 +00:00
Tomeu Vizoso
20507f8b17
gitlab-ci: Download traces from MinIO
...
Downloading the traces directly from git causes very high egress from
GCE, which is expensive.
So we can expand trace testing further, we are going to keep a cache in
freedesktop.org's MinIO instance. This commit implements downloading
from it.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Reviewed-by: Daniel Stone <daniels@collabora.com >
Reviewed-By: Rohan Garg <rohan.garg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5472 >
2020-07-21 09:22:18 +00:00
Eric Anholt
9f1412cf3e
ci/tracie: Print the path if the trace isn't found.
...
I hit this a few times while setting up CI.
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5433 >
2020-06-25 17:33:28 +00:00
Pablo Saavedra
4504d6374d
ci: Fix TypoError error when traces in traces.yml is an empty list
...
v2: Python's nitpick (Andres)
In case of an empty list of traces, the results.yml will contain an empty
curly braces. In YAML, an associative array can also be specified by text
enclosed in curly braces ({}),
This commit also adds the corresponding test to check the behavior of
tracie when no traces are added in the traces.yml file.
Signed-off-by: Pablo Saavedra <psaavedra@igalia.com >
Reviewed-by: Andres Gomez <agomez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4916 >
2020-05-18 17:27:42 +00:00
Pablo Saavedra
37621da7b1
ci: ArgumentParser receives the args from the main parameters
...
Change the main function to receive the args parameter from
sys.argv[1:]. The args parameter will be passed to the
ArgumentParser.parse_args() function as argument.
This change provides an easier main() function signature to use
with pythonic testsuites.
Signed-off-by: Pablo Saavedra <psaavedra@igalia.com >
Reviewed-by: Alexandros Frantzis <alexandros.frantzis@collabora.com >
Reviewed-by: Andres Gomez <agomez@igalia.com >
Reviewed-by: Rohan Garg <rohan.garg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4916 >
2020-05-18 17:27:42 +00:00
Pablo Saavedra
eb1f22fb01
ci: TRACES_DB_PATH and RESULTS_PATH defined as relative paths
...
RESULTS_PATH and RESULTS_PATH, as variables in the module context, are
resolved one single time, only during the first module loading. If the
the Python code in execution changes the current dir at some point,
those paths are not going to be updated anymore keeping the paths
wrongly pointing to the old working dir.
This change modify the definition of those variables to use simply
relative paths.
Signed-off-by: Pablo Saavedra <psaavedra@igalia.com >
Reviewed-by: Alexandros Frantzis <alexandros.frantzis@collabora.com >
Reviewed-by: Andres Gomez <agomez@igalia.com >
Reviewed-by: Rohan Garg <rohan.garg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4916 >
2020-05-18 17:27:42 +00:00
Andres Gomez
a6beb051af
gitlab-ci: correct tracie behavior with replay errors
...
[dump_trace_images] Info: Dumping trace /tmp/tracie.test.ap5pshYcsg/traces-db/trace1/magenta.testtrace... ERROR
[dump_trace_images] Debug: === Failure log start ===
invalid literal for int() with base 16: 'in'
[dump_trace_images] Debug: === Failure log end ===
[check_image] Trace /tmp/tracie.test.ap5pshYcsg/traces-db/trace1/magenta.testtrace couldn't be replayed. See above logs for more information.
Traceback (most recent call last):
File "/tmp/tracie.test.ap5pshYcsg/tracie.py", line 176, in <module>
main()
File "/tmp/tracie.test.ap5pshYcsg/tracie.py", line 164, in main
ok, result = gitlab_check_trace(project_url, commit_id, args.device_name, trace, expectation)
TypeError: cannot unpack non-iterable bool object
Fixes: efbbf8bb81
("tracie: Print results in a machine readable format")
Signed-off-by: Andres Gomez <agomez@igalia.com >
Reviewed-by: Rohan Garg <rohan.garg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4839 >
2020-05-13 13:57:36 +03:00
Andres Gomez
8546d1dd78
gitlab-ci: create always the "results" directory with tracie
...
Otherwise, we will fail when the traces description file doesn't
contain any checksum for the specified device.
Fixes: efbbf8bb81
("tracie: Print results in a machine readable format")
Signed-off-by: Andres Gomez <agomez@igalia.com >
Reviewed-by: Rohan Garg <rohan.garg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4839 >
2020-05-13 13:57:13 +03:00
Andres Gomez
acf7e73be5
gitlab-ci: make explicit tracie is gitlab specific
...
Tracie main script and traces.yml file talk about repo(sitory) when it
actually means GitLab's project.
Since the script is GitLab's API specific, make it clear.
Signed-off-by: Andres Gomez <agomez@igalia.com >
Reviewed-by: Alexandros Frantzis <alexandros.frantzis@collabora.com >
Reviewed-by: Rohan Garg <rohan.garg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4496 >
2020-04-14 16:07:28 +03:00
Rohan Garg
80c13a81b1
tracie: Reformat code to fix indentation
...
Signed-off-by: Rohan Garg <rohan.garg@collabora.com >
Reviewed-by: Alexandros Frantzis <alexandros.frantzis@collabora.com >
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4435 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4435 >
2020-04-07 18:21:32 +00:00
Rohan Garg
efbbf8bb81
tracie: Print results in a machine readable format
...
Signed-off-by: Rohan Garg <rohan.garg@collabora.com >
Reviewed-by: Alexandros Frantzis <alexandros.frantzis@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4435 >
2020-04-07 18:21:32 +00:00
Rohan Garg
d0f836e5ae
tracie: Switch to using shutil.move for cross filesystem moves
...
When running tracie in a docker container, renaming files from
inside the container to a bind-mounted folder on the host causes
a invalid cross-device link due to os.rename limitations.
Switching to shutil allows us to overcome this.
Signed-off-by: Rohan Garg <rohan.garg@collabora.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Reviewed-by: Alexandros Frantzis <alexandros.frantzis@collabora.com >
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4377 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4377 >
2020-04-02 10:53:05 +00:00
Alexandros Frantzis
05069e1f07
gitlab-ci: Fix traces caching in tracie
...
We are currently comparing a hex string representation of the git lfs
OID with a byte array representation of the locally calculated OID,
causing detection of valid cached traces to fail. Ensure we are
comparing compatible representations (in this case hex strings).
Signed-off-by: Alexandros Frantzis <alexandros.frantzis@collabora.com >
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4300 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4300 >
2020-03-26 13:55:26 +02:00
Rohan Garg
90a39af5f6
ci: Drop the git dependency in tracie
...
Instead of using git, use python and the Gitlab API
to fetch traces. This helps us slim down our ramdisks
in preparation for integrating trace replay on LAVA
devices.
Signed-off-by: Rohan Garg <rohan.garg@collabora.com >
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Reviewed-by: Alexandros Frantzis <alexandros.frantzis@collabora.com >
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4000 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4000 >
2020-03-17 07:23:27 +01:00