Commit graph

653 commits

Author SHA1 Message Date
Sergi Blanch Torne
3d444619e0 ci,marge_queue: introduce testing
This script didn't have tests defined. Now, the objects on this tool have
tests to verify its functionality, as well as the core method called to do
all the processes to provide a sorted list of the marge queue.

Signed-off-by: Sergi Blanch Torne <sergi.blanch.torne@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37395>
2025-10-09 12:12:42 +00:00
Sergi Blanch Torne
50c4ec0620 ci,marge_queue: use rich module
As proposed in !37454, we can benefit from `rich` python module to simplify
output formatting. Using it here it's only the link print in console what
needs to be adjusted. There is a side effect, that look ok, with some
coloring in the timestamps and MR ids listed.

Signed-off-by: Sergi Blanch Torne <sergi.blanch.torne@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37395>
2025-10-09 12:12:42 +00:00
Sergi Blanch Torne
1d38792d62 ci,marge_queue: handle GitLab auth exception
Signed-off-by: Sergi Blanch Torne <sergi.blanch.torne@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37395>
2025-10-09 12:12:42 +00:00
Sergi Blanch Torne
f41dcfcec7 ci,marge_queue: queue element formatting
The output line with the MR link only works in some consoles; it can be
interesting for some developers to have visibility of the MR id. 

It can be useful, too, to have some sort of a header showing the fields
printed from each merge request in the queue.

Signed-off-by: Sergi Blanch Torne <sergi.blanch.torne@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37395>
2025-10-09 12:12:41 +00:00
Sergi Blanch Torne
b80a93dac0 ci,marge_queue: encapsulate GitLab module queries
For testing and an eventual use of tenacity, it is practical to encapsulate
calls to the GitLab module in methods.

Signed-off-by: Sergi Blanch Torne <sergi.blanch.torne@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37395>
2025-10-09 12:12:41 +00:00
Sergi Blanch Torne
e2acf0934b ci,marge_queue: protect form transient errors
Use the parameter retry_transient_errors on the GitLab object creation to
protect the script from transient errors that can be well handled.

Signed-off-by: Sergi Blanch Torne <sergi.blanch.torne@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37395>
2025-10-09 12:12:41 +00:00
Sergi Blanch Torne
b0ea4d36ff ci,marge_queue: refactor the get queue method
Rebuild the information gathering about the marge queue and how the
information is later prompted to the user.

The queue provided to the user is sorted, so the user knows what will be
merged first (when the corresponding merge request pipeline succeeds).

Signed-off-by: Sergi Blanch Torne <sergi.blanch.torne@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37395>
2025-10-09 12:12:40 +00:00
Sergi Blanch Torne
bf5626c82f ci,marge_queue: objects to represent the queue
Enhancement of the module with two structures that can encapsulate
functionalities and establish links between data collected.

Signed-off-by: Sergi Blanch Torne <sergi.blanch.torne@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37395>
2025-10-09 12:12:39 +00:00
Sergi Blanch Torne
02af2a199b ci,marge_queue: enhance script interruption
Instead of printing an exception on the screen when the process is interrupted
from the keyboard, handle it and print a more friendly message.

Signed-off-by: Sergi Blanch Torne <sergi.blanch.torne@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37395>
2025-10-09 12:12:39 +00:00
Sergi Blanch Torne
915648f994 ci,marge_queue: encapsulate monitor loop
Encapsulate the procedure in a method that can be imported from another tool
or even a python console.

Also include a typehint fix.

Signed-off-by: Sergi Blanch Torne <sergi.blanch.torne@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37395>
2025-10-09 12:12:39 +00:00
Karmjit Mahil
30fe9b47f5 ci,crnm: Fix f-string print error
```
f"{f"has new status: {job.status} " if new_status else f"{job.status}"} "
     ^^^
SyntaxError: f-string: expecting '}'
```

