Commit Graph

995 Commits

Author SHA1 Message Date
Pavel Ondračka
8b5cdc5fa5 ci: add r300 RV530 dEQP gles2 CI job
Reviewed-by: Martin Roukala <martin.roukala@mupuf.org>
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com>
Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26823>
2024-01-08 16:19:20 +00:00
Eric Engestrom
ac5a27917d ci: fix farm restore pipelines
A few lines above, we disable pipelines for farm disables, but we were
missing a condition to run the container & build jobs when re-enabling
a farm, leading to invalid pipelines where test jobs for that farm are
created but the container & build jobs are missing.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26809>
2023-12-24 09:30:52 +00:00
Vignesh Raman
2487e18d4e ci: bare-metal: poe: Create strutured logs
Use the CustomLogger class and CLI tool to create strutured logs
for poe scripts which are used by broadcom and nouveau jobs.
Renamed stage lint to code-validation and added python-test job
which runs the tests for structured and customer logger to ci.

Signed-off-by: Vignesh Raman <vignesh.raman@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25179>
2023-12-19 10:09:35 +00:00
Daniel Stone
8085145db0 ci: Fix trivial typo in ARTIFACTS_BASE_URL
Signed-off-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26690>
2023-12-14 19:24:35 +00:00
Eric Engestrom
e46702f7ae ci: deduplicate constructing the ARTIFACTS_BASE_URL
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26670>
2023-12-13 21:12:22 +00:00
Eric Engestrom
680f249c9f ci: improve comments
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26451>
2023-12-06 08:26:04 +00:00
Eric Engestrom
b6fa242fb0 ci: make sure pre-merge pipelines have the same jobs as merge pipelines
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26451>
2023-12-06 08:26:04 +00:00
Eric Engestrom
22d9c17c66 ci: clean up pre-merge and fork pipelines rules
We've already handled all the Marge-bot possibilities above, so drop the
redundant `marge-bot` check, which also makes it obvious the last line
was dead code.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26451>
2023-12-06 08:26:04 +00:00
Eric Engestrom
f3264c2ea0 ci: give an explicit priority to the scheduled nightly pipelines
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26451>
2023-12-06 08:26:04 +00:00
Eric Engestrom
2ecb550418 ci: add pipeline for direct pushes to main
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26451>
2023-12-06 08:26:04 +00:00
Eric Engestrom
90a77f55de ci: drop containers, builds, and tests from post-merge pipeline
All these jobs are redundant and a waste of resources:
- the containers have already been built & pushed in the merge pipeline
- the mesa build variants have already all passed
- the driver tests have already all passed

None of these jobs are doing anything useful in this pipeline, but it
costs a factor of 2x to our infrastructure, so let's remove them.

In other words, the only job left in the post-merge pipeline is the
`pages` job that deploys the update to the website.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26451>
2023-12-06 08:26:04 +00:00
Eric Engestrom
b976b9cd8d ci: rename is-pre-merge-for-marge to is-merge-attempt to be clearer
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26451>
2023-12-06 08:26:04 +00:00
Eric Engestrom
7f05f52f2d ci: identify merge request pipelines using $CI_PIPELINE_SOURCE == merge_request_event instead of $CI_COMMIT_BRANCH being missing
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26451>
2023-12-06 08:26:04 +00:00
Eric Engestrom
5b51b7ba41 ci: turn comment into code in sanity job rules
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26451>
2023-12-06 08:26:04 +00:00
Eric Engestrom
60dcc4744f ci: explain what we mean by the various types of pipelines
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26451>
2023-12-06 08:26:04 +00:00
David Heidelberg
7d85656fa7 ci: tag sanity, rustfmt and clang-format job as a "placeholder" job
There is close to zero work needed to execute this job.

Should speed up the initial process of entering into pipeline tree
and also provide an opportunity for `aarch64` runners to engage sooner,
even when x86_64 machines are loaded.

Acked-by: Daniel Stone <daniels@collabora.com>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26125>
2023-11-09 17:30:07 +00:00
David Heidelberg
5e44cee47d ci: inject gfx-ci/linux S3 artifacts without rebuilding containers
We need update kernel often. We need test kernel changes often.

Introduced `KERNEL_EXTERNAL_TAG` to differ between `KERNEL_TAG` which is
also used to rebuild the containers. We don't need rebuild containers
for the external kernel, so this way we don't have to.

Updating kernel goes wruuuuuum.

Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23563>
2023-11-07 12:22:09 +00:00
Eric Engestrom
a4597777fe ci: restore sanity (aka. Revert "ci: don't run sanity in Marge pipelines")
This reverts commit fac60c140b.

Turns out there are pipelines that do not create any other jobs, and
Marge requires a pipeline to pass, which means a pipeline needs to
exist, which means a job needs to always exist.

