Guilherme Gallo
dabc068e6c
ci: Use ci-fairy minio login via token file
...
For every CI job, put JWT content into a file and unset CI_JOB_JWT
environment var
=======
* virgl jobs:
- Share JWT token file to crosvm instance
- Keep using `export -p` due to high complexity in the scripts
of these jobs. At least, the CI_JOB_JWT will not be leaked,
since it is being unset at the `before_script` phase of each
Mesa CI job.
* iris jobs: Update lava_job_submitter to take token file as argument
- generate-env with CI_JOB_JWT_TOKEN_FILE
- create token file during baremetal init stage
* baremetal jobs: Copy token file to bare-metal NFS
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Reviewed-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14004 >
2021-12-02 18:01:29 +00:00
Tomeu Vizoso
83a0bb007f
ci: Let manual LAVA jobs have a longer timeout than others
...
So far only LAVA jobs make use of it, but I guess baremetal could be
extended to have these timeouts as well.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13441 >
2021-11-02 10:51:54 +00:00
Emma Anholt
9ddfd297e0
ci/deqp-runner: Simplify the --jobs argument setup.
...
We can use the general "how parallel should we go on this runner?" env var
and save a bunch of massaging env var names. Fixes how PIGLIT_PARALLEL
looked like it was useful but actually wasn't passed through to HW
runners.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13372 >
2021-10-21 07:34:19 +00:00
Guilherme Gallo
7244aa1980
gitlab-ci: refactor timeout constants and tweak timeout values
...
* Refactor timeouts and retry attempts constants to variables in the top
of the python script.
* Increase LAVA job timeout value from 1 minute to 5 minutes, since the
timeout detection is just a heuristic based on the log silence in LAVA
devices. If we keep 1 minute timeout, maybe we could cancel jobs that
have tasks which may take too long to respond. Also, one minute
timeout is prone to misdetect scenarios when some network errors or
slowness may happen.
* Increase polling rate to check if the job has started from 1 check
every 30 seconds to 1 check every 10 seconds. Since it was taking 30
seconds in the worst case to start to get the log output from a LAVA
job. It is important to note that some LAVA jobs take less than 2
minutes to finish, so a 10 second wait would be more suitable in those
cases.
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12870 >
2021-09-15 15:12:52 +00:00
Guilherme Gallo
460ce7e75d
gitlab-ci: Implement a simple timeout detection for LAVA jobs
...
* Retry twice if the job does not generates logs for 5 minutes.
* Only active the timeout detection when the job starts.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12808 >
2021-09-10 13:01:16 -03:00
Guilherme Gallo
2587fa1570
gitlab-ci: Add sleep for every scheduler.jobs.logs
call
...
Add a time.sleep call between proxy.scheduler.jobs.logs calls, since
they do not block. This will relieve some request pressure on LAVA
dispatchers.
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12797 >
2021-09-10 12:34:26 +00:00
Erico Nunes
574bff9087
ci: enable CI for lima again
...
Enable CI for lima again on meson-gxl-s805x-libretech-ac boards
with Mali-450.
These boards are managed by a LAVA instance and so follow the LAVA CI
workflow in Mesa.
The goal is to have coverage for deqp-gles2, as lima is a GLES2-only
driver.
Signed-off-by: Erico Nunes <nunes.erico@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11789 >
2021-08-17 11:22:59 +00:00
Emma Anholt
cd3b6689b2
ci: Save dEQP results on all tests.
...
Everyone can get artifacts now. Let's make those artifacts useful.
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12110 >
2021-08-03 18:32:01 +00:00
Michel Dänzer
f5e6674f98
ci: Rename Debian based build jobs from meson-* to debian-*
...
meson has been the only build system in tree for some time, so the
meson- prefix was a bit meaningless.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11412 >
2021-07-09 10:24:41 +00:00
Michel Dänzer
df185ae030
ci: Add debian/ prefix to job names for Debian based docker images
...
And move the image build scripts to a subdirectory correspondingly.
Preparation for adding images based on other OSs.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11412 >
2021-07-09 10:24:41 +00:00
Daniel Stone
a439db5844
ci/lava: Generate YAML from Python, not Jinja
...
This makes it much easier to use the common init scripts ... which we
also do here.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Acked-by: Martin Peres <martin.peres@mupuf.org >
Acked-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11337 >
2021-06-15 14:02:44 +02:00
Daniel Stone
d237f5ab56
ci/lava: Make kernel image type a normal argument
...
Just pass the actual parameter, rather than bare YAML.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Acked-by: Martin Peres <martin.peres@mupuf.org >
Acked-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11337 >
2021-06-15 14:02:44 +02:00
Daniel Stone
f02634d5d2
ci/lava: Drop bitrotten fastboot support
...
We don't have any fastboot devices in LAVA, and even if we did, the old
overlay path no longer applies.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Acked-by: Martin Peres <martin.peres@mupuf.org >
Acked-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11337 >
2021-06-15 14:02:44 +02:00
Daniel Stone
8f934e96e1
ci/lava: Use common stage-2 init
...
Now that our job-execution scripts look very similar for LAVA and
bare-metal, we can just tell LAVA to use the same stage-2 init we use
for bare-metal and delete a bunch of duplication.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Acked-by: Martin Peres <martin.peres@mupuf.org >
Acked-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11337 >
2021-06-15 14:02:44 +02:00
Daniel Stone
759dcb482d
ci/lava: Pass MinIO path on the command line
...
This brings us much closer with what bare-metal does, and also allows us
to upload job data to a local instance rather than the primary fd.o one.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Acked-by: Martin Peres <martin.peres@mupuf.org >
Acked-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11337 >
2021-06-15 14:02:44 +02:00
Daniel Stone
a1e734a874
ci: Unify {BARE_METAL,LAVA}_TEST_SCRIPT environment
...
Should also probably never have been different.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Acked-by: Martin Peres <martin.peres@mupuf.org >
Acked-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11337 >
2021-06-15 14:02:44 +02:00
Daniel Stone
0d6dd44818
ci: Unify {BM,LAVA}_START_XORG environment
...
Why were they ever different ... ?
Signed-off-by: Daniel Stone <daniels@collabora.com >
Acked-by: Martin Peres <martin.peres@mupuf.org >
Acked-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11337 >
2021-06-15 14:02:44 +02:00
Daniel Stone
5f32d2a438
ci: Consistent pass/fail result output
...
One less point of differentiation.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Acked-by: Martin Peres <martin.peres@mupuf.org >
Acked-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11337 >
2021-06-15 14:02:44 +02:00
Daniel Stone
0723692a21
ci/lava: Start using devcoredump captures
...
No reason not to.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Acked-by: Martin Peres <martin.peres@mupuf.org >
Acked-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11337 >
2021-06-15 14:02:44 +02:00
Daniel Stone
a941f9bf43
ci/bare-metal: Consistently set library paths
...
Everything needs them, so might as well set it up front.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Acked-by: Martin Peres <martin.peres@mupuf.org >
Acked-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11337 >
2021-06-15 14:02:44 +02:00
Daniel Stone
813c3324f0
ci: Be consistent about install path
...
Make both LAVA and bare-metal untar into $CI_PROJECT_DIR/install/, and
symlink /install/ to it during init.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Acked-by: Martin Peres <martin.peres@mupuf.org >
Acked-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11337 >
2021-06-15 14:02:44 +02:00
Daniel Stone
3c757aa44f
ci/lava: Rename environment variable script
...
Make it line up with bare-metal.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Acked-by: Martin Peres <martin.peres@mupuf.org >
Acked-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11337 >
2021-06-15 14:02:44 +02:00
Daniel Stone
0fcb53e8f4
ci/lava: Use HWCI_KERNEL_MODULES to load modules
...
One fewer difference to bare-metal.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Acked-by: Martin Peres <martin.peres@mupuf.org >
Acked-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11337 >
2021-06-15 14:02:44 +02:00
Daniel Stone
4e581b0202
ci/lava: Set PIGLIT_NO_WINDOW
...
This got lost in the move away from hardcoded environment variables, and
fixes the Iris EGL tests.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Acked-by: Martin Peres <martin.peres@mupuf.org >
Acked-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11337 >
2021-06-15 14:02:44 +02:00
Daniel Stone
b035ea8e7d
ci/lava: Always upload Piglit replay images to MinIO
...
This should probably be set in the trace-job environments, but the
inheritance is a bit of a mess between all the systems at the moment,
and this matches previous hardcoded behaviour at least.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Acked-by: Martin Peres <martin.peres@mupuf.org >
Acked-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11337 >
2021-06-15 14:02:44 +02:00
Emma Anholt
c4a32927ab
ci: Disable Xorg's screensaver entirely.
...
The screensaver kicks in at 10 minutes and obscures the screen,
independent of dpms. This causes piglit tests to get flaky (swaps start
taking a whole second, and swapbuffersmsc-divisor-zero times out at
exactly the wrong time) and slow if the run takes longer than 10 minutes.
Hopefully with this we'll see some piglit glx flakes go away forever, it
did seem to for this test locally.
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11334 >
2021-06-14 17:49:38 +00:00
Daniel Stone
df402eb83e
ci/lava: Avoid tee as it ruins exit status
...
I was today years old when I learned this about classic composable UNIX
tools:
~/mesa/mesa lava-submitter-overlay * % bash
[daniels@strictly mesa]$ set -e
[daniels@strictly mesa]$ false | tee
[daniels@strictly mesa]$ echo $?
0
Use tail rather than tee, so it doesn't hide our exit status.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11309 >
2021-06-11 12:13:00 +00:00
Daniel Stone
1788017e23
ci/lava: Dump and artifact YAML again
...
Now it's safe to do so without leaking JWTs, dump the generated YAML to
make it easier to reproduce things.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11309 >
2021-06-11 12:13:00 +00:00
Daniel Stone
bbf5f412ab
ci/lava: Disable stdout/stderr buffering
...
Frequency of writes is unlikely to be a performance bottleneck, and
given the number of steps in between execution and the user, less
buffering is gooder.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11309 >
2021-06-11 12:13:00 +00:00
Daniel Stone
82631c7182
ci/lava: Add explicit fatal-error handler
...
Truth is relative in 2021, and Python's duck-typing means truthiness
isn't what you think it is. Use an explicit fatal-error handler to make
sure we crash out hard on failure, rather than hoping sys.exit() behaves
like you think it does, because it doesn't.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11309 >
2021-06-11 12:13:00 +00:00
Daniel Stone
4082fe7ce2
ci/lava: Remove unused arguments
...
Signed-off-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11309 >
2021-06-11 12:13:00 +00:00
Daniel Stone
d23c80eaee
ci/lava: Generate job name from lava-submit.sh
...
Just use the CI job name rather than open-coding the parameters.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11309 >
2021-06-11 12:13:00 +00:00
Daniel Stone
d0e5203855
ci/lava: Use per-job rootfs overlay for environment
...
Trying to get arbitrary strings suitably quoted for shell, embedded in a
YAML file, processed by Python templating, is like seven bad ideas all
embedded into one big can of bees.
Reuse the same script we use for bare-metal to generate the environment,
tar that up into a per-job overlay which is added to the
inter-pipeline-reusable rootfs built by the container jobs and the
intra-pipeline-reusable overlay built by the build jobs.
@anholt wrote a chunk of this - replacing the $ENV_VARS GitLab CI
variable with a Python loop across the POSIX job environment - in
!11192 , but this still had YAML quoting nightmares, and was more
needless duplication between LAVA and bare-metal.
The diff is large and annoying, but is mostly a sed job to get
ENV_VARS="FOO=bar BAZ=quux" into FOO: bar\nBAZ: quux.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Co-authored-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11309 >
2021-06-11 12:13:00 +00:00
Daniel Stone
0cccf00436
ci: Use JOB_ARTIFACTS_BASE for Piglit fails
...
It's not Piglit-specific per se, it's just another per-job artifact
upload which needs to be made visible through MinIO.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11309 >
2021-06-11 12:13:00 +00:00
Daniel Stone
d5d3dd7d97
ci: Add JOB_ARTIFACTS_BASE variable
...
Used for both LAVA (uploading results to MinIO because we don't yet have
non-ephemeral NFS storage) and Piglit (for the Tracie dashboard).
Signed-off-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11309 >
2021-06-11 12:13:00 +00:00
Daniel Stone
79a0220d28
ci: Make PIPELINE_ARTIFACTS_BASE a common variable
...
$minio/artifacts/$project/$pipeline/ is common between all our CI.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11309 >
2021-06-11 12:13:00 +00:00
Daniel Stone
0fd2320c94
ci/lava: Clean up variable naming, document them
...
Our variable names haven't aged very well. Rename them to make them more
clear and straightforward, especially when we bring in a third rootfs
element to download.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11309 >
2021-06-11 12:13:00 +00:00
Daniel Stone
561a1a9ad9
ci/lava: Wrap submission in a shell script
...
Just do what we're already doing but in a shell script, which will make
it less tedious to expand out later.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11309 >
2021-06-11 12:13:00 +00:00
Daniel Stone
d5262a933e
ci/lava: Cosmetic reordering of job init
...
Split our init up into: base system setup (filesystem mounts, network),
pulling the build artifacts, environment common to us and bare-metal,
bespoke environment, and finally running the tests.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11309 >
2021-06-11 12:13:00 +00:00
Daniel Stone
f3d69923a1
ci/lava: Pass JWT separately from environment variables
...
As the JWT is sensitive, we don't want to record or leak it anywhere.
Doing this lets us run --dump-yaml in normal execution so we can
artifact the result, as well as bringing us into line with bare-metal.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11309 >
2021-06-11 12:13:00 +00:00
Daniel Stone
5793cefff8
ci/lava: Move LAVA files to lava/
...
Signed-off-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11309 >
2021-06-11 12:13:00 +00:00