Fixes: 51c3f56aa (ci,crnm: migrate colorama to rich)
Signed-off-by: Karmjit Mahil <karmjit.mahil@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37770>
2025-10-08 18:35:59 +00:00
Eric Engestrom
d31f468ad8 Revert "meson: use vcs_tag() instead of custom script"
This reverts commit e4edf9203b.

Meson is unfortunately not quite ready yet, and prints stderr noise when
_not_ building from a git clone.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37717>
2025-10-06 23:06:11 +00:00
Sergi Blanch Torne
cf9b0c1fd3 ci: fix requirements file
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
With the migration concluded on !37510 of the lava-job-submitter (it is now an
independent project under the gfx-ci namespace), a lava requirements file was
not necessary anymore, but there was still one reference.

Signed-off-by: Sergi Blanch Torne <sergi.blanch.torne@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37713>
2025-10-06 09:18:49 +00:00
Valentine Burley
040201d46a ci: Remove lava-job-submitter, LAVA containers, and tests
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
lava-job-submitter has been moved to a new repository:
https://gitlab.freedesktop.org/gfx-ci/lava-job-submitter

Remove the LAVA-related code from Mesa, since we now use the containers
built in that repository. These containers already include
lava-job-submitter and run the relevant tests there.

Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37510>
2025-10-02 18:31:56 +00:00
Martin Roukala (né Peres)
9bb74929bc ci,crnm: remove unused imports
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37641>
2025-10-01 09:38:02 +00:00
Martin Roukala (né Peres)
c2a2d7215a ci,crnm: remove unsupported arguments by console.print
Fixes: 51c3f56aa (ci,crnm: migrate colorama to rich)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37641>
2025-10-01 09:38:02 +00:00
Eric Engestrom
e4edf9203b meson: use vcs_tag() instead of custom script
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37337>
2025-09-24 18:49:37 +00:00
Sergi Blanch Torne
51c3f56aa3 ci,crnm: migrate colorama to rich
The links in the console are broken depending on the console type; for example,
when it runs within a GitLab job. This can be improved using rich. But as we
have a dependency on colorama too, we can migrate all the coloring to use this
other library too.

Signed-off-by: Sergi Blanch Torne <sergi.blanch.torne@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37454>
2025-09-23 09:57:37 +00:00
Valentine Burley
a9dbb5bd81 ci/lava: Update fire for compatibility with Debian 13
Bump `fire` from 0.5.0 to 0.7.0. The newer version removes the dependency
on the deprecated `pipes` module, which was removed in Python 3.13.

This fixes the LAVA tests in the `yaml-toml-shell-py-test` job when
running on Debian 13.

Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35853>
2025-09-16 06:16:21 +00:00
Yonggang Luo
57d273b55b meson: Getting symbols-check.py works for mingw
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37289>
2025-09-13 08:23:07 +00:00
Eric Engestrom
8e2ff175c6 ci/update_traces_checksum: fix regex detecting PIGLIT_REPLAY_DEVICE_NAME in job logs
`declare -x` is one way to export a variable, but there is also `export`.
LAVA uses the former, while CI-tron uses the latter.

LAVA always adds quotes, while CI-tron uses python's `shlex.quote()` [1]
which only adds the quotes when necessary, so let's make those optional
in the regex as well.

[1] https://docs.python.org/3/library/shlex.html#shlex.quote

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37215>
2025-09-08 13:39:39 +00:00
Eric Engestrom
62428ae59b ci/update_traces_checksum: fix decoding of log lines
We don't need to evaluate escape sequences, we should instead read them
verbatim.