There is no reason `sanity` would be the one, but it's there so let's
just use it instead of making another one.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26080>
2023-11-06 21:49:44 +00:00
Eric Engestrom
e9f725c741 ci/rules: add missing clang-format files to what needs containers to build
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26013>
2023-11-04 12:44:37 +00:00
Eric Engestrom
163c6fe4c4 ci: add .never-post-merge-rules to avoid re-running pre-merge jobs after merging
This is entirely unnecessary and a 2x waste of resources.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25960>
2023-10-31 14:42:54 +00:00
Eric Engestrom
fac60c140b ci: don't run sanity in Marge pipelines
This check is intended for the MR author; for everyone else, there's
nothing they can do if the job fails so it's pointless to run it.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25920>
2023-10-30 17:50:56 +00:00
Eric Engestrom
3f64b12c1e ci: drop confusing fake rules, if and when on the list of rules strings
These are not real rules, they are just strings that have an anchor that
can be referenced elsewhere in this file.

Having these fake bits in here is confusing, as revealed by the
reactions from the first version of this commit.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25920>
2023-10-30 17:50:55 +00:00
Eric Engestrom
9618fefd18 ci: unify container and build jobs rules
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25294>
2023-09-26 18:06:23 +00:00
Eric Engestrom
83d856d4bc ci/farm-rules: re-add "run every container and build job when a farm gets re-enabled"
Turns out I was right the first time, I was just missing that this
should only be done in MRs, which @daniels added in 16527f6ffd.

Without this, a "farm re-enable" pipeline will run all the jobs for that
farm, but will have none of the container & build jobs to support these
tests.

This reverts commit 1c3097225a.

Fixes: 1c3097225a ("ci: don't run everything just because a farm gets re-enabled")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25243>
2023-09-15 16:07:17 +00:00
Eric Engestrom
67c7f391b3 ci/farm-rules: rename .disable-farm-mr-rules to make it clear it's only about MRs
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25243>
2023-09-15 16:07:17 +00:00
Daniel Stone
7521dbae60 ci: Fix pre-merge pipelines with no code changes
Make sure we don't end up with manual container jobs in MR pipelines,
because they'll never start. This cleans up the container and build
rules so always 'do the right thing' on MRs (container+build if
required, nothing if not) and user branches (all manual).

Signed-off-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25219>
2023-09-15 11:29:34 +00:00
Daniel Stone
e67868fa19 ci: Always set user container jobs to manual
Don't require source changes to create the jobs, just create them
always.

Signed-off-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25205>
2023-09-14 05:53:47 +00:00
Daniel Stone
7cb86d9adc ci: Move farm-disable rules before anything else
For consistency, make our 'when: never' rules be the first rules to
match any job, either build or container.

Otherwise we could end up with some jobs having when: never and others
having when: manual.

Signed-off-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25205>
2023-09-14 05:53:47 +00:00
Eric Engestrom
1c3097225a ci: don't run everything just because a farm gets re-enabled
Let the other rules take care of this, as they did before
7cf13ea504.