Fixes issues like:

    bin/ci/update_traces_checksum.py:45: DeprecationWarning: invalid escape sequence '\.'
    bin/ci/update_traces_checksum.py:45: DeprecationWarning: invalid escape sequence '\ '
    bin/ci/update_traces_checksum.py:45: DeprecationWarning: invalid escape sequence '\;'
    bin/ci/update_traces_checksum.py:45: DeprecationWarning: invalid escape sequence '\_'

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37215>
2025-09-08 13:39:39 +00:00
Eric Engestrom
263d260494 ci_run_n_monitor: add --job-tags filter
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
This allows limiting to eg. `--target '(zink-)?radv-.*' --job-tags
'farm:(mupuf|keywords)'` to only run radv jobs on DUTs in these two
farms.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37100>
2025-09-04 09:19:32 +00:00
Eric Engestrom
d2c3c92f5e ci/gitlab_gql: keep track of job tags
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37100>
2025-09-04 09:19:32 +00:00
Eric Engestrom
f74df30d6a bin/ci: let filter_dag() caller define job filter once (instead of 3 times)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37100>
2025-09-04 09:19:31 +00:00
Job Noorman
082f4b79ae bin/rb: update Alyssa's email address in test case
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Also assert that a is not None to stop pyright from complaining.

Signed-off-by: Job Noorman <jnoorman@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37119>
2025-09-02 15:57:17 +00:00
Eric Engestrom
159fcfdb2f ci: document what scope the ci_run_n_monitor token needs
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37083>
2025-08-29 16:18:30 +00:00
Alyssa Rosenzweig
ff3bebc07f people: update Alyssa's email
Authoritative source:
https://www.phoronix.com/news/Alyssa-Rosenzweig-Joins-Intel

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37071>
2025-08-29 14:11:09 +00:00
Yonggang Luo
5b51dc3bf2 renderdoc: Upgrade to v1.5
This is for avoid invalid use `defined(WIN32)`

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36654>
2025-08-08 19:38:54 +00:00
Marek Olšák
d00d260145 docs,ci: update mapi relocation
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36562>
2025-08-06 20:35:26 +00:00
Alyssa Rosenzweig
3c9471c8d7 people: add John Anthony
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36516>
2025-08-03 21:27:45 +00:00
fossdd
126b795e76 bin/symbols-check: add __(de)register_frame_info_bases to platform symbols
Cause of the following error on x86 (32-bit):

	src/gbm/libgbm.so.1.0.0: unknown symbol exported: __deregister_frame_info_bases
	src/gbm/libgbm.so.1.0.0: unknown symbol exported: __register_frame_info_bases

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36182>
2025-07-16 22:22:09 +00:00
Valentine Burley
d1972be598 ci: Fix trace update script following environment variable changes
Since 655cf2f553 ("ci: Simplify filter_env_vars using indirect expansion"),
PIGLIT_REPLAY_DEVICE_NAME is declared using `declare -x`, not `export`.

Update the regex in update_traces_checksum.py accordingly. This is safe
for now, as all performance trace jobs currently run in LAVA and use this
declaration style.

Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36070>
2025-07-14 06:48:18 +00:00
Olivia Lee
483489ed1f bin/people.csv: update my name/email
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Missed this in 63557a03df.

Signed-off-by: Olivia Lee <olivia.lee@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36084>
2025-07-11 12:39:33 -07:00
Job Noorman
d4d9cbdbef mailmap,bin/people.csv: fix my preferred email address
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Signed-off-by: Job Noorman <jnoorman@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36063>
2025-07-11 12:04:08 +00:00
Matt Turner
93d0635924 bin/people.csv: Prefer mattst88's @gmail.com address
I've never given R-b tags with any other address (and only accidentally
committed using something else).

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36033>
2025-07-09 20:33:56 +00:00
Maíra Canal
eecf94cc8e bin: explicitly use python3 instead of python
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
The `python` command's default behaviour can vary between OSes and even
different versions of the same OS. On some systems, `python` might still
point to Python 2 for backward compatibility, while on others, it might
point to Python 3.

As Mesa already requires "Python 3.6 or newer", use `python3` explicitly
to ensure that the script is using a Python 3 interpreter.