Fixes: 7cf13ea504 ("ci: skip containers & build jobs when disabling a farm")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25151>
2023-09-13 07:50:21 +00:00
Eric Engestrom
717cff829c ci: remove duplicate fork pipeline in MRs
The argument for keeping this duplicate was to not affect
the ci_run_n_monitor script (which by default picked the pipeline in the
user's fork), but the script already supported specifying
a `--pipeline-url` to support that use-case, and it now automatically
picks the MR pipeline if there is no fork pipeline.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25154>
2023-09-12 17:55:53 +00:00
Daniel Stone
9dbc8a7ee3 ci: Declare stages before jobs
It looks like GitLab 16.x requires us to declare the stages before we
declare any jobs, else it falls down resolving 'needs' with 'job is not
in any earlier stage'.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25149>
2023-09-11 14:10:23 +00:00
Eric Engestrom
7cf13ea504 ci: skip containers & build jobs when disabling a farm
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25032>
2023-09-05 14:04:52 -04:00
David Heidelberg
3a4bdf26e6 ci: remove LAVA prefix from variables which can be used also elsewhere
At least these two can be easily used in bare-metal or Labgrid setups.

Currently I already have MR for implementing these for Labgrid.

Reviewed-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24665>
2023-08-17 13:25:46 +00:00
Eric Engestrom
51511892c6 ci: rename *.log to *.txt to work around gitlab bug
Signed-off-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24620>
2023-08-17 11:36:42 +00:00
Helen Koike
3fe0cec4c1 ci: disable duplicated pipelines triggered by marge
When Marge rebases, it creates two pipelines, one in the author's account
due to the rebase and another one in the target account due to the merge
request event. Depending on the order they appear, Marge erroneously
check the author's pipeline, and since it doesn't have the rights to
start this pipeline, Marge fails to merge because it timed out (since the
pipeline never got run).

Fix this by disabling the author's pipeline (source of type "push") when
a merge request is open.

We only disable when the pipeline is triggered by marge to not affect
running ci_run_n_monitor.py script

Signed-off-by: Helen Koike <helen.koike@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24730>
2023-08-17 03:45:39 +00:00
David Heidelberg
c4357c6c49 ci: add perfetto into mesa git-cache
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8821

Fixes: 8aff228127 ("ci: Enable building the testing drivers with perfetto.")
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23611>
2023-08-08 16:13:05 +00:00
David Heidelberg
23158e9a3f ci: build kernel in gfx-ci/linux and just use binaries in Mesa3D CI
This bring visible speedup while preparing the rootfs and containers.

Acked-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Acked-by: Erico Nunes <nunes.erico@gmail.com>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24079>
2023-07-16 02:11:23 +02:00
Eric Engestrom
a1c1cce9df ci: avoid running hardware jobs if there are already trivial issues
Suggested-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Signed-off-by: Eric Engestrom <eric@igalia.com>
Acked-by: Daniel Stone <daniels@collabora.com>
Acked-by: David Heidelberg <david.heidelberg@collabora.com>
Acked-by: Jesse Natalie <jenatali@microsoft.com>
Acked-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23774>
2023-07-12 14:08:42 +00:00
Eric Engestrom
80c10b2a4b ci: split farm rules out of test-source-dep.yml
That file has become a bit of the new `.gitlab-ci.yml` with just about
everything in there, but a lot of its content doesn't need to be in the
same file anymore now that `!reference` exists.

Signed-off-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24090>
2023-07-12 00:50:23 +00:00
Eric Engestrom
8e383e6d9e ci: set priority:low tag only on non-Marge pipelines
This allows dynamically setting the priority to avoid starving Marge.

Signed-off-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org>
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23976>
2023-07-11 13:50:38 +00:00
Eric Engestrom
c56528b450 ci: document workflow rules
Signed-off-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org>
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23976>
2023-07-11 13:50:38 +00:00
Helen Koike
9dd106b113 ci: move .microsoft-farm-container-rules to test-source-dep.yml
farm rules are placed on test-source-dep.yml, so move it there.

This is also useful when trying to re-use the container/gitlab-ci.yml to
other workflows without running the jobs.

Signed-off-by: Helen Koike <helen.koike@collabora.com>
Acked-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23731>
2023-06-22 00:01:18 +00:00
David Heidelberg
dcf5dfbbf8 ci: implement farms handling trough files inside .ci-farms
- Disable farm with `git mv .ci-farm{,-disabled}/$farm_name`.
 - Re-enable farm with `git mv .ci-farm{-disabled,}/$farm_name`.

NEVER MIX FARM MAINTENANCE WITH ANY OTHER CHANGE IN THE SAME MERGE REQUEST!

Reviewed-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org>
Acked-by: Daniel Stone <daniels@collabora.com>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23629>
2023-06-16 22:03:14 +00:00
Daniel Stone
2760aeb13e CI: Re-enable freedreno CI
Signed-off-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23108>
2023-06-14 17:39:29 +00:00
Daniel Stone
47991a094e ci: Elaborate causes for job retries
Rather than always retrying, only retry jobs on a limited set of causes.
This notably excludes retries when a job is stuck due to lack of runners
to schedule it; if we can't get a slot on a runner in time, there's no
reason to try again, since our window of opportunity has gone.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23108>
2023-06-14 17:39:29 +00:00
Erico Nunes
98fde58b3a ci: temporarily disable lima farm
The lab is currently experiencing network instability with the ISP.

Signed-off-by: Erico Nunes <nunes.erico@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23623>
2023-06-13 16:07:55 +00:00
Martin Roukala (né Peres)
00765e7865 ci: bring back the valve farm
Valve infra is back online, sorry for the noise!

This is a partial revert of commit 628d21c521.

Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23571>
2023-06-11 08:53:11 +03:00
David Heidelberg
628d21c521 ci: valve and freedreno farm is down
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23567>
2023-06-10 23:43:51 +00:00
David Heidelberg
deba02fddf ci: rename MINIO_HOST variable to S3_HOST
Reviewed-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23527>
2023-06-10 01:31:16 +02:00
Sergi Blanch Torne
7447c15894 Revert "ci: disable Collabora's LAVA lab for maintance"
This reverts commit 7059aa2f84

Signed-off-by: Sergi Blanch Torne <sergi.blanch.torne@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23429>
2023-06-05 10:48:21 +00:00