Moreover, this commit allows this script to run on macOS, as macOS doesn't
have a `python` symlink or alias by default. Therefore, currently, when
running this script in macOS, you get a "python: command not found" error.

Signed-off-by: Maíra Canal <mcanal@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35918>
2025-07-03 20:52:48 +00:00
Eric Engestrom
4be493862d meson: only run symbols-check if nm is available
And drop the redundant check from symbols-check.py, which was actually
masking all kinds of issues.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35891>
2025-07-02 19:21:25 +00:00
Eric Engestrom
f350803fb3 bin/symbols-check: document new platform symbols exported since symbols-check was broken
The `pthread_mutexattr_*` symbols probably shouldn't be exported, but
let's fix that later so that we can at least get symbols-check to run
again ASAP.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35891>
2025-07-02 19:21:25 +00:00
Eric Engestrom
f06fff8148 bin/symbols-check: sort platform symbols
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35891>
2025-07-02 19:21:25 +00:00
Eric Engestrom
3d9b76db8e bin/symbols-check: ignore version of platform symbols
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35891>
2025-07-02 19:21:25 +00:00
Eric Engestrom
5672230c19 bin/symbols-check: ignore nm lines that don't have a symbol name
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35891>
2025-07-02 19:21:24 +00:00
Eric Engestrom
e626636e90 bin/symbols-check: fix fields length condition before accessing fields
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35891>
2025-07-02 19:21:24 +00:00
Eric Engestrom
f28cda029c bin/symbols-check: add missing newline before function
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35891>
2025-07-02 19:21:23 +00:00
Sergi Blanch-Torne
8911437038 ci: crnm: review argument metavar and type
Check the arguments to have a consistent definition of metavars to control the
string shown, and have them all lowercase. Also define the types expected on
those arguments.

Signed-off-by: Sergi Blanch-Torne <sergi.blanch.torne@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35828>
2025-07-02 15:13:55 +00:00
Sergi Blanch-Torne
c3f4b1a7db ci: crnm: rev argument for tags and branches
The --rev argument mentions that it accepts a git revision. I think it would
be practical to describe that it accepts a commit id, as well as a tag or
branch name.

Signed-off-by: Sergi Blanch-Torne <sergi.blanch.torne@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35828>
2025-07-02 15:13:55 +00:00
Sergi Blanch-Torne
e99236bad4 ci: crnm: extend it to work with other instances
ci-run_n_monitor tool can work with more projects than Mesa. It would be split
to its own repo with transparent access from the scripts in Mesa. But
meanwhile, this simple change allows using more GitLab instances than the
default gl.fd.o.

Signed-off-by: Sergi Blanch-Torne <sergi.blanch.torne@collabora.com>
Reviewed-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Acked-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35826>
2025-07-02 14:11:45 +00:00
Valentine Burley
54c967cb76 ci: Fix location of conditional build tags
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
This allows the components to be found again after the move in
d5c63dd292 ("ci: split long containers build yaml").

Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35851>
2025-07-01 10:41:14 +00:00
Eric Engestrom
14fedcfb8d ci_run_n_monitor: fix padding in links
8f557b84f6 was done because `text` is sometimes just an int,
but the fix was only applies to the padding calculation.

Unfortunately, the padding direction is also different between strings
and integers, which means the behaviour is now incoherent.

Let's convert `text` to a string before we start doing anything so that
everything afterwards is coherent.

Fixes: 8f557b84f6 ("ci: crnm: fix hyperlink format")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35587>
2025-06-18 08:42:19 +00:00
Sergi Blanch-Torne
8f557b84f6 ci: crnm: fix hyperlink format
While preparing a console link, if there is not padding defined and the text
is not strictly a string, we can have an exception that is also finishing the
execution. So, we need to strictly cast the text variable.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13342

Signed-off-by: Sergi Blanch-Torne <sergi.blanch.torne@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35511>
2025-06-17 09:02:40 +00